您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > 小程序

Python小程序网络耗时监控

时间:2020-08-05 10:57:21  来源:  作者:

近日接到人行通知,要求对金融行业IPv6规模部署情况进行专项排查,其中一项内容就是针对门户网站连接稳定性进行监控,具体要求就是:

金融服务机构提供正式报告说明稳定性测试数据。(不少于15天时间,每隔1小时发起门户网站连接,记录连接失败率),应网络同事要求,结合自己最近学习的Python,写了如下程序,将执行结果保存到文件中,源码如下,仅供Python爱好者一起分析学习:

************************************************

#coding=utf-8

import requests

import csv

import datetime

import time

from requests.exceptions import RequestException

from threading import Timer

#本程序运行每间隔指定时间,产生一条数据,数据文件为csv格式,每行文件内容为:

#当前时间,联通IPv6耗时,联通IPv4耗时,联通耗时结果,电信IPv6耗时,电信IPv4耗时,电信耗时结果

#是否满足要求公式:IPv6耗时-IPv4耗时<75ms,通过sucess;IPv6耗时-IPv4耗时>75ms,不通过fail

#定义获取时间方法

def get_time():

url1 = 'http://[xx:xx:xxxx::x]'#门户网站联通6,需要调整为自己的IP

url2 = 'http://xx.xx.xx.xx' #门户网站联通4,需要调整为自己的IP

url3 = 'http://[xx:xx:xx::x]' #门户网站电信6,需要调整为自己的IP

url4 = 'http://xx.x.xx.xx' #门户网站电信4,需要调整为自己的IP

destList = [url1,url2,url3,url4]

#print(destList)

now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

timeList = []

dataList = []

#当前时间

dataList.Append(str(now_time))

timeOut = 'timeOut'

timePass = 'sucess'

timeFail = 'fail'

other = 'none'

#IPv6-IPv4耗时最低合格时间75ms

timeLimit = 75

#获取每个请求的时间ms,超时数组则存放timeOut

for url in destList:

#print(url)

try:

reqDest = requests.get(url)

timeList.append(reqDest.elapsed.total_seconds()*1000)

except (RequestException):

timeList.append(timeOut)

#准备数据行

#联通线路请求耗时数据

if(timeOut != timeList[0]):

dataList.append(str(round(timeList[0],3))+'ms')

else:

dataList.append(str(timeList[0]))

if(timeOut != timeList[1]):

dataList.append(str(round(timeList[1],3))+'ms')

else:

dataList.append(str(timeList[1]))

if(timeOut != timeList[0] and timeOut != timeList[1]):

ltTimeLast= timeList[0]-timeList[1]

if(ltTimeLast < timeLimit):

dataList.append(timePass)

else:

dataList.append(timeFail)

else:

dataList.append(other)

#电信请求耗时数据

if(timeOut != timeList[2]):

dataList.append(str(round(timeList[2],3))+'ms')

else:

dataList.append(str(timeList[2]))

if(timeOut != timeList[3]):

dataList.append(str(round(timeList[3],3))+'ms')

else:

dataList.append(str(timeList[3]))

if(timeOut != timeList[2] and timeOut != timeList[3]):

dxTimeLast= timeList[2]-timeList[3]

if(dxTimeLast < timeLimit):

dataList.append(timePass)

else:

dataList.append(timeFail)

else:

dataList.append(other)

return dataList

#定义写文件title方法

def writeFileTitle():

with open('IPv6-IPv4TimeResult.csv', "a+") as file:

titleList = ['当前时间','联通IPv6耗时','联通IPv4耗时','联通耗时结果','电信IPv6耗时','电信IPv4耗时','电信耗时结果']

csv_file = csv.writer(file)

csv_file.writerow(titleList)

file.close()

#定义增量写一行数据方法

def writeReq_time():

with open('IPv6-IPv4TimeResult.csv', "a+") as file:

begin_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

print(begin_time + ' begin to request')

csv_file = csv.writer(file)

list = []

list.append(get_time())

datas = list

csv_file.writerows(datas)

end_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

print(end_time + ' end to write')

file.close()

#主程序入口

#调用文件title

writeFileTitle()

#线程延迟时间1s执行

timer_interval=1

#线程间隔3600s执行

timer_sleep = 3600

t=Timer(timer_interval,writeReq_time)

t.start()

while True:

time.sleep(timer_sleep)

writeReq_time()

*******************************

程序执行界面及结果如下:

Python小程序网络耗时监控「原创」

程序运行界面


Python小程序网络耗时监控「原创」


Tags:Python小程序   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
近日接到人行通知,要求对金融行业IPv6规模部署情况进行专项排查,其中一项内容就是针对门户网站连接稳定性进行监控,具体要求就是:金融服务机构提供正式报告说明稳定性测试数据。...【详细内容】
2020-08-05  Tags: Python小程序  点击:(113)  评论:(0)  加入收藏
▌简易百科推荐
一、项目背景随着小程序在用户规模和商业化上取得的极大成功,各大平台都推出了自己的小程序。然而这些平台的小程序开发在语法上又不尽相同,不同平台小程序代码的维护需要投入...【详细内容】
2021-11-05  携程技术    Tags:小程序   点击:(65)  评论:(0)  加入收藏
作者:灰灰来源:JS每日一题 一、背景传统的web开发实现登陆功能,一般的做法是输入账号密码、或者输入手机号及短信验证码进行登录服务端校验用户信息通过之后,下发一个代表登录态...【详细内容】
2021-10-29  Nodejs开发    Tags:微信小程序   点击:(43)  评论:(0)  加入收藏
总结列举微信小程序开放能力清单 硬件能力 蓝牙 NFC读写 连接WIFI设备 开放能力 ...【详细内容】
2021-09-27  软件开发分享    Tags:微信小程序   点击:(60)  评论:(0)  加入收藏
核心商城(CoreShop)介绍核心小程序商城系统(CoreShop) 是基于 Asp.Net 5.0、Uni-App开发、支持可视化布局的小程序商城系统;前后端分离,支持分布式部署,跨平台运行;拥有分销、代理、...【详细内容】
2021-07-20  码农也有梦想    Tags:小程序商城   点击:(115)  评论:(0)  加入收藏
介绍Vue3发布已经有一段时间了,从目前来看,其生态还算可以,也已经有了各种组件库给予了支持,但是不管是Vue3还是Vue2都无法直接用来开发小程序,因此国内一些技术团队针对Vue开发...【详细内容】
2021-07-13  爱分享Coder    Tags:小程序   点击:(203)  评论:(0)  加入收藏
首先明确几个概念1. W3C:指万维网联盟(World Wide Web Consortium),是一个国际的标准的制定机构。2. H5(HTML5,HyperText Markup Language 5的缩写),HTML5 是由W3C制定的新HTML标...【详细内容】
2021-07-06  畅游零和一的海洋    Tags:微信小程序   点击:(153)  评论:(0)  加入收藏
在开发微信公众号时,需要不时请求URL和数据封装。为了不做重复的工作。提取公共部分进行封装。产生了相应的公众类。今天先来写下请求类,代码如下:public class HttpRequestP...【详细内容】
2021-06-16  java浮萍  今日头条  Tags:公共类   点击:(134)  评论:(0)  加入收藏
小程序上线后,改版了很多次,包括一些 Api 接口也有改动。如果你学习一个很久之前的小程序项目是没有意义的,本文推荐的小程序都是最近有更新的。相信在你学习、部署的过程中,不...【详细内容】
2021-06-08    程序猿久一  Tags:微信小程序   点击:(206)  评论:(0)  加入收藏
自从2019年微信公开课Pro在微信之夜演示《跳一跳》以来,微信小游戏已经不知不觉走过的三年,这三年中我们可以明显看到微信对小游戏的扶持,对于微信开发者来说,微信小游戏开发以...【详细内容】
2021-05-25  开课吧科科  今日头条  Tags:微信小游戏   点击:(212)  评论:(0)  加入收藏
学习编程从hello world开始。学习微信小程序开发首先要安装一个微信开发者工具,官网上免费下载童叟无欺,下载完傻瓜式安装即可。 双击微信开发者工具,然后选择小程序,然后点击...【详细内容】
2021-05-12  程序员fearlazy  fearlazy  Tags:微信小程序   点击:(268)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条