大家在工作中或者开发中可以使用apache的ab工具来测试自己的网站并发量大小,和某个页面的访问时间。
如果你是用的是apache的话,那么只要进入到apache的安装目录,找到bin目录下的ab.exe即可,在ab.exe的文件夹中运行命令行模式即可开启该功能。
语法如下:
ab.exe –n 访问的总次数 –c 有多少人访问(并发量) 访问的页面url
其中:
-n是后面跟的是访问总次数
-c表示同时有多少个人访问,也就是大家说的并发量。
ab.exe –n 10000 –c 100 http://localhost/test.php
上述表达式表示模拟访问http://localhost/test.php共计10000次,每秒并发为100个。
运行结果为:
这种情况表示服务器还没有瘫痪,能处理的过来,那么我们加大ab工具中的-c的值(并发量),直到得不出结果或者花费时间超出预期为止,即可得出服务器承载能力。
利用apache的ab工具测试网页优化速度和服务器承载能力是一个循循渐进的过程,慢慢的改变apache的ab工具中的参数,测试临界值。
-n requests,用于设置压力测试总共的执行次数。
-c concurrency,用于设置压力测试的并发数。
-t timelimit,等待响应的最大时间(单位:秒)。
-b windowsize,TCP发送/接收的缓冲大小(单位:字节)。
-p postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。
-u putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。
-T content-type,用于设置Content-Type请求头信息,
-v verbosity,指定打印帮助信息的冗余级别。
-w 以HTML表格形式打印结果。
-i 使用HEAD请求代替GET请求。
-x 插入字符串作为table标签的属性。
-y 插入字符串作为tr标签的属性。
-z 插入字符串作为td标签的属性。
-C 添加cookie信息。
-H 添加任意的请求头。
-A 添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。
-P 添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。
-X 指定使用的代理服务器和端口号。
-V 打印版本号并退出。
-k 使用HTTP的KeepAlive特性。
-d 不显示百分比。
-S 不显示预估和警告信息。
-g 输出结果信息到gnuplot格式的文件中。
-e 输出结果信息到CSV格式的文件中。
-r 指定接收到错误信息时不退出程序。
-h 显示用法信息,其实就是ab -help。
Server Software: Apache服务器软件名称及版本信息
Server Hostname: 服务器主机名
Server Port: 服务器端口
Document Path: 测试的URL
Document Length: 测试的URL返回的文档大小
Concurrency Level: 服务并发数
Time taken for tests: 压力测试消耗的总时间
Complete requests: 压力测试的总次数
Failed requests: 失败的请求数
Write errors: 网络连接写入错误数
Total transferred: 传输的总数据量
HTML transferred: HTML文档的总数据量
Requests per second: 平均每秒的请求数
Time per request: 所有并发用户(这里是100)都请求一次的平均时间
Time per request: 单个用户请求一次的平均时间
Transfer rate: 传输速率,单位:KB/s
如果您对apache的ab工具有更多的理解,请多指教~。
学习不止眼前的教程与笔记还需实践与创新——小伙伴们块动手试试吧~
jQuery2021-01-08
jQuery2021-01-07
MySQL2020-12-13
电脑2020-12-12
服务器2020-12-06
电脑2020-10-06