Nginx ab压力测试

20-ab压力测试及nginx性能统计模块

优化的启发,打开的文件太多 

Nginx 错误日志显示,打开文件数太多

 

 

 

 

系统层面

more /proc/sys/net/core/somaxconn

 

单个Nginx 测试index.html

没优化前

[root@/home/www]#ab -c 4000 -n 100000  http://test.demo.com/index.html
Concurrency Level:      4000
Time taken for tests:   18.596 seconds
Complete requests:      100000
Failed requests:        99350
   (Connect: 0, Receive: 0, Length: 99350, Exceptions: 0)
Non-2xx responses:      99780
Total transferred:      31953900 bytes
HTML transferred:       16180560 bytes
Requests per second:    5377.62 [#/sec] (mean)
Time per request:       743.823 [ms] (mean)
Time per request:       0.186 [ms] (mean, across all concurrent requests)
Transfer rate:          1678.09 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  204 582.3      2    7522
Processing:     2  101 612.0     12   17019
Waiting:        2   76 287.2     12    6939
Total:          3  305 862.2     14   17019

Percentage of the requests served within a certain time (ms)
  50%     14
  66%     17
  75%    208
  80%    217
  90%   1014
  95%   1238
  98%   3017
  99%   3218
 100%  17019 (longest request)

优化后

[root@/home/www]#ab -c 4000 -n 100000  http://test.demo.com/index.html
Concurrency Level:      4000
Time taken for tests:   8.154 seconds
Complete requests:      100000
Failed requests:        0
Non-2xx responses:      100000
Total transferred:      32000000 bytes
HTML transferred:       16200000 bytes
Requests per second:    12263.42 [#/sec] (mean)
Time per request:       326.173 [ms] (mean)
Time per request:       0.082 [ms] (mean, across all concurrent requests)
Transfer rate:          3832.32 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1  139 418.0      5    3031
Processing:     2  101 106.9     74    1542
Waiting:        2   99 106.7     73    1542
Total:          3  240 433.1     81    4542

Percentage of the requests served within a certain time (ms)
  50%     81
  66%     91
  75%    115
  80%    268
  90%   1066
  95%   1085
  98%   1275
  99%   3018
 100%   4542 (longest request)

ab 测试过程出现的以下问题,则是由于客户端原因造成的,而不是服务器原因,修改客户端配置既可以

Completed 1000 requests
Completed 2000 requests
apr_socket_recv: Connection timed out (110)
Total of 2893 requests completed

 

时间: 2024-10-03 04:58:56

Nginx ab压力测试的相关文章

nginx的压力测试、访问方式及加密综述

Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器.今天我们将从多方面来对nginx来作介绍,包括诸如nginx和http的压力测试.nginx的访问方式.nginx的加密访问等 一.安装nginx 1.拆解并安装 tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src ./configure --prefix=/usr/local/libevent make && ma

ab压力测试报错: apr_socket_recv: Connection reset by peer (104)

使用ab对网站进行压力测试,开始设置并发500,可以正常使用,当设置并发为1000,则报错: apr_socket_recv: Connection reset by peer (104) 改服务端apache的maxclients参数,调大最大打开文件数,都不解决问题,最后才发现是因为ab的源码对ab的并发有限制,修改源码重新编译apache: 修改源码support目录下的ab.c文件,大概在1369行,修改为: return;} else {//apr_err("apr_socket_re

配置ab来为Nginx服务器做压力测试的方法_nginx

在运维工作中,压力测试是一项非常重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同.面对这些问题,我们只能尽量去想方设法去模拟.所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数. 目前较为常见的网站压力测试工具有webbench.ab(apache benc

ubuntu中安装apache ab命令并进行压力测试

1.安裝ab命令 sudo apt-get install apache2-utils 2.ab命令参数说明 Usage: ab [options] [http[s]://]hostname[:port]/path Options are: //总的请求数 -n requests Number of requests to perform宅 //一次同时并发的请求数 总的请求数(n)=次数*一次并发数(c) -c concurrency Number of multiple requests t

apache自带的ab工具对网站进行压力测试

对网站进行压力测试的工具有很多,最普遍的最简单的恐怕就是apache自带的ab工具了.很多linux操作系统都自带有apache,系统没有自带apache的,安全一个apache就可以了.因此ab可以说是,最容易获得的网站压力测试工具了.ab与其他压力测试工具的优劣势本文就不表了,本文仅仅是做总结使用. 第一:ab所在的位置 不管是系统自带的,还是使用另外安装的apache.ab工具都在apache目录下面的bin目录下.找到ab工具所在的目录后,直接使用 ab -V 命令:就可以获得当前ab测

apache ab工具页面压力测试返回结果含义解释_Linux

ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 参数说明及示例 我们可以模拟100个并发用户,对一个页面发送1000个请求 输入命令:ab -n1000 -c100 http://www.jb51.net/ 其中-n代表请求数,-c代表并发数 返回结果: ##首先是apache的版本信息 This is ApacheBench, Version 2.3 <Revision:655654> Copyright 1996 Adam Twis

linux下web压力测试工具webbench

一直比较喜欢Ubuntu,也突然发现好长时间没有折腾ubuntu 了,哈哈,好长时间不搞,手痒了,技术这东东,还是需要经常折腾的. 其实以前做压力测试,AB使用的比较多,后来在张宴大哥的博客上看到webbench,然后自己也倒腾了下,还可以吧. 为什么要进行压力测试,说白了,就是测试你的代码的执行承载力,可能小的网站没有什么感触,因为他们每天的IP也就几千而已,一般服务器不经过优化,也可以罩得住, 但是大型网站是非常注重这些压力测试,因为他们注重的都是百万级的访问量, Webbench是什么呢?

分布式TCP压力测试工具 tcpcopy

tcpcopy是一种应用请求复制(基于tcp的packets)工具,其应用领域较广,我们曾经应用于网易的广告投放系统,urs系统,nginx hmux协议开发等系统,避免了上线带来的很多问题. 总体说来,tcpcopy主要有如下功能: 1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测试工具真实地多),也可以提前发现一些bug 2)对于后端的短连接,请求丢失率非常低(1/10万),可以应用于热备份 3)普通上线测试,可以发现新系统是否稳定,提前发现上线过程中会出

CentOS中PHP-FPM优化及压力测试示例

php fastcgi进程管理器,相比fastcgi静态的唤起cgi,fpm能根据访问的压力动态的唤起cgi进程和销毁以到达动态的调整cgi数量,这样可以有效的使用内存.除此之外还有其它的一些优点,比如,fpm还可以平滑的重载php配置:由于fpm是使用Unix-Socket来和服务器通讯,所以也不用再配置cgi端口:fpm有更好的状态输出和slowlog日志,502的时候能给出更多的错误细节.  本文谈谈有关PHP-FPM的配置细节以及基于一个实际环境来做压力测试: 服务器配置如下: