NGINX压力测试

Posted 当你的能力撑不起你的欲望时,请静下心来学习吧!!

tags:

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

nginx可以作为HTTP服务器和反向代理服务器。反向代理服务器取决于后端服务器的性能,这次只针对HTTP服务器做性能测试。Nginx作为服务器对于网络的性能必然是非常依赖的,尤其是PPS转发能力,那么网络增强型实例必然是首选。

在 10G 网络带宽下,推荐独享实例规格族如下:规格族 ecs.sn1ne(Nginx 对内存要求不高,不需要规格族ecs.sn2ne); 在 25G 网络带宽下,推荐实例规格族: 规格族 C5。

测试验证

测试方法
  • 操作系统:Centos 7.3 (默认打开irqbalance)
  • 测试软件: Nginx 1.12.1
  • 压测工具:ApacheBench 2.3
测试对象
  • ecs.sn1ne.4xlarge 16C/32GB
  • ecs.sn1ne.8xlarge 32C/64GB
测试架构

技术分享图片

压测命令

32个并发命令: ab -n 100000000 -c 10 -k http://${server_ip}/

参数调整

系统参数调整

打开多队列。
开启 RPS。

经过测试发现,16 核的时候,不需要开启RPS特性,就可以把所有 CPU 打满,网络达到极限;但是测试 32 核的时候,需要开启 RPS。

修改文件打开数。

Nginx 参数调整。

打开多进程。Nginx默认是单work进程。

在 nginx.conf 文件中可以配置如下:

worker_processes 32;

worker_cpu_affinity auto;

增大连接数:配置 worker_connections 102400。

测试结论
技术分享图片

  • sn1ne.4xlarge 的 pps 最高是 150w,此次压测 QPS 达到了 140w。此时所有的 CPU 利用率都接近 100%。(此处的QPS是通过tsar统计的。)

  • sn2ne.8xlarge 的 PPS 最高是 250w,此次压测 QPS 达到了 210w。此时所有的 CPU 利用率都接近 100% 了。

以上是关于NGINX压力测试的主要内容,如果未能解决你的问题,请参考以下文章

独立安装ab压力测试工具及测试nginx性能

nginx优化压力测试

nginx优化php-fpm优化 压力测试达到每分150万访问量webbench网站压力

NGINX压力测试

Nginx服务器防止被压力测试

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