使用ab对nginx进行压力测试
ubuntu安装ab
apt-get install apache2-utils
centos安装ab
yum install httpd-tools
测试之前需要准备一个简单的html、一个php、一个图片文件。
ab -kc 1000 -n
1000
这个指令会使用1000个并发,进行连接1000次。结果如下
比如
Requests per second: 16.54
[#/sec] (mean)
Time per request: 60443.585 [ms] (mean)
Requests per second: 16.54
[#/sec] (mean)
表示当前测试的服务器每秒可以处理16.54个静态html的请求事务,后面的mean表示平均。这个数值表示当前机器的整体性能,值越大越好。
普通的测试,使用-c
-n参数配合就可以完成任务
格式: ./ab [options] [http://]hostname[:port]/path
参数:
-n 测试的总请求数。默认时,仅执行一个请求
-c 一次并发请求个数。默认是一次一个。
-H 添加请求头,例如 ‘Accept-Encoding: gzip’,以gzip方式请求。
-t 测试所进行的最大秒数。其内部隐含值是-n
50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p 包含了需要POST的数据的文件.
-T POST数据所使用的Content-type头信息。
-v 设置显示信息的详细程度 – 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等),
2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
-w 以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i 执行HEAD请求,而不是GET。
-C -C cookie-name=value 对请求附加一个Cookie:行。
其典型形式是name=value的一个参数对。此参数可以重复。