如何对网站服务器进行压力测试

Posted 堪舆先森

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对网站服务器进行压力测试相关的知识,希望对你有一定的参考价值。

1.yum install -y httpd-tools

  ab命令被集成到了httpd服务器中,所以想要使用ab命令需要先安装httpd服务

  ab -c 并发请求HTTP报文数量 -n 总共发送少个请求报文  http://www.oldboy.com/index,html

ab命令的使用方法和常用选项

ab [选项] [http[s]://]hostname[:port]/path

常用选项:
-n requests     Number of requests to perform
         在测试会话中所执行的请求总个数,默认一个
-c concurrency  Number of multiple requests to make at a time
         一次产生的请求个数,默认一个

 

2. 实例

[root@web01 conf.d]# ab -c 200 -n 200 http://www.oldboy.com/index.html
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.oldboy.com (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests


Server Software:        nginx/1.14.1            ---被测试的httpd服务器版本
Server Hostname:        www.oldboy.com          ---服务器主机名
Server Port:            80                      ---服务器端口
        
Document Path:          /index.html             ---测试的文档页面
Document Length:        195 bytes               ---测试的文档大小     
        
Concurrency Level:      200                     ---并发数
Time taken for tests:   2.746 seconds           ---整个测试时间
Complete requests:      200                     ---完成请求个数
Failed requests:        118                     ---失败请求格式  
   (Connect: 0, Receive: 0, Length: 118,        Exceptions: 0)
Write errors:           0        
Non-2xx responses:      200        
Total transferred:      104236 bytes            ---整个测试过程中总传输字节数
HTML transferred:       39118 bytes             ---整个测试过程中HTML传输字节数  
Requests per second:    72.82 [#/sec] (mean)     ---每秒处理请求数,mean 表示这是一个平均值
Time per request:       2746.492 [ms] (mean)     ---平均请求时间,mean表示这是一个平均值
Time per request:       13.732 [ms] (mean, across all concurrent requests) ---每个请求实际运行时间的平均值,mean表示这是一个平均值
Transfer rate:          37.06 [Kbytes/sec] received ---传输速率

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      254  266   7.0    266     277
Processing:   256  453 217.6    400    1816
Waiting:      256  453 217.6    400    1816
Total:        511  718 217.0    668    2074

Percentage of the requests served within a certain time (ms)
  50%    668
  66%    689
  75%    712
  80%    968
  90%    992
  95%   1112
  98%   1250
  99%   1358
 100%   2074 (longest request)

3. 注意

  测试上限一般是由打开文件的数量决定的,这个数值可以通过ulimit -a或ulimit -n命令查看,默认大小为1024。解决办法就是ulimit -n [数值],来提高打开文件的数量上限,测试和被测试的都要提升。

以上是关于如何对网站服务器进行压力测试的主要内容,如果未能解决你的问题,请参考以下文章

如何对 Web 表单文件上传进行压力测试?

如何使用Apache提供ab压力测试工具进行压力测试

如何对Web表单文件上传进行压力测试?

怎么样用LoadRunner对已经上线的网站进行测试?需要测试哪些地方?

开发人员学Linux:使用JMeter对网站和数据库进行压力测试

web压力测试 要测试哪些方面