性能测试
文章平均质量分 88
涉及到loadrunner,jmeter,locust等工具的使用以及在性能测试中遇到的种种问题
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
胡桓
顶级测试工程师
展开
-
用python打造自己的测试第三方包(1)
一直以来我们都是通过pip install去下载各个第三方包来供自己使用,那小伙伴们是否也曾想过打造一个自己的第三方包来供其他人来使用呢? 我想原创 2021-05-28 18:04:19 · 431 阅读 · 0 评论 -
python 各种多线程多进程写法盘点
目录1 threading.Thread1.1原始写法:1.2 内部实现简单介绍1.3 重写run方法,打造自己的Thread作为一个性能测试老玩家,今天我打算来盘点盘点各个python的关于性能测试需要用到的模块,来比较比较1 threading.Thread表示控制线程的类。这个类可以以有限的方式安全地子类化。有两种方法可以指定活动:通过向构造函数传递一个可调用对象,或者通过覆盖子类中的run()方法下面我们上测试代码:先把时间计算的单独贴出来:# -*-原创 2021-04-30 14:40:50 · 375 阅读 · 0 评论 -
python之rabbitmq使用大全(pika)
1 最简单的生产消费方式send.py# -*- coding: utf-8 -*-""" 时间 : 2021-04-19 14:45 作者 : 胡桓 文件名 : send.py 邮箱: 1641143982@qq.com"""import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))channel = connection.cha原创 2021-04-23 15:39:18 · 498 阅读 · 1 评论 -
locust对应源码文件查找剖析(5)
locust之启动方式查找locustfile文件的对应源码剖析原创 2020-09-04 11:13:51 · 328 阅读 · 0 评论 -
tcpdump使用方法
简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动tc转载 2017-01-11 10:27:28 · 1515 阅读 · 0 评论 -
性能测试关注的mysql变量
MySQL变量很多,其中有一些MySQL变量非常值得我们注意,下面就为您介绍一些值得我们重点学习的MySQL变量,供您参考。1 Threads_connected 首先需要注意的,想得到这个变量的值不能show variables like 'Threads_connected';而是show status like 'Threads_connected'(下面的变值也是这样的);转载 2016-10-26 11:25:49 · 311 阅读 · 0 评论 -
MYSQL实践心得:table_open_cache的设置
MYSQL默认的table_open_cache为64,这个数值是偏小的,如果max_connections较大,则容易引起性能问题。表现:数据库查询效率慢,show processlist发现比较多的查询正在opening table。进一步确认,执行以下语句:mysql>show global status like 'open%tables%';原创 2016-10-26 11:24:50 · 14158 阅读 · 0 评论 -
一个问题引发对Linux swap和内存的思考
今天忽然发现我的swap没有使用,如何检查swap的使用情况呢。[root@node5 ~]# free -m total used free shared buffers cachedMem: 249 219 30 0转载 2016-09-29 15:47:45 · 679 阅读 · 0 评论 -
寻找性能测试瓶颈--并发数、TPS、响应时间
1. 三者关系图2. 结论小并发数区间测试,找拐点(如:100-300并发持续5分钟,可以发现上图中200并发时出现拐点)大并发数区间测试,找符合需求的最大并发数(如:1800-2200并发持续5分钟,可以找到满足响应时间在3秒内的最大并发数2000)利用最大并发数,压测环境在极限时的资源消耗(压测时间1小时以内)80%最大并发数,进行稳定性测转载 2016-09-26 16:55:42 · 4632 阅读 · 0 评论 -
show status查看各种状态
要查看MySQL运行状态,要优化MySQL运行效率都少不了要运行show status查看各种状态,下面是参考官方文档及网上资料整理出来的中文详细解释,不管你是初学mysql还是你是mysql专业级的dba,这都是值得看的.状态名作用域详细解释Aborted_clientsGlobal由于客户端没有正确关闭连接导致客户端终止而中断转载 2016-10-10 13:48:38 · 2447 阅读 · 0 评论 -
Linux查看系统配置常用命令
Linux查看系统配置常用命令 系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出所有USB设备# l转载 2016-09-19 14:39:47 · 4122 阅读 · 0 评论 -
loadrunner的响应时间
1. 响应时间 事务是指用户在客户端做一种或多种业务所需要的操作集,通过事务函数可以标记完成该业务所需要的操作内容;另一方面事务可以用来统计用户操作的响应时间,事务响应时间是通过记录用户请求的开始时间和服务器返回内容到客户端时间的差值来计算用户操作响应时间的,如图1所示。这里的响应时间不包含客户端GUI时间(例如浏览器解释页面所消耗的时间)。 前面说响应时间是用户请求发出和转载 2016-10-17 16:13:11 · 1847 阅读 · 0 评论 -
Windows 下单机最大TCP连接数
在做Socket 编程时,我们经常会要问,单机最多可以建立多少个 TCP 连接,本文将介绍如何调整系统参数来调整单机的最大TCP连接数。Windows 下单机的TCP连接数有多个参数共同决定,下面一一介绍:最大TCP连接数[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \Tcpip \Parameters]转载 2016-10-17 16:20:21 · 1031 阅读 · 0 评论 -
Git使用教程
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快转载 2016-11-24 09:56:46 · 1008 阅读 · 0 评论 -
Python标准输出重定向
声明本文基于Python2.7版本,介绍常见的几种标准输出(stdout)重定向方式。显然,这些方式也适用于标准错误重定向。本文同时也发布于作业部落,视觉效果略有不同。一. 背景知识在Python中,文件对象sys.stdin、sys.stdout和sys.stderr分别对应解释器的标准输入、标准输出和标准出错流。在程序启动时,这些对象的初值由sys.__stdin__、sys.转载 2016-12-19 12:07:09 · 7760 阅读 · 0 评论 -
windows下使用命令动态输出tomcat日志
最近测试遇到一个问题,我们的项目使用windows2003服务器,tomcat+oracle数据库。项目中有两个测试人员,经常需要查看日志定位问题,但是有两个问题: 1.windows下tomcat输出日志跟linux下不一样,linux可以远程连接使用tail命令很轻松就可以看到日志,并且可以随时停止。但windows的日志只输入到控制台,不输出到日志文件。这就使得只有开着控制台才转载 2017-04-10 09:14:04 · 2720 阅读 · 3 评论 -
loadrunner的socket协议各函数解释,使用方法和场景(慢慢补充,见谅)
lrs_accept_connection: 接受套接字上的连接lrs_ascii_to_ebcdic: 将缓冲区数据的ASCII格式EBCDIC格式lrs_cleanup: 终止Winsock DLL的使用lrs_close_socket : 关闭打开的套接字lrs_create_socket : 初始化套接字lrs_decimal_to_hex_string : 将整数转换原创 2017-05-08 18:25:13 · 4469 阅读 · 0 评论 -
loadrunner资源监控linux指标说明
1.CPU指标1) Average load-----平均负载 第一种分析方法:上一分钟同时处于“就绪”状态的平均进程数,个数 * 核心数 * 0.7如果这个数字大于CPU的数据,至少有一个线程要等待CPU;如果这个数除以CPU的数目,结果高于5的时候就表明系统在超负荷运转了.相当于执行vmstat查询出来的r列的值(runable threads,可运行的线程)转载 2017-05-04 16:42:23 · 1631 阅读 · 0 评论 -
如何设置普通用户的ulimit值
如何设置普通用户的ulimit值1、vim /etc/profile增加 ulimit -n 10240source /etc/profile 重新启动就不需要运行这个命令了。2、修改/etc/security/limits.conf增加* hard nofile 10240 \\限制打开文件数102403、测试,新建普通用户,切换到普通用户使用ulit -a 查看是转载 2017-07-19 10:46:06 · 2044 阅读 · 0 评论 -
datafactory案例分析(4个)
案例说明: 案例一: 外健字段的产生 案例二: 外部数据(TXT文档)的引入 案例三: 单据编号的产生方法 案例四: 主从表关系数据的建立 1 外健字段的产生 说明:外健是数据库关系中最普通也是使用最平凡的约束方式,我们可以通过二种方式来实现外健约束. 一种是Insertvalue fro转载 2016-06-13 15:00:42 · 4091 阅读 · 6 评论 -
linux搭建svn服务器
安装步骤如下:1、yum install subversion2、输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件。输入 svn --help可以查看svn的使用方法,如下图。3、创建svn版本库目录mkdir -p /var/svn/转载 2016-07-08 11:43:25 · 283 阅读 · 0 评论 -
loadrunner监控centos6方法
以前看别人写的,用restatd守护进程去监听,然而当我真正做项目时,压根没用。原因无非是端口是内网,而我是通过外网去监听,而外网暴露的端口压根就没這个,你指望去找运维给你开這个端口,loadrunner监听端口貌似是9999默认的,我想给你说,申请是个麻烦事。没办法,谁让咋是通过vpn远程隧道才进的了这服务器的。。。。。。你要去loadrunner改监听端口?那不好意思,我在网上反正是没找到原创 2016-08-18 15:27:06 · 988 阅读 · 0 评论 -
loadrunner : 错误.27727
Error -27727: Step download timeout (120 seconds)错误提示:Error -27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Resource Page Timeout is a Warning"原创 2016-08-18 15:25:21 · 4675 阅读 · 0 评论 -
loadrunner: 错误 27791
Action.c(9): Continuing after Error -27791: Server "idctest.gyyx.cn" has shut down the connection prematurely出现上面的情况分析 有以下的几种的可能1.sqlserver数据库最大连接数设置太小也是一个原因2.请求时间太长而超时的话也会报这个错误。3.Req原创 2016-08-18 15:23:43 · 10489 阅读 · 0 评论 -
loadrunner : 错误27740
1. Action.c(18): Continuing after Error -27740: Overlapped transmission of request to "idc0.gyyx.cn" for URL "http://idc0.gyyx.cn/Test/GetGUIDTest.aspx" failed: WSA_IO_PENDING也是自动关联 导致的问题;解决(1转载 2016-08-18 15:22:08 · 1343 阅读 · 0 评论 -
loadrunner: 错误27796
因为负载生成器的性能太好,发数据包特别快,服务器也响应特别快,从而导致负载生成器的机器的端口在没有timeout之前就全部占满了。在全部占满后,就会出现上面的错误。执行netstat –na命令,可以看到打开了很多端口。所以就调整TCP的time out。即在最后一个端口还没有用到时,前面已经有端口在释放了。成功的解决方法:在注册表HKEY_LOCAL_MACHINE\SYSTEM\C转载 2016-08-18 15:21:19 · 697 阅读 · 0 评论 -
loadrunner : 错误26374
Action.c(21): Continuing after Error -26374: The above "not found" error(s) may be explained by header and body byte counts being 0 and 0, respectively.解决方法:有时候一些不必要的关联也会引起这个问题,1.首先看下脚本中有没有使原创 2016-08-18 15:18:41 · 6351 阅读 · 0 评论 -
loadrunner的linux版安装方法,主要为了装负载机,哈哈哈
1.到官方网站到HP官网下载Load Generator 安装文件Software,_Load_Generator_11.00_T7330-15010.iso或者其它网站下载loadrunner-11-load-generator.iso2.确认linux系统是否安装c++ ,需要下载安装compat-libstdc__-33-3.2.3-47.fc4.i386.rpm原创 2016-08-18 11:54:54 · 5531 阅读 · 0 评论 -
loadrunner实例,具体操作步骤,需要的请留言
概要介绍LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不转载 2016-08-16 16:53:25 · 2127 阅读 · 1 评论 -
LoadRunner编写Socket协议脚本方法
通过LoadRunner编写Windows Socket协议测试脚本,总体说来,比较简单。就像把大象放进冰箱一样,总共分三步: 第一步:把冰箱门打开//建立到服务端的连接rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.64.64.23:8988转载 2016-08-04 11:43:11 · 1137 阅读 · 0 评论 -
loadrunner中关于参数化里的迭代,出现,一次的理解
不多说了,就9种组合方式,一个一个举例说明一下,這里只举例子,具体文字解释请自行百度1.顺序+每次迭代 如:10个用户并发测试,总共准备的参数有20个,然后并发的时候每个虚拟用户跑22遍,则具体取值情况为:所有用户,第1次循环取第1个值,第2次循环取第2个值........第20次循环取第20个值,第21次循环取第1个值,第22次循环取第2个值。也就是说对于每一个并发的用户来说都是按照这原创 2016-06-17 08:58:34 · 2197 阅读 · 2 评论 -
Loadrunner编写socket性能测试脚本简述
一、概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力。其中就有此次要讨论的socket套接字操作。二、socket概述 socket是操作系统中I/O系统的网络延伸部分,它扩展了操作系统的基本I/O到网络通信,使进程和机器之间的通信成为可能。如果想完全地理解socket在Loadrunner中原创 2016-08-09 09:43:02 · 13536 阅读 · 0 评论 -
LoadRunner11压力测试时遇到问题及解决办法
1、LoadRunner超时错误:在录制Web服务器端,如果超过120秒服务器协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。原创 2016-09-12 16:08:24 · 5634 阅读 · 0 评论 -
linux性能分析常用命令
性能测试 常用命令uptime 查看服务器运行了多长时间以及有多少用户登录top 命令显示处理器的活动状况,相当于win的任务管理器vmstat 提供了processes,memory ,paging,block ,I/O ,traps 和cpu 的活动状况 vmstat 1 10free 显示空闲和使用的内存数量,包括swap,同时也宝航内核使用的缓存。pmap转载 2016-08-18 15:40:18 · 284 阅读 · 0 评论 -
loadrunner参数化和vuser的关系
不多说了,直接实验解释原因:毕竟参数化基本也是和vuser搭配起来工作的 例:lr_tinke_time(aoti(lr_eval_string("{thinktime}")));就用這个函数来玩场景,意思我想大家都明白。thinktime這个参数我们给他赋值1,2,3,4,5.场景里面,vuser就设置6个,好分析,首先参数化方式我们选择sequential,each itera原创 2016-08-19 14:53:14 · 3436 阅读 · 0 评论 -
小记录一下,nmon内存监控要的数据
MemTotal:显示当前服务器物理内存大小,本服务器有8063180 KB≈7874 MB左右。MemFree:显示当前服务器的空闲内存大小,本服务器有5052336 KB≈4934 MB左右。Buffers:显示当前服务器Buffer(在内存中要写到磁盘上的)缓存的大小,本服务器有459108 KB≈448 MB左右,注意,这里的数值仅是采集初期的静态值,具体Buffer的变化还需要看原创 2016-08-23 15:14:07 · 6787 阅读 · 0 评论 -
Loadrunner 接口测试的两种方法
其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。 方法一、用LoadRunner实现接口测试 大家都知道LoadRunner是一种性能测试工具,但它也可以用在我们做接口测试的时候。开发人员开发出来的接口,提供给测试人员详细的接口使用说明书,该说转载 2016-08-25 14:09:53 · 1375 阅读 · 0 评论 -
数据库监控及指标
mysqltuner and mysqlreport 工具使用1.2 mysqltuner.pl 本工具建议定期运行,发现目前MYSQL数据库存在的问题及修改相关的参数.1.2.1 安装直接下载[root@even ~]# wget http://mysqltuner.pl/mysqltuner.pl[root@even ~]# chmod +x mysql转载 2016-09-01 10:45:20 · 3755 阅读 · 0 评论 -
testlink导入excel神器!(原版里面代码有问题,我自己改了,很好用,不会调试代码的再问我要)
1、testlink-1.9.9\lib\functions文件夹下,分别打开下面两个文件testcase.class.phptestsuite.class.php找到var $import_file_types = array("XML" => "XML")改为var $import_file_types = array("XML" => "XML转载 2016-09-02 11:37:26 · 4806 阅读 · 14 评论 -
loadrunner场景对性能测试策略的映射
压力测试:面向目标测试场景+忽略think time负载测试:手工测试场景+同步点+think time+虚拟ip+带宽模拟.....基准测试:脚本和场景复用并发测试:同步点+多虚拟用户Controller能够创建基于目标和手工的性能测试场景,前者可使用户关注于某项感兴趣的性能指标后者可全面考察整个软件系统在既定负载下的性能表现!翻译 2016-09-14 16:55:13 · 398 阅读 · 0 评论