全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
云服务器 ECS

Nginx在ECS的重要实践

更新时间:2017-11-06 14:28:58

阿里云的企业级家族(独享实例的SLA性能是有保证的)如下图所示。

1

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

测试架构

2

压测命令

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

参数调整

  1. 系统参数调整

    1. 打开多队列。
    2. 开启 RPS。

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

    3. 修改文件打开数。

  2. Nginx 参数调整。

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

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

      • worker_processes 32;
      • worker_cpu_affinity auto;
    2. 增大连接数:配置 worker_connections 102400。

测试结论

3

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

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

本文导读目录