介绍几款Web服务器性能压力测试工具

article/2025/9/22 18:47:30

原文转自:http://www.qixing318.com/article/introduce-a-few-web-server-performance-pressure-testing-tools.html

目录结构

一、http_load

程序非常小,解压后也不到100K
http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。
但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。
还可以测试HTTPS类的网站请求。
下载地址:http_load-12mar2006.tar.gz

安装很简单

#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make && make install

基本用法:

http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件
参数其实可以自由组合,参数之间的选择并没有什么限制。
比如你写成http_load  -parallel  5  -seconds  300  urllist.txt也是可以的。
我们把参数给大家简单说明一下。
-parallel   简写-p :含义是并发的用户进程数。
-fetches   简写-f :含义是总计的访问次数
-rate        简写-p :含义是每秒的访问频率
-seconds 简写-s :含义是总计的访问时间

准备URL文件:urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好。

文件格式如下:

http://www.qixing318.com/
http://www.qixing318.com/blog/
http://www.qixing318.com/signin/
http://www.qixing318.com/signup/
http://www.qixing318.com/article/a-quick-look-at-the-redis-source-code.html
http://www.qixing318.com/article/how-the-browser-end-encryption.html
http://www.qixing318.com/article/jquery-form-validation-plug-in-validate.js-the-basic-usage.html
http://www.qixing318.com/article/use-flash-plugin-swfupload-head-is-upload-the-screenshot-in-two-ways.html
http://www.qixing318.com/article/should-make-your-site-using-html5.html
http://www.qixing318.com/article/simple-to-understand-linux-memory-allocation-mechanism.html
http://www.qixing318.com/article/organize-the-sphinx-api-based-on-php.html
http://www.qixing318.com/article/jquery-1-9-removed-browser-method-alternatives.html
http://www.qixing318.com/article/the-installation-of-fedora-under-chinese-search-sphinx-configuration.html
http://www.qixing318.com/article/schema-org-tag-was-used-to-optimize-web-pages.html
http://www.qixing318.com/article/jquery-reference-manual-tutorials-and-tools.html
http://www.qixing318.com/article/falling-in-love-with-bike-30-reasons.html
http://www.qixing318.com/article/online-test-tools-browserstack-cross-browser-compatibility.html
http://www.qixing318.com/article/talk-about-javascript-image-preloading-technology.html
http://www.qixing318.com/article/brokeback-mountain.html
http://www.qixing318.com/article/sql-index-caused-performance-issues.html
http://www.qixing318.com/article/use-python-scapy-reporter.html
http://www.qixing318.com/article/a-python-web-attack-script.html

例如:

http_load -p 30 -s 60  urllist.txt

参数了解了,我们来看运行一条命令来看看它的返回结果如下:

结果分析:

1、294 fetches, 30 max parallel, 3.83835e+06 bytes, in 60.0026 seconds
说明在上面的测试中运行了294个请求,最大的并发进程数是30,总计传输的数据是3.83835e+06bytes,运行的时间是60.0026秒
2、13055.6 mean bytes/connection
说明每一连接平均传输的数据量3.83835e+06/294=13055.6
3、4.89979 fetches/sec, 63969.7 bytes/sec
说明每秒的响应请求为4.89979,每秒传递的数据为63969.7 bytes/sec
4、msecs/connect: 312.009 mean, 1319.57 max, 209.994 min
说明每连接的平均响应时间是312.009 msecs,最大的响应时间1319.57 msecs,最小的响应时间209.994 msecs
5、msecs/first-response: 1191.01 mean, 10212.4 max, 220.78 min
6、HTTP response codes: 
    code 200  --  127 
    code 502  --  166
说明打开响应页面的类型
如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明:
测试结果中主要的指标是 fetches/sec、msecs/connect 这个选项,即服务器每秒能够响应的查询次数。
用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。
Qpt-每秒响应用户数和response time,每连接响应用户时间。
测试的结果主要也是看这两个值。
当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论。

二、webbench

webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。
下载地址可以到google搜,我这里给出一个
下载地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
这个程序更小,解压后不到50K,呵呵
安装非常简单

#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install

会在当前目录生成webbench可执行文件,直接可以使用了
用法:webbench -c 并发数 -t 运行测试时间 URL

例如:

#webbench -c 1000 -t 130 http://www.qixing318.com

三、ab

ab是apache自带的一款功能强大的测试工具。
安装了apache一般就自带了。
用法可以查看它的说明

#./ab

参数众多,一般我们用到的是-n 和-c
例如:

#webbench -c 1000 -t 130 http://www.qixing318.com/index.php

这个表示同时处理1000个请求并运行130次index.php文件。

四、Siege

一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

Siege官方:http://www.joedog.org/

Siege下载:http://www.joedog.org/pub/siege/siege-latest.tar.gz

Siege解压并安装:

# tar -zxvf siege-latest.tar.gz
# cd siege-latest/
#./configure
#make
#make install

Siege使用:

#siege -c 100 -r 10 -f site.url
-c是并发量,-r是重复次数。 
url文件就是一个文本,每行都是一个url,它会从里面随机访问的。

site.url内容:

http://www.qixing318.com/
http://www.zendsns.com/
http://www.qixing.info/
测试结果:

结果说明:

Transactions: 550 hits //完成550次处理
Availability: 55.00 % //55.00 % 成功率
Elapsed time: 31.32 secs //总共用时
Data transferred: 1.15 MB //共数据传输1.15 MB
Response time: 3.04 secs //显示网络连接的速度
Transaction rate: 17.56 trans/sec //均每秒完成 17.56 次处理:表示服务器后
Throughput: 0.04 MB/sec //平均每秒传送数据
Concurrency: 53.44 //实际最高并发数
Successful transactions: 433 //成功处理次数
Failed transactions: 450 //失败处理次数
Longest transaction: 15.50 //每次传输所花最长时间
Shortest transaction: 0.42 //每次传输所花最短时间




http://chatgpt.dhexx.cn/article/iQvhfdnc.shtml

相关文章

web服务器压力测试工具---ab

文章目录 写在前面1、吞吐率(Requests per second)2、并发连接数(The number of concurrent connections)3、并发用户数(The number of concurrent users,Concurrency Level)4、用户平均请求等待…

WEB压力测试

互联网的普及,宽带的流行,使得越来越多的 个人和单位都架设了自己的网站。而充当网站的 服务器 的大多是普通的PC或者低档 服 务器 , 这样访问者人数一多或者遭受DDos攻击,很容易造成瘫痪。因此我们需要网站在真正发布前对其进…

10个免费的web压力测试工具

转自:http://apps.hi.baidu.com/share/detail/53794908 当一套程序写完或者一台服务器配置完成后,相必很多朋友会像我一样,非常想知道它到底能够承受多大的负载压力,那在本文中,就给大家介绍十个免费的可以用来进行Web…

Web网页性能压测工具 ApacheBench 和 WebBench

转载: Web网页性能压测工具 ApacheBench 和 WebBench (米扑博客) 1. ApacheBench ab 压测工具安装 ab是针对apache的性能测试工具,可以只安装ab工具,支持 http 和 https 网页。 Ubuntu安装:sudo apt-get -y install…

网站压力测试工具webbench

webbench最多可以模拟3 万个 并发连接 去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。 1、适用系统:Linux 2、编译安装: 引用 wget http://blog.s135.com/soft/linux/webbench/webbench-1.…

web压力测试-Web Bench

1.web bench下载,地址:http://home.tiscali.cz/~cz210552/webbench.html 2.wen bench安装: [rootweb111 tmp]#tar -zxvf webbench-1.5.tar.gz [rootweb111 tmp]# cd webbench-1.5 [rootvstar111 webbench-1.5]# ll total 28 lrwxrwxrwx…

web压力测试工具(持续更新)

由于需要测试zabbix监控性能,特意研究了下web压力测试工具,工具如下: 第一款:http_load http_load是一款基于Linux平台的web服务器性能测试工具,用于测试web服务器的吞吐量与负载,web页面的性能&#xff…

十个免费的 Web 压力测试工具(转)

本文列举了是十个免费工具,可以用来进行Web的负载/压力测试的。这样你就可以知道你的服务器以及你的WEB应用能够扛得住多少的并发量,以及网站性能。 0. Grinder – Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提…

vue页面刷新时,执行了哪些生命周期——谨慎使用beforeDestroy和destroyed

先来回顾一下vue实例的生命周期(以下图片来自官方文档)。 我的项目中某个组件在localstorage中存了数据,要求离开页面时需要把localstorage中相应的数据清空。于是我将清空storage的代码写在了beforeDestroy中。但在刷新页面时,st…

浏览器刷新vue为什么不会走beforeDestroy和destroyed生命周期

浏览器刷新vue为什么不会走beforeDestroy和destroyed生命周期 业务场景: 需要在页面卸载的时候去处理一些数据,比如清空 localStorage 然后就会把一些业务逻辑写在beforeDestroy或者destroyed的生命周期里 浏览器刷新的时候会走这两个生命周期吗 答案是不会 不是说在组件卸…

vue中,组件使用keep-alive缓存,beforeDestroy和destroyed会被调用吗?

分析 首先,答案是不会的,准确的说是不会直接调用。 默认情况下,也就是没有设置keep-alive,当离开当前路由时,会直接调用beforeDestroy和destroyed来销毁。 当组件设置keep-alive后,不会直接调用这个销毁周期函数&…

vue3.0 The `destroyed` lifecycle hook is deprecated. Use `unmounted` instead

用vue3.0使用了destroyed,报错 报错意思是:不推荐使用“已销毁”生命周期挂钩。改用“unmounted”在vue3.0 中: destroyed 生命周期选项被重命名为 unmounted beforeDestroy 生命周期选项被重命名为 beforeUnmount 把destroyed 改为 unmount…

Glide异常:You cannot start a load for a destroyed activity

项目上线后,Bugly上统计到错误如下: 原因很简单在Glide加载图片的时候发现发现控件所在的Activity已经被销毁了。搜索一下这个错误信息"You cannot start a load for a destroyed activity",定位问题: 即:在…

Vue keep-alive后不能触发destroyed

<keep-alive :include"cachedViews"><router-view :key"key" /></keep-alive> 当我们在项目中配置了keep-alive后&#xff0c;会发现页面关闭不能触发beforeDestroy。 首先我们来看看keep-alive是什么东西 keep-alive是Vue的内置组件&…

小米开机the system has been destroyed

原因&#xff1a;可能是升级/刷机系统之时重启导致&#xff0c;也可能是刷机时选择了【全部删除并/lock】导致系统损坏&#xff0c;非硬件损坏&#xff0c;可以通过刷机解决。 解决步骤 1、解锁BL&#xff0c;登录后进行解锁。 2、解锁后刷机即可 记得点击全部删除

vue 生命周期4 销毁流程 beforeDestroy destroyed

销毁流程&#xff1a; 当调用了vm.$destroy 则触发销毁流程 验证下&#xff1a; 加一个按钮和销毁事件 效果&#xff1a; 发现点击了vm销毁,但是页面上仍不变 因为虽然vm没了但是vm的工作成果还是在的 并不是vm销毁后,它的生成的dom也销毁掉,只不过是没有人帮你去管理了 …

浏览器刷新为什么不会走销毁(beforeDestroy和destroyed)周期?

浏览器刷新为什么不会走销毁&#xff08;beforeDestroy和destroyed&#xff09;周期&#xff1f; 为什么我要写这篇博客呢&#xff0c;还有就是为什么我会问这个问题呢&#xff1f; 因为之前我遇到一个内存泄漏的问题&#xff0c;然后呢我在vue的beforeDestroy生命周期钩子函…

electron报错Error: Object has been destroyed

文章目录 问题描述解决方案 问题描述 在 Electron 中&#xff0c;当一个窗口被销毁后&#xff0c;与该窗口相关联的 JavaScript 对象也会被销毁&#xff0c;再次访问已被销毁的窗口对象时&#xff0c;会导致 Error: Object has been destroyed 错误。 例如之前在写多窗口pinia…

【解决】MissingReferenceException: The object of type ‘GameObject‘ has been destroyed 观察者模式 监听物体被销毁

MissingReferenceException: The object of type ‘Text’ has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. 该情况发生于我的观察者模式在重新加载当前场景时 监听的物体被…