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
测试架构

NGINX压力测试
压测命令

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。

测试结论

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

Original: https://www.cnblogs.com/baishuchao/p/9855781.html
Author: baishuchao
Title: NGINX压力测试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611999/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JVM的监控

    JVM的监控 Table of Contents *一、jvm常见监控工具&指令 * 1、 jps:jvm进程状况工具 * 2、jstat: jvm统计信息监控工具 * 3…

    Linux 2023年6月13日
    0126
  • 什么是虚拟计算机集群

    这个问题来自近期几位网友的私信,他们不约而同问到一个问题:什么是虚拟计算机集群?Laxcus分布式操作系统是如何做的?下面就正式回答一下这个问题。 在我们传统的认知里,或者大家平常…

    Linux 2023年6月6日
    0101
  • 普通 Docker 与 Kubernetes 对比

    Docker提供基本容器管理 API 和容器镜像文件格式Kubernetes 管理运行容器的(物理或虚拟)主机群集,如果 Docker 是 OCP 的”内核&#8221…

    Linux 2023年6月6日
    092
  • windows环境下启动多个redis服务(搭建redis集群)

    windows环境下启动多个redis服务(搭建redis集群一) 最终效果:本地安装好3个(多个)端口的redis服务。 1.下载并安装Redis 下载地址:https://gi…

    Linux 2023年5月28日
    094
  • Redis阻塞操作实现原理(转)

    原文:https://www.jianshu.com/p/xsMzfn 作者:Haiger 最近一位朋友问到:既然Redis是单线程的工作模式,那像 _BLPOP_这样的阻塞操作又…

    Linux 2023年5月28日
    092
  • 在linux中使用tcpdump抓包的方法:

    在linux中使用tcpdump抓包的方法: 1,运行下面命令来从所有网卡中捕获数据包: tcpdump -i any 2,从指定网卡中捕获数据包 tcpdump -i eth0 …

    Linux 2023年6月14日
    0122
  • mysql-高可用架构:MHA

    mysql-高可用架构:MHA 1. MHA简介 MHA(Master High Availability)是由日本人yoshinorim开发的一款成熟且开源的MySQL高可用程序…

    Linux 2023年6月13日
    080
  • docker 安装mysql5.7

    docker 安装mysql5.7 前言 MySQL 是目前最流行的关系型数据库管理系统,开发者是瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网…

    Linux 2023年6月6日
    096
  • Zabbix-企业级监控系统

    Zabbix-企业级监控系统 Zabbix 手册-官网 1.Zabbix简介 Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完…

    Linux 2023年6月13日
    077
  • docker相关命令杂理

    – 2020.11.16docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] #保存现有的镜像 # docker commit …

    Linux 2023年6月8日
    090
  • 【Python】**kwargs和takes 1 positional argument but 2 were given

    Python的函数定义中可以在参数里添加kwargs——简单来说目的是允许 添加不定参数名称的参数,并作为 字典传递参数。但前提是——你必须提供 参数名**。 例如下述情况: 1 …

    Linux 2023年6月13日
    0108
  • linux挂载文件系统

    当使用光驱等硬件设备时,必须将其挂载到系统中,只有这样Linux才能识别。 1、给虚拟机中centos7系统添加一块新的硬盘,添加以后必须重启centos7才能生效 2、在root…

    Linux 2023年5月27日
    097
  • shell 变量的默认值

    在 shell 脚本中,如果要使用某个变量又想给它设置默认值,可以用 XX=${YY-ZZ} 的方式,其中 ZZ 会是 YY 没有设置时的默认值 另一种用法是 XX=${YY:-Z…

    Linux 2023年5月28日
    0103
  • 如何在博客中添加Aplayer音乐播放器

    前言 是否有一首音乐,前奏一响起,让你灵魂不自主的颤栗。音乐就像老胶卷,每个旋律,每句歌词,都承载着每个人的往事回忆和情愫感受。 我收藏了好多的音乐,奈何好多音乐受版权限制,需要购…

    Linux 2023年6月7日
    090
  • 记一次echo server出现的问题

    1. 我做了什么 最近在学习如何用select函数实现echo server。期间遇到了一个关于缓冲区的问题,在这里分享给大家。 在使用read/recv, write/send类…

    Linux 2023年6月7日
    097
  • python入门基础知识二(字符串的常用操作方法)

    索引从0开始,每个标点也算一位 序列[开始位置:结束位置:步长] 步长可以是负数, 为负时输出结果为倒序。 var.find/rfind(‘chars’, …

    Linux 2023年6月7日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球