[系统调优] Nginx压测QPS 2w+ 的调优实验

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

前言

系统:两台Centos7,一台作Nginx运行机器,一台是压测程序运行机器
CPU核数:4核
工具准备:ab压测工具

yum install httpd-tools -y

无法安装的同学,添加yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirror-sng.oa.com/repo/Centos-7.repo
cd /etc/yum.repos.d
sed -i 's/\$releasever/7/g' CentOS-Base.repo

注意,压测压不上去,检查ab程序和nginx是不是同一台机器,同一机器影响压测结果,因为ab和nginx都在抢占cpu

实验

1. Nginx的配置调优:Nginx进程数

编辑nginx配置文件nginx.conf
客户端最大连接数 = worker_processes * worker_connections

worker_processes  4;
worker_connections  20480;

2.Linux系统参数设置:文件句柄设置

如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many files open”的错误提示。如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮你查看:
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more

a. 临时修改linux的最大文件句柄数限制的方法:
ulimit -n 500000

nginx与php-fpm服务器配置,实现高并发 说明:高性能服务器通过配置nginx和php-fpm,代替docker容器技术,实现请求服务高并发处理。 主要说明配置主要参数,以及想过解释。 nginx主要配置 通过nginx实现php-fpm服务器负载,用户访问服务时,将请求分配给不同的php-fpm服务器。 # nginx启动worker进程数 worker_processes auto; #Changes the limit o... 阅读详情

相关推荐

Nginx 限流机制:请求速率与连接数限制深度解析(一)

请求速率限制:适用于高频短连接场景(如 REST API),通过漏桶算法平滑流量,burst和nodelay灵活处理突发。连接数限制:适用于长连接或批量连接场景(如 WebSocket、爬虫),直接限制资源占用。最佳实践对静态资源(如图片、CSS)先限制连接数(减少无效连接),动态接口限制请求速率。结合fail2ban等工具,对频繁触发限流的 IP 进行封禁,增强安全防护。与应用层限流(如 Sentinel)协同,形成从接入层到服务层的多层限流体系。

xiaofanguan的博客 1322

nginx日志统计qps

以支付宝为例,每秒钟需要处理大量的交易请求,因此TPS是支付宝必须要关注的性能指标。对于一个高并发应用来说,QPS是非常重要的性能指标,它反映了应用处理请求的能力。举个例子,假设有一个电商网站,这个网站每天需要处理100万个订单请求,那么每秒钟需要处理的订单数量就是1000000 / 86400 ≈ 11.57。tail -f命令用于实时输出日志内容,awk命令用于提取日志中的时间戳信息,cut命令用于截取时间戳中的秒数信息,uniq -c命令用于统计每个秒数内的请求数。可以统计服务一天的访问日志得到。

sang521jia的博客 2305

nginx日志统计qps_nginx qps,高级Linux运维面试题及答案2024

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。tail -f命令用于实时输出日志内容,awk命令用于提取日志中的时间戳信息,cut命令用于截取时间戳中的秒数信息,uniq -c命令用于统计每个秒数内的请求数。公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器。

m0_58269070的博客 1221

2024年【软件试】探索和学习SDLC与软件试的关系,顺利通过阿里软件试岗面试

Testing is part of every stage in modern SDLC models. (整合:在现代SDLC模型的每个阶段,试都是一个组成部分。

2401_84563734的博客 1165

Nginx 性能、

目录一、概述二、2.1 配置 CPU2.2 配置http模块2.3 化Linux 系统 一、概述 每秒请求数 Nginx 服务器性能 50000 – 60000 次/秒 化 100000 次/秒 二、2.1 配置 CPU 6核心配置 worker_processes 6; worker_cpu_affinity 0001 0010 0100 1000 1001 10010; 8核心配置 worker_processes 8; worker_cpu_affinit

问道至简 6955

高并发报告数据精简(笔记)

目标】 QPS:10000以上 平均响应时间小于2s, 99.9%的请求在2s内响应 服务器性能: cpu占用率在0%--75%之间变化,这个是正常的 内存资源使用率最好控制到60%~80%之间,其中还要预留一部分给系统缓冲,防止所有资源被进程占用而系统无法执行处理任务,导致卡死,死机,程序被强制退出等情况。 【确认业务流程】 根据业务需求,确认需要的场景 【编写脚本】 1、根据接口文档设计脚本:url、请求方式、超时时间、head......

小卷子的笔记~ 2424

Ingress Nginx性能实战:从3万到12QPS的突破

在Kubernetes集群中,Ingress Nginx作为入口流量的核心网关,其性能直接影响整个系统的吞吐能力。通过深入理解Nginx的工作原理,可以针对高并发场景进行系统,包括worker进程配置、缓冲区设置、负载均衡算法化等关键技术点。这些手段能够显著提升网关性能,在电商大促、金融交易等高并发场景下尤为重要。以某电商平台为例,经过参数化后单节点QPS从3万提升到12万,CPU负载下降20%以上。合理的性能不仅能节约硬件成本,更能保障系统稳定性,是每个云原生工程师必备的实战技能。

weixin_32956805的博客 252

秒杀系统性能实战全解析

本文对秒杀系统进行了全面性能试,在低配服务器环境下验证了系统性能表现。试结果显示:Nginx静态页面处理能力达11K QPS,动态商品详情页接口支持11K QPS,核心下单接口处理能力约4K TPS。通过Redis基准试发现当前服务器性能仅为云服务器的1/3-1/2。分析指出硬件配置(CPU主频低、内存小)是主要瓶颈,同时提出化建议:硬件升级服务器和Redis集群,软件层面化MQ处理、缓存策略和代码实现。当前系统可满足中小型秒杀活动需求,为后续性能化和容量扩展提供了基准方向。

alonewolf_99的博客 658

Nginx 方法论和性能指标

Nginx 方法论和性能指标

后端系统和架构 3051

kong笔记——kong、nginx性能对比

简述 kong笔记 目录导航 前面介绍了kong的基本使用以及相关原理,那么接下来,我们需要对kong的性能做一个简单的了解。 性能 试环境 机器类别及IP地址 硬件配置 操作系统 软件配置 网络环境 kong服务 1核2G/22G/2核4G/4核2G/4核4G Alpine Linux 3.13 kong:2.5.0 阿里云ack环境 试机 CPU:4CPU8G带宽:1M资源组:1台4CPU8G,1台2CPU4GVUM:100w Euler OS系统 v1.19.10-r0

罗伯特是疯子丶 7204

云端 Nginx 系统层性能化实战:从 14.7 万到 29.4 万 QPS对比

文章摘要 本文记录了在腾讯云8核服务器上对Nginx进行系统层和应用层联合化的实战过程。通过整内核参数、提升文件描述符限制、Nginx配置(包括启用epoll、reuseport、gzip缩等),使QPS化前的14.7万提升至29.4万,提升幅度近100%。在8000并发场景下,不仅消除了原有的近6000次读错误和3000多次超时,QPS还从13.2万提升至24.5万。文章详细列出了各项化参数和配置,并提供了对比数据,验证了纯软件对性能提升的显著效果。(149字)

cpyaxjq的博客 13

VMware中Nginx性能翻倍的5个关键配置:实QPS提升217%,附对比数据图表

VMware中Nginx性能翻倍的实操指南!针对VMware安装配置Nginx场景,详解CPU绑定、事件模型化、TCP参数等5项关键配置,实QPS提升217%,附对比图表。适用于高并发Web服务部署,稳定高效易复现,值得收藏。

DevPath的博客 162

API 网关性能实战:从 5000 QPS 到 50000 QPS

本文分享了云原生API网关的性能方法论和实践经验。文章提出"先量再化"的方法,强避免盲目修改参数,并通过三阶段化将QPS从5,230提升至50,000。第一阶段通过整Worker进程数、连接池配置和关闭不必要插件,QPS提升至10,200;第二阶段化Linux内核参数和LuaJIT,QPS达到18,500;最终通过更深入的实现50,000 QPS。文章还提供了20项检查清单和APISIX、Nginx、Envoy的横向评数据,帮助开发者系统性地提升API网关性能。

qq_43201350的博客 152

Nginx 1.28.0性能实战:基于CentOS 7.9的编译参数深度解析与对比

本文深入解析Nginx 1.28.0在CentOS 7.9环境下的性能策略,包括源码编译参数化、内存分配器选型及事件模型对比。通过实际数据展示不同配置对性能的影响,为运维团队提供可落地的方案,显著提升高并发场景下的吞吐能力和响应速度。

weixin_28358083的博客 359

Nginx性能化实战:从worker进程到gzip缩的系统

Nginx作为最主流的Web服务器与反向代理,其性能表现直接决定网站响应速度、并发承载力与资源利用率。理解Nginx事件驱动模型、worker进程度机制及HTTP缩原理,是实现高效服务的基础。核心在于匹配硬件资源(CPU核数、内存)、网络协议栈(TCP连接生命周期、accept队列)与业务特征(静态资源占比、API响应模式),而非盲目堆砌参数。例如,worker_processes设置不当会引发CPU缓存争用,worker_connections超出系统文件描述符限制将导致连接静默丢弃,而gzip配置缺

weixin_34320724的博客 438

Nginx性能与深度监控

本文系统阐述了Nginx全链路性能与深度监控体系构建方案。在性能方面,从系统内核、Nginx架构、HTTP协议、反向代理到HTTPS等多个维度,详细介绍了关键参数的化原理与配置方法,强"先定位瓶颈、后针对性化"的原则。在监控体系方面,提出了"指标+日志+链路"三位一体的可观性方案,涵盖基础指标采集、Prometheus监控、结构化日志分析及全链路追踪等关键技术。文章还提供了详细的验证方法和常见误区警示,帮助读者构建兼顾高性能与稳定性的Nginx服务

zhangyahua1的博客 489

websocket 工具 有哪些_百万长连接之全链路性能分析

点击上方蓝色字关注我们~一、背景:基于WebSocket长连接的消息服务进行全链路,目标是实现最少100W长连接下服务的各个接口TPS,QPS及其稳定性和资源消耗情况。二、全链路架构图:三、遇到的问题总结:问题一:Jmeter客户端连接达到1w左右时,出现OOM。问题二:心跳超时导致连接断开。问题三:达到50w并发时,出现连接大批量掉线问题。问题四:达到72w并发时,出现连接数上...

weixin_39731107的博客 1462

从一次线上故障复盘说起:我是如何用wrk定位Nginx配置瓶颈,并将QPS提升3倍的

本文通过一次线上故障复盘,详细介绍了如何使用wrk进行试定位Nginx配置瓶颈,并通过化技巧将QPS提升3倍。文章分享了从故障现象分析到配置的全过程,包括分层Nginx参数整及性能验证,为开发者提供了实用的性能化实践指南。

weixin_33701617的博客 500

NGINX 性能/化 (整合篇)

第一篇 目录: 1、Nginx运行工作进程数量 Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor /proc/cpuinfo | wc -l [root@lx~]# vi/usr/local/nginx1.10/conf/nginx.conf worker_p...

IChen.的博客 4865
上一篇: 微服务通讯协议RPC的dubbo/dubbox、thrift、grpc、motan比较
下一篇: [JAVA] JVM基础——“反射” 代码案例
HyperDai
博客等级 码龄10年 796粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值