NGINX压力测试
硬件配置
型号
# dmidecode | grep "Product Name"
Product Name: VMware Virtual Platform
Product Name: 440BX Desktop Reference Platform
CPU
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq
Intel(R) Xeon(R) CPU E5- v4 @ .00GHz
内存
# dmidecode|grep -P -A5 "Memory\s+Device" | grep Size |grep -v Range | cat -n
Size: MB
Size: MB
软件环境
操作系统
# cat /etc/redhat-release
CentOS Linux release 7.2. (Core)
服务版本
# /usr/local/openresty/nginx/sbin/nginx -v
nginx version: openresty/1.11.2.4
测试软件
# ab -V
This is ApacheBench, Version 2.3 <$Revision: $>
并发测试
说明:测试基于Linux系统。
1000并发
测试1000并发,处理10000请求:
# ab -c 1000 -n 10000 http://10.27.88.50/index.html
Benchmarking 10.27.88.50 (be patient)
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Finished requests Server Software: openresty/1.11.2.4
Server Hostname: 10.27.88.50
Server Port: Document Path: /index.html
Document Length: bytes
Concurrency Level:
Time taken for tests: 0.874 seconds
Complete requests:
Failed requests:
Write errors:
Total transferred: bytes
HTML transferred: bytes
Requests per second: 11437.38 [#/sec] (mean)
Time per request: 87.433 [ms] (mean)
Time per request: 0.087 [ms] (mean, across all concurrent requests)
Transfer rate: 9505.09 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max
Connect: 5.9
Processing: 27.8
Waiting: 27.7
Total: 29.9 Percentage of the requests served within a certain time (ms)
%
%
%
%
%
%
%
%
% (longest request)
2000并发
测试2000并发,处理50000请求:
# ab -c 2000 -n 50000 http://10.27.88.50/index.html
Benchmarking 10.27.88.50 (be patient)
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Finished requests Server Software: openresty/1.11.2.4
Server Hostname: 10.27.88.50
Server Port: Document Path: /index.html
Document Length: bytes Concurrency Level:
Time taken for tests: 2.689 seconds
Complete requests: Failed requests:
(Connect: , Receive: , Length: , Exceptions: ) Write errors:
Non-2xx responses:
Total transferred: bytes
HTML transferred: bytes
Requests per second: 18593.35 [#/sec] (mean)
Time per request: 107.565 [ms] (mean)
Time per request: 0.054 [ms] (mean, across all concurrent requests)
Transfer rate: 15451.92 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 137.3
Processing: 121.7
Waiting: 121.7
Total: 236.7 Percentage of the requests served within a certain time (ms) %
%
%
%
%
%
%
%
% (longest request)
3000并发
测试3000并发,处理100000请求:
# ab -c 3000 -n 100000 http://10.27.88.50/index.html
Benchmarking 10.27.88.50 (be patient) Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Finished requests Server Software: openresty/1.11.2.4
Server Hostname: 10.27.88.50
Server Port: Document Path: /index.html
Document Length: bytes Concurrency Level:
Time taken for tests: 5.065 seconds
Complete requests:
Failed requests: (Connect: , Receive: , Length: , Exceptions: ) Write errors:
Non-2xx responses:
Total transferred: bytes
HTML transferred: bytes
Requests per second: 19744.76 [#/sec] (mean)
Time per request: 151.939 [ms] (mean)
Time per request: 0.051 [ms] (mean, across all concurrent requests)
Transfer rate: 16408.79 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 329.4
Processing: 185.9
Waiting: 185.9
Total: 433.0 Percentage of the requests served within a certain time (ms) %
%
%
%
%
%
%
%
% (longest request)
测试总结
数据汇总
|
请求连接数 |
并发数 |
请求失败数 |
每秒处理请求数 |
一次并发数请求响应时间(ms) |
全体请求完成时间(s) |
请求成功率 |
|
10000 |
1000 |
0 |
11437 |
87.43 |
0.874 |
100.00% |
|
50000 |
2000 |
1 |
18593 |
107.57 |
2.689 |
99.998% |
|
10000 |
3000 |
2 |
19744 |
151.94 |
5.065 |
99.998% |
数据分析
通过测试结果可得如下分析:
1、Nginx的每秒请求处理能力是10000+,满足需求标准;
2、随着并发数的增大,一次并发请求的响应时间相应增大,满足需求标准;
3、随着请求连接数的增加,相应的总体请求完成时间也增加,当请求连接数从50k增加至100k时,总体请求时间增加至2倍,具有一定的稳定性和速度性,满足需求标准;
4、当请求连接数和并发数依次递增时,出现偶尔的请求失败数,全部请求成功率大于99.99%,满足需求标准;
5、单台服务器支持3000并发正常,满足需求标准。
NGINX压力测试的更多相关文章
- Nginx压力测试工具之WebBench
Nginx压力测试工具之WebBench 在Apache中有自带的ab命令可以测试服务的压力,而nginx没有自带的命令,必须要采用第三方软件来测试,今天就简单介绍一下webbench对nginx ...
- nginx压力测试和并发预估
一.Nginx并发预估 预估算法:{(?G)*1024-system}/请求大小 (?G):表示内存大小1024:表示内存容量标准进制system:表示系统和服务占用的额外内存和需要预留的内存请求大小 ...
- CentOS 6.7平台nginx压力测试(ab/webbench)
压力测试工具一:webbench 1.安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxvf w ...
- nginx压力测试webbench
下载压力测试工具webbench wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz 安装依赖包 yum -y in ...
- nginx压力测试和优化配置
115 yum -y install gcc automake autoconf libtool make 116 yum install ctags 117 mkdir -m 644 -p /usr ...
- Nginx压力测试问题
[root@aa~]# This is ApacheBench, Version 2.3 <Revision:655654Revision:655654> Copyright 1996 A ...
- 自己开发的网站压力测试(阿里云1M带宽)
背景 项目采用微服务架构设计,独立商城系统,博客系统,搜索系统,sso单点系统部署在docker环境下 商城系统(django) 博客系统(flask) 搜索系统(es+flask+restful) ...
- 记录一次自己对nginx+fastcgi(fpm)+mysql压力测试结果
nginx + fastcgi(fpm) 压力测试: CentOS release 5.9 16核12G内存 静态页面: 并发1000,压测200秒,测试结果: 系统最大负载5.47 成功响应: 25 ...
- Nginx配置性能优化与压力测试webbench【转】
这一篇我们来说Nginx配置性能优化与压力测试webbench. 基本的 (优化过的)配置 我们将修改的唯一文件是nginx.conf,其中包含Nginx不同模块的所有设置.你应该能够在服务器的/et ...
随机推荐
- java网络编程(5)——Tcp
Tcp相对于Udp就是面向连接的协议,最主要的特点要建立连接之后才能通信,客户端用Socket需要指点地址与端口,服务端用ServeSocket,只需指点监听某个端口,因为是面向连接,所以服务器端一定 ...
- HDU - 3567 IDA* + 曼哈顿距离 + 康托 [kuangbin带你飞]专题二
这题难度颇大啊,TLE一天了,测试数据组数太多了.双向广度优先搜索不能得到字典序最小的,一直WA. 思路:利用IDA*算法,当前状态到达目标状态的可能最小步数就是曼哈顿距离,用于搜索中的剪枝.下次搜索 ...
- ES6的介绍和常用语法
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 ECMAScript 是 JS 的语言标准.而 ES6 是新的 J ...
- hibernate中的缓存问题与快照机制
1. 什么是缓存 数据存储到数据库里面,数据库本身是一个文件系统,使用流方式操作文件(效率不高) 改进方式:把数据存到内存中,不需要使用流方式,可以直接读取内存中的数据 缓存:内存中的临时数据,当内 ...
- SQL 分组统计 行转列 CASE WHEN 的使用
原文地址:http://blog.itpub.net/26451903/viewspace-733526 原文在分组统计部分 sql是有问题的 本文已将sql改正 已用红色标记 Cas ...
- javascript垃圾收集与性能问题
一.垃圾收集 JavaScript具有自动垃圾收集功能,也就是说,执行环境会负责管理代码所占用的内存. 不同于C和类C语言,这些语言都需要手动监听内存的使用情况.JavaScript实现了自动管理内存 ...
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 52: invalid continuation byte
代码: df_w = pd.read_table( r'C:\Users\lab\Desktop\web_list_n.txt', sep=',', header=None) 当我用pandas的re ...
- apache配置,禁止ip访问web站点
由于一台服务器上面部署了好几个应用,对应不同的域名,如果用户知道ip地址的话,直接用户ip地址访问,会显示第一个虚拟主机的页面(更改了虚拟主机的顺序,每次都是显示第一个).这样对用户造成不好的印象,所 ...
- 【mysql】mysql密码设置和更改
密码设置: 当用户没有设置密码时: 添加密码: mysqladmin -uroot -password ab12 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了. 当用户存在密码时: ...
- ROM型启动方式概述
ROM 型启动方式概述 所有的VxWorks 内核映像类型中,只有VxWorks 类型使用的bootrom 引导程序进行启动,此时VxWorks 内核映像放置在主机端,由目标板bootrom 完成Vx ...