精华内容
下载资源
问答
  • 上构建的与python 3兼容的软件电话。 要使用流功能,请使用适合您需要的音频回调类。 有关示例,请参见AudioCallbacks.py 。 有关安装说明,请单击。 去做 使用音频回调在系统之间中继音频时,修复轻微的音频...
  • python cookbook(第3版)

    2016-01-06 22:24:38
    8.10 使用延迟计算属性 8.11 简化数据结构的初始化 8.12 定义接口或者抽象基类 8.13 实现数据模型的类型约束 8.14 实现自定义容器 8.15 属性的代理访问 8.16 在类中定义多个构造器 8.17 创建不调用init方法...
  • python opencv rtsp

    2020-03-24 18:00:09
    在用python的opencv 读取rtsp网络摄像头,然后再进行物体检测时,发先视频延迟厉害,cpu使用率高.而用usb摄像头或读取本地视频时,这个感觉不是特别严重.经过讨论和测试,发现一个很重要的原因,就是解码需要消耗大量的cpu...

    在用python的opencv 读取rtsp网络摄像头,然后再进行物体检测时,发先视频延迟厉害,cpu使用率高.而用usb摄像头或读取本地视频时,这个感觉不是特别严重.经过讨论和测试,发现一个很重要的原因,就是解码需要消耗大量的cpu资源!

    第一种方法:

        用两个不同的线程,一个接收每一帧图像,另一个线程处理图像,构造一个队列,使用两个线程处理程序

    错误列举

    [h264 @ 0x3bde1c0] error while decoding MB 30 21, bytestream -18

    查了资料是h264的传输花屏问题,网上的解决方案包括扩大缓冲区,以及C语言队列比较等方案.我的方法是掉线重连

    利用ffmpeg获取rtsp视频流并使用opencv播放(有c++代码实现)

    https://blog.csdn.net/CHNIM/article/details/80575859

     

     

    展开全文
  • 3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作 第4章 01 ...
  • 利用python写了简单测试主机是否存活脚本,此脚本不适于线上使用,因为网络延迟、丢包现象会造成误报邮件,那么后续会更新判断三次ping不通后再发报警邮件,并启用多线程处理。 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

      利用python写了简单测试主机是否存活脚本,此脚本不适于线上使用,因为网络延迟、丢包现象会造成误报邮件,那么后续会更新判断三次ping不通后再发报警邮件,并启用多线程处理。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    #!/usr/bin/env python
    # coding:UTF-8
    import time
    import pexpect
    import smtplib
    from email.mime.text import MIMEText
     
    mail_host = "smtp.163.com"         #定义smtp服务器
    mail_to = "baojingtongzhi@163.com"  #邮件收件人
    mail_from = "monitor@163.com"       #邮件发件人
    mail_pass = "123456"            #邮件发件人邮箱密码
     
    while True:
        def Mail(error_ip):
            date = time.strftime('%Y-%m-%d %H:%M:%S')
            msg = MIMEText("%s Ping %s failed from 255.252." % (date, error_ip))
            msg['Subject'= "Ping %s failed." % error_ip    #定义邮件主题
            msg['From'= mail_from
            msg['To'= mail_to
            try:
                = smtplib.SMTP()                 #创建一个SMTP()对象
                s.connect(mail_host, "25")             #通过connect方法连接smtp主机
                s.starttls()                    #启动安全传输模式
                s.login(mail_from,mail_pass)          #邮箱账户登录认证
                s.sendmail(mail_from, mail_to, msg.as_string())   #邮件发送
                s.quit()       #断开smtp连接
            except Exception, e:
                print str(e)
        ip_list = ['192.168.18.10',
            '192.168.18.11',
            '192.168.18.12']
        for ip in ip_list:
            ping = pexpect.spawn('ping -c 1 %s' % ip)
            check = ping.expect([pexpect.TIMEOUT,"1 packets transmitted, 1 received, 0% packet loss"],2)    #2代表超时时间
            if check == 0:
                Mail(ip)
                print "Ping %s failed,Have email." % ip
            if check == 1:
                print "Ping %s successful." % ip
        print "Sleep 10s..."
        time.sleep(10)

    #直接运行

    # python ping.py 

    Ping 192.168.18.10 successful.

    Ping 192.168.18.11 successful.

    Ping 192.168.18.12 successful.

    Sleep 10s...



    本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1649664,如需转载请自行联系原作者

    展开全文
  • 我们可以通过在脚本中设置等待的方式来避免由于网络延迟或浏览器卡顿导致的偶然失败,常用的等待方式有三种: 一、强制等待 time.sleep(5) 强制等待是利用python语言自带的time库中的sleep()方...

    在自动化测试脚本的运行过程中,webdriver操作浏览器的时候,对于元素的定位是有一定的超时时间,大致应该在1-3秒的样子,如果这个时间内仍然定位不到元素,就会抛出异常,中止脚本执行。我们可以通过在脚本中设置等待的方式来避免由于网络延迟或浏览器卡顿导致的偶然失败,常用的等待方式有三种:
    一、强制等待 time.sleep(5)

    强制等待是利用python语言自带的time库中的sleep()方法:

    import time

    time.sleep(3)

    sleep()顾明思义就是睡觉的意思,就是脚本一旦执行到条语句sleep(10)就睡10s,再执行后面的语句,他是一个强制等待的方式,使得整个脚本暂停。但是这种方式会导致这个脚本运行时间过长,不到万不得已尽可能少用,特殊情况下,时间设置最好不超过1秒,一般0.5秒。

    二、 隐式等待(全局)driver.implicitly_wait(20)

    隐式等待相比强制等待更智能,顾明思义,在脚本中我们一般看不到等待语句,但是它会在每个页面加载的时候自动等待;隐式等待只需要声明一次,一般在打开浏览器后进行声明。声明之后对整个drvier的生命周期都有效,后面不用重复声明。 implicitly_wait()方法用来等待页面加载完成(直观的就是浏览器tab页上的小圈圈转完),implicitly_wait(10),超时时间10s,10秒内一旦加载完成,就执行下一条语句;如果10秒内页面都没有加载完,就超时抛出异常。

    但是隐式等待依然存在一个问题,那就是程序会一直等待整个页面加载完成,也就是一般情况下你看到浏览器标签栏那个小圈不再转,才会执行下一步,但有时候页面想要的元素早就在加载完成了,但是因为个别js之类的东西特别慢,我仍得等到页面全部完成才能执行下一步。所以,这里webdriver提供了一种更加智能的等待方式:显示等待

    隐式等待的运用
    
    from selenium import webdriver
    import unittest
     
    class TestBase(unittest.TestCase):
        def setUp(self):
            self.driver=webdriver.Chrome()   #驱动浏览器
            self.driver.implicitly_wait(10)  #设置隐式等待
            self.driver.maximize_window()    #最大化浏览器
     
        def test(self):
            print('这是一个测试用例')
     
        def tearDown(self):
            self.driver.quit()
     
    if __name__=='__main__':
        unittest.main()

    三、显示等待 WebDriverWait(driver,30,0.1)

    显示等待与隐式等待相对,显示等待必须在每个需要等待的元素前面进行声明。是针对于某个特定的元素设置的等待时间,在设置时间内,默认每隔一段时间检测一次当前页面某个元素是否存在,如果在规定的时间内找到了元素,则直接执行,即找到元素就执行相关操作,如果超过设置时间检测不到则抛出异常。默认检测频率为0.5s,默认抛出异常为:NoSuchElementException

    用法例1:
    #引入WebDriverWait
    from selenium.webdriver.support.ui import WebDriverWait
    #引入expected_conditions类,并重命名为EC
    from selenium.webdriver.support expected_conditions as EC
    #引入By类
    from selenium.webdriver.common.by import By
     
    #设置等待
    wait = WebDriverWait(driver,10,0.5)
    wait.until(EC.presence_of_element_located((By.ID,'KW')))
    
    用法例2:
    loc = ("xpath", "//*[@text='允许']")
    e = WebDriverWait(driver, 1, 0.5).until(EC.presence_of_element_located(loc))
    e.click()

    显示等待需要用到两个类:

    WebDriverWait和expected_conditions两个类。

    1、WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)

    driver:浏览器驱动

    timeout:最长超时时间,默认以秒为单位

    poll_frequency:检测的间隔步长,默认为0.5s

    ignored_exceptions:超时后的抛出的异常信息,默认抛出NoSuchElementExeception异常。

    WebDriverWait()中的until()和until_not()方法

    until

    method: 在等待期间,每隔一段时间(__init__中的poll_frequency)调用这个传入的方法,直到返回值不是False

    message: 如果超时,抛出TimeoutException,将message传入异常

    until_not

    与until相反,until是当某元素出现或什么条件成立则继续执行,until_not是当某元素消失或什么条件不成立则继续执行,参数也相同。

    2、expected_conditions类

    各种类,达到某种条件,返回True和False

    presence_of_element_located 判断某个元素是否被加到了DOM树里,并不代表该元素一定可见

    visibility_of_element_located判断某个元素是否可见,可见代表元素非隐藏,并且元素的宽和高都不等于0

    关于显示等待,也可以自己写条件:

    #设置等待

    wait = WebDriverWait(driver,10,0.5)

    #使用匿名函数

    wait.until(lambda diver:driver.find_element_by_id('kw'))

    展开全文
  • 代码对 Python 2/3 均兼容 全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba 半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 python setup.py install 手动...
  • xxxx页的Redis:待更新...(最新首发公众号,导航更新可能有延迟) Hibernate AJAX ...... :coffee:Java基础 初学者学Java常遇到的问题,我都给你回答了! Java学习路线 学完SSM,该学什么呢? 泛型就这么简单 注解...
  • 爱可生测试团队成员,主要负责 DTLE 开源项目相关测试任务,擅长 Python 自动化测试开发,最近醉心于 Linux 性能分析优化的相关知识。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载...

    作者:刘安

    爱可生测试团队成员,主要负责 DTLE 开源项目相关测试任务,擅长 Python 自动化测试开发,最近醉心于 Linux 性能分析优化的相关知识。

    本文来源:原创投稿

    *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

    背景条件:

    • 使用 sysbench 压力工具对 10 张 1 万记录表进行增改删操作

    • 使用 TC 工具来模拟高延时,低带宽场景

    工具准备:

    1.tc # 模拟网络带宽受限以及增加延迟

    2.iperf3 # 验证网络带宽

    3.sysbench # 制造数据压力

    环境准备:

    1.DTLE 版本

    3.20.10.0

    2.服务器

    IP 用途
    10.186.18.123 源端数据库
    10.186.18.117 目标端数据库
    10.186.63.20 源端DTLE
    10.186.63.145 目标端DTLE

    3.在两台 DTLE 服务器上添加网络带宽限制以及增加延迟(经测试网络延迟配置只对发送有效,故需要在源端和目标端同时添加 TC 规则,每端延迟配置为预期延迟的一半)。

    #!/usr/bin/env bash
    # Name of the traffic control command.
    TC=`which tc`
    
    # The network interface we're planning on limiting bandwidth.
    IF=eth0             # Interface
    
    # Download limit
    DNLD=2mbit          # DOWNLOAD Limit
    
    # Upload limit
    UPLD=2mbit          # UPLOAD Limit
    
    # IP address of the machine we are controlling
    IP=10.186.63.145     # Host IP
    #IP=10.186.63.20
    
    # Network latency
    DELAY=125ms
    
    # Filter options for limiting the intended interface.
    U32="$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32"
    
    $TC qdisc add dev $IF root handle 1: htb default 1
    $TC class add dev $IF parent 1: classid 1:10 htb rate $DNLD
    $TC class add dev $IF parent 1: classid 1:20 htb rate $UPLD
    $TC qdisc add dev $IF parent 1:10 handle 10: netem delay $DELAY
    $TC qdisc add dev $IF parent 1:20 handle 20: netem delay $DELAY
    $U32 match ip dst $IP/32 flowid 1:10
    $U32 match ip src $IP/32 flowid 1:20
    

    4.验证配置生效

    • DTLE 源端服务器 ping DTLE 目标端服务器

    • DTLE 目标端服务器 ping DTLE 源端服务器

    • DTLE 源端到 DTLE 目标端网络带宽

      • DTLE 目标端服务器 iperf3 -s

      • DTLE 源端服务器 iperf3 -c 10.186.63.145

    • DTLE 目标端到 DTLE 源端网络带宽

      • DTLE 目标端服务器 iperf3 -s

      • DTLE 源端服务器 iperf3 -c 10.186.63.145 -R

    5.分别在服务器 10.186.63.20 和 10.186.63.145 部署 DTLE 组成集群

    场景一:不同网络延迟下数据库同步延迟

    • 网络带宽 2Mbits/s、数据压力 300QPS(binlog 产生速率为 1.47Mbit/s(约 15GB/天))持续压测 120 秒

    • 通过改变 TC 脚本来模拟不同网络延迟情况下对 DTLE 数据同步延迟的影响

    • job 配置中 GroupTimeout 的值为网络延迟的 2 倍减 10ms(例如:网络延迟为 100ms 则 GroupTimeout=190)

    • job 配置中 GroupMaxSize 的值为 512000 (500KB)

    注:图中复制延迟为 120 秒压力测试中的最高复制延迟时间

    小结:

    1.不同的网络延时,通过 DTLE 复制延迟在 2 秒内

    2.特殊限制场景:

    • 网络带宽不足的场景下,复制延时会线性增长

    场景二:极限带宽下,MySQL 原生复制和 DTLE 压力对比

    • 网络带宽 2Mbits/s、网络延迟 250ms

    • 在不产生线性递增复制延迟的条件下,所能支持的最大数据压力

    • job 配置中 GroupTimeout 的值为 490(网络延迟的 2 倍减 10ms)

    • job 配置中 GroupMaxSize 的值为 1024000 (1000KB)

    • jbo 配置中 ReplChanBufferSize 的值为 600

    注:718QPS 相当于每秒产生 452KB binlog(3.6Mbit/s),367 QPS 相当于每秒产生 231KB binglog(1.8Mbit/s)。

    小结:

    1.在网络受限的条件下,MySQL 原生复制在 1.8Mbit/s 的压力下,到达最高压力

    2.在网络受限的条件下,DTLE 复制在 2.7Mbit/s 的压力下,到达最高压力

    3.DTLE 利用分组和压缩,在网络受限场景下,能承载更高的复制压力,更好的适应窄带宽的场景

    场景三:带宽不受限,MySQL 原生复制和 DTLE 使用带宽对比

    • 网络延迟 250ms、无带宽限制

    • 在不同数据压力下,传输占用的网络带宽

    • job 配置中 GroupTimeout 的值为 490

    • job 配置中 GroupMaxSize 和 ReplChanBufferSize 的值随压力增加而增大

    小结:

    1.完成同等数据量的传输复制,DTLE 相比 MySQL 原生复制提供更低的带宽占用;带宽占用率最高是 MySQL 原生复制的近 1/3。

    展开全文
  • 6.使用TTCP进行网络传输性能测试.mkv 7.阻塞IO下的TTCP实验.mkv 8.TCP自连接.mkv 9.扩展练习.mkv 10.时钟概述.mkv 11.时钟精确度和校准.mkv 12.网络时间同步.mkv 13.Roundtrip代码分析.mkv 14.其他测试方案.mkv 15....
  • python3 scripts/glasto2020.py 需要网络驱动程序-仅通过chromedriver( )测试 查看示例和脚本目录以了解如何使用它。 跑: python setup.py install 然后通过以下方式设置驱动程序的路径: export ...
  • 我们可以通过在脚本中设置等待的方式来避免由于网络延迟或浏览器卡顿导致的偶然失败,常用的等待方式有三种: 一、强制等待  强制等待是利用python语言自带的time库中的sleep()方法: from ...
  • PyTorch:具有强大CPU加速功能,包含张量和动态神经网络Python库。 Recast/Detour:(3D)导航网格生成器和路径查找,主要用于游戏。 TensorFlow:使用数据流图进行数值计算的开源软件库。 CNTK:Microsoft ...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    传统的手工方式对图书信息的管理已越来越不能适应社会发展的需要,尤其是随着计算机网络和Internet的普及,运用先进的信息管理系统对信息进行科学化和网络化管理,已成为图书信息管理系统发展的趋势。 系统的研发...
  • 3章 Hadoop分布式文件系统 HDFS的设计 HDFS的概念 数据块 namenode和datanode 命令行接口 基本文件系统操作 Hadoop文件系统 接口 Java接口 从Hadoop URL中读取数据 通过FileSystem API读取数据 写入数据 目录 查询...
  •  Python版本  Hadoop Pipes  编译运行 第3章 Hadoop分布式文件系统  HDFS的设计  HDFS的概念  数据块  namenode和datanode  命令行接口  基本文件系统操作  Hadoop文件系统  接口  Java接口  从Hadoop ...
  • 提供对自动测试Go包的支持 time 提供测量和显示时间的功能 unicode Unicode编码相关的基础函数 archive tar 实现对tar压缩文档的访问 zip 提供对ZIP压缩文档的读和写支持 compress bzip2 实现了bzip2解...
  • HanLP1.x的Python接口,支持自动下载与升级HanLP1.x,兼容py2、py3。内部算法经过工业界和学术界考验,配套书籍《自然语言处理入门》已经出版,欢迎查阅随书代码或点击在线运行。基于深度学习的HanLP2.x已于2020年初...
  • 3、Net目录,网络绿色版程序包,InstallWrl.bat执行安装中间件,RemoveWrl.bat执行卸载中间件,标准版功能测试请参考TestWrl.txt; 4、ZbaSDK目录,网络版SDK,包含开发接口说明、开发小程序范例工程、小程序打包...
  • 游戏之旅--我的编程感悟.pdf

    热门讨论 2010-09-12 15:55:10
    3.5.4 Python、Lua、更多 65 第4章 前Windows 时代 67 4.1 386保护模式 68 4.2 VGA 到VESA 70 4.2.1 超越 BGI 70 4.2.2 VGA 72 4.2.3 VESA 标准 72 4.2.4 花絮 74 4.3 保护模式下的开发工具 75 4.4 闲话 ...
  • 3.5.4 Python、Lua、更多 65 第4章 前Windows 时代 67 4.1 386保护模式 68 4.2 VGA 到VESA 70 4.2.1 超越 BGI 70 4.2.2 VGA 72 4.2.3 VESA 标准 72 4.2.4 花絮 74 4.3 保护模式下的开发工具 75 4.4 闲话 Allegro 81 ...
  • 3.5.4 Python、Lua、更多 65 第4章 前Windows 时代 67 4.1 386保护模式 68 4.2 VGA 到VESA 70 4.2.1 超越 BGI 70 4.2.2 VGA 72 4.2.3 VESA 标准 72 4.2.4 花絮 74 4.3 保护模式下的开发工具 75 4.4 闲话 Allegro 81 ...
  • effective-java-3rd-chinese:Effective Java 中文版(第 3 版),Java 四大名著之一,本书一共包含 90 个条目,每个条目讨论 Java 程序设计中的一条规则。这些规则反映了最有经验的优秀程序员在实践中常用的一些...
  • 切换网络请求方式,比如公司正式项目就有:正式线上环境,测试环境,仿真环境等等 那么如何统一切换呢,直接修改项目根目录下的url.properties文件即可。由于该项目众多接口是网络接口,因此该项目只是提供切换环境...
  • 29.通过线程调度延迟来探测CPU性能抖动【已完成】 30.MySQL用户命名规范【已完成】 31.删除MySQL用户帐号 - DROP USER语句简介【已完成】 32.Spring Boot 实战教程 33.数据结构与集合 34.Word创建目录与导出技巧...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

python3测试网络延迟

python 订阅