Linux下Web压力测试工具
简介做web开发,如果需要高并发就离不开压力测试,本文主要介绍几种Linux中使用的压力测试工具。
一、Webbench
这个使用就最为简单的,比Apache自带的ab压力测试要好使一点
1、下载
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
2、安装
tar zxf webbench-1.5.tar.gz && cd webbench-1.5
make && make install
3、常用参数
- -t 测试时间
- -c 并发连接数
4、测试
模拟1000并发数,测试时间300秒。
webbench -c 1000 -t 300 http://www.baidu.com
二、Http_load
单一进程运行,以并行复用的方式运行,用以测试web服务器的吞吐量与负载。一般简单的压力测试可以使用它
1、下载
wget http://www.acme.com/software/http_load/http_load-14aug2014.tar.gz
2、安装
tar zxvf http_load-12mar2006.tar.gz && cd http_load-12mar2006
make && make install
3、常用参数
- -p 并发访问进程数
- -f 总的访问次数
- -r 每秒的访问频率
- -s 总的访问时间
4、举个例子
http_load -p 100 -f 1000 url.txt
总访问1000次,并发100
http_load -r 100 -s 300 url.txt
持续300秒,每秒100次访问
三、ab
ApacheBench安装apache后就可以使用,不过测试效果一般
1、安装
centos: yum install apr-util
debian: apt-get install apache2-utils
2、常用参数
- -n 请求总次数
- -c 并发请求数,不能大于-n
3、举个例子
ab -c 100 -n 1000 http://www.百度.com
并行发送100个请求,执行1000次
四、Siege
多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行
1、下载
wget http://download.joedog.org/siege/siege-3.1.0.tar.gz
2、安装
tar zxvf siege-3.1.0.tar.gz && cd siege-3.1.0/
./configure
make && make install
3、常用参数
- -i 多个url,随机访问
- -c 并发用户数
- -r 重复次数
- -t 测试时间
- -l 输出测试日志
4、举个例子
siege -c 200 -t 10 http://www.baidu.com
并发数200,持续时间10秒。
siege -c 50 -r 100 http://www.baidu.com
50个用户(每次并发量,注意不是每秒并发量) 重复100次 共产生 50 * 100 = 5000个请求
siege -c 50 -r 100 http://www.baidu.com/?name=test
50个用户 重复100次 发送GET参数
siege -c 50 -r 100 "http://www.baidu.com POST name=test" 50个用户 重复100次 发送POST参数 (注意引号)
结果说明
Transactions: 30000 hits //完成30000次处理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 68.59 secs //总共使用时间
Data transferred: 817.76 MB //共数据传输 817.76 MB
Response time: 0.04 secs //响应时间,显示网络连接的速度
Transaction rate: 437.38 trans/sec //平均每秒完成 437.38 次处理
Throughput: 11.92 MB/sec //平均每秒传送数据
Concurrency: 17.53 //实际最高并发连接数
Successful transactions: 30000 //成功处理次数
Failed transactions: 0 //失败处理次数
Longest transaction: 3.12 //每次传输所花最长时间
Shortest transaction: 0.00 //每次传输所花最短时间
五、Jmeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
六、Tsung
开源的多协议分布式负载测试工具,基于erlang,使用perl+gnuplot生成图表,它能用来压力测试HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP 和 Jabber/XMPP的服务器。它可以分布在多个客户机,并能够模拟成千上万的虚拟用户数并发。
《是妈妈是女儿》聚焦母女间未曾言明的爱意,以书信对话的形式呈现出各自的内心独白,表达彼此的牵挂。黄绮珊与希林娜依·高用跨越时空、打开心扉、深情对唱的形式,将天下母女爱的寄语化作心灵的倾诉。黄绮珊的每一句话,每一个字都演绎出了妈妈对女儿的爱,而希林依娜·高把女儿对妈妈的爱由不理解到理解再到感恩演绎得淋漓尽致。
Towxml 是一个让小程序(微信/QQ)可以解析Markdown、HTML的解析库。能够使小程序完美解析Markdown内容。
本文主要记录Nginx中的fastcgi_param的参数记录。
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。工作中往往需要用到正则表达式,那么本文主要记录正则表达式的一些基本的知识和常用的正则表达式。
NSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息。它具有分布式和去中心化拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。