Nginx压力测试可通过以下工具和方法实施,核心步骤与工具如下:
wrk
sudo apt install wrk(Ubuntu/Debian)或 sudo yum install wrk(CentOS)。wrk -t12 -c1000 -d30s http://nginx-server-ip/-t:线程数,-c:并发连接数,-d:测试时长)。ApacheBench (ab)
sudo apt install apache2-utils(Ubuntu/Debian)或 sudo yum install httpd-tools(CentOS)。ab -n 1000 -c 100 http://nginx-server-ip/-n:总请求数,-c:并发数)。JMeter
Locust
from locust import HttpUser, task
class WebsiteUser(HttpUser):
@task
def index(self):
self.client.get("/")
运行命令:locust -f locustfile.py,通过Web界面设置并发参数。环境准备
worker_processes设置为CPU核心数,worker_connections调整至10000+)。access_log以避免日志写入影响性能(测试后需重新开启)。测试场景设计
-c 2000 -d 10s)模拟秒杀场景,监控错误率。系统资源监控
nginx -s status或stub_status模块查看活跃连接数、请求处理速率。top监控CPU负载,ss -s查看TCP连接状态,iftop监控网卡带宽。worker_connections、启用epoll事件模型,或增加worker进程数。net.ipv4.tcp_tw_reuse=1,增大端口复用。?test=rand())避免缓存影响,测试HTTPS时需关注SSL握手开销。以上工具和方法可组合使用,根据实际需求选择,优先通过轻量级工具(如wrk)快速定位性能瓶颈,再通过JMeter等工具模拟复杂业务场景。