不同网络情况对测试脚本的影响

不同,网络,情况,测试,脚本,影响 · 浏览次数 : 4

小编点评

## 网络情况对测试脚本的影响测试脚本 以下是不同网络情况对测试脚本的影响测试脚本: **1. 原生网络:** ```python import redisimport timeitr = redis.Redis(host='10.110.x.x', port=36379, password='xxxx',db=0) def func() : for i in range(1000) : r.set('foo1', 'bar') r.set('foo2', 'bar') r.set('foo3', 'bar') r.set('foo4', 'bar') r.set('foo5', 'bar') for i in range(3) : print(timeit.timeit(stmt=func, number=1)) r.close() ``` **2. VPN网络:** ```lua import redisimport timeitr = redis.Redis(host='10.110.x.x', port=36379, password='xxxx',db=0)keys = ['key1', 'key2', 'key3', 'key4', 'key5']values = ['value1', 'value2', 'value3', 'value4', 'value51241234']script = "\"\"for i=1,#KEYS do redis.call('SET', KEYS[i], ARGV[i]) end\"\"\compiled_script = r.register_script(script) def func() : for i in range(1000) : result = compiled_script(keys=keys, args=values) print(timeit.timeit(stmt=func, number=1)) print(r.get('key5'))r.close() ``` **3. 虚拟网络:** ```python import redisimport timeitr = redis.Redis(host='127.0.0.1', port=6379, password='xxxx',db=0) def func() : for i in range(1000) : r.set('foo1', 'bar') r.set('foo2', 'bar') r.set('foo3', 'bar') r.set('foo4', 'bar') r.set('foo5', 'bar') for i in range(3) : print(timeit.timeit(stmt=func, number=1)) r.close() ``` **注意:** * 以上示例仅供参考,实际脚本可能需要根据具体需求进行调整。 * 不同的网络情况会导致测试结果的差异,具体取决于网络状况。 * 建议在进行性能测试时,选择合适的网络环境和测试用例。

正文

不同网络情况对测试脚本的影响


测试脚本:

原生: 
import redis
import timeit
r = redis.Redis(host='10.110.x.x', port=36379, password='xxxx',db=0)
def func() :
    for i in range(1000) :
        r.set('foo1', 'bar')
        r.set('foo2', 'bar')
        r.set('foo3', 'bar')
        r.set('foo4', 'bar')
        r.set('foo5', 'bar')

for i in range(3) :
    print(timeit.timeit(stmt=func, number=1))
r.close()

lua:
import redis
import timeit

r = redis.Redis(host='10.110.x.x', port=36379, password='xxxx',db=0)

keys = ['key1', 'key2', 'key3', 'key4', 'key5']
values = ['value1', 'value2', 'value3', 'value4', 'value51241234']

script = """
for i=1,#KEYS do redis.call('SET', KEYS[i], ARGV[i]) end
"""

compiled_script = r.register_script(script)
def func() :
    for i in range(1000) :
        result = compiled_script(keys=keys, args=values)
for i in range(3) :
    print(timeit.timeit(stmt=func, number=1))
print(r.get('key5'))
r.close()

VPN

Redis原生命令:
51.1680905
50.8700407
52.46671039999998

Redis Lua脚本
9.800387899999999
11.110442400000002
10.610073499999999

公司无线

Redis原生命令
32.1694002
30.7110252
35.90106370000001

Redis Lua脚本
4.7636107999999995
4.8524428
4.843981100000001
注意 公司无线网络一开始很不稳定, 第一次测试结果为:
17.1589119
9.218861799999999
4.9797340000000005

公司有线

Redis原生命令
4.9240028
4.730359600000001
4.9162759000000005

Redis Lua脚本
0.9259070999999999
0.8689242000000001
0.9006865

不通网络情况的性能对比

image

与不同网络情况对测试脚本的影响相似的内容:

不同网络情况对测试脚本的影响

# 不同网络情况对测试脚本的影响 # 测试脚本: ``` 原生: import redis import timeit r = redis.Redis(host='10.110.x.x', port=36379, password='xxxx',db=0) def func() : for i in

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(14)-Charles过滤网络请求

1.简介 在日常工作测试中,经常要抓包看请求的request,response是不是传的对,返回的字段值对不对,众多的请求中看得眼花缭乱,如何找到自己想要的请求,那么我们就需要过滤请求。Charles有4种过滤方式,用那一种都可以,看个人喜好了。 2.Charles过滤方式 大部分情况下网络请求数量

[转帖]Linux服务器上监控网络带宽的18个常用命令-2

https://www.cnblogs.com/fan-yuan/p/9231501.html 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。 这些工具使用不同的机制来制作流量报告。

[转帖]性能调优要根据自己的情况逐渐调整,往往结合系统监控和性能压力测试一起进行。不可不调,不可乱调。

你可以在https://www.kernel.org/doc/html/latest/admin-guide/sysctl/index.html 官方去看也有文档 性能调优有两个原则:遵从由上之下,木板补板的原则。 性能调优遵循由上至下的原则。 业务逻辑->缓存服务器->调度器->网络容器->中间件

Selenium4自动化测试3--元素定位By.NAME,By.LINK_TEXT 和通过链接部分文本定位,By.PARTIAL_LINK_TEXT,css_selector定位,By.CSS_SELECTOR

4-通过名称定位,By.NAME name属性为表单中客户端提交数据的标识,一个网页中name值可能不是唯一的。所以要根据实际情况进行判断 import time from selenium import webdriver from selenium.webdriver.common.by imp

数据安全始终是一个不可忽视的问题

最近,自己的一个测试环境,遭遇了hacker攻击。 具体是oracle用户被攻破了,原因是该环境通过DDNS连接到了外网,而因为只是测试,没有注意安全防范,设置的口令过于简单。 下面记录下,也作为警醒。 1.发现资源使用异常 CPU告警,使用top去查询资源使用情况发现CPU使用率非常高,达到94%

同步时间,为什么我选 Chrony 而不是 NTP ?

初识 chrony chrony 是网络时间协议(Network Time Protocol )的通用实现 它不但可以提供保持系统时间与 NTP 时钟服务器同步的服务,还能作为 NTP 服务器对其他服务器提供时间同步服务 chrony 特点: 任何情况下都能稳定良好运行(例如不稳定的网络中、不稳定的

[转帖]redis脑裂是什么?如何解决

这也是一个常见面试题,对redis集群部署不熟悉的同学,可能压根没听过这个名词qvq 什么是redis脑裂 下面我们解释一下什么是redis脑裂: 关于reids集群会由于网络等原因出现脑裂的情况,所谓的集群脑裂就是,由于redis master节点和redis salve节点和sentinel处于

[转帖]什么情况下适合用UDP协议,什么情况下适合用TCP协议?

TCP与UDP基本区别 基于连接与无连接TCP要求系统资源较多,UDP较少;UDP程序结构较简单流模式(TCP)与数据报模式(UDP);TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 UDP应用场景: 面向数据报方式网络数据大多为短消息拥有大量Client对数据安全性无特殊要求

[转帖]什么情况下适合用UDP协议,什么情况下适合用TCP协议?

TCP与UDP基本区别 基于连接与无连接TCP要求系统资源较多,UDP较少;UDP程序结构较简单流模式(TCP)与数据报模式(UDP);TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 UDP应用场景: 面向数据报方式网络数据大多为短消息拥有大量Client对数据安全性无特殊要求