ubuntu

如何用Ubuntu进行Nginx性能测试

小樊
47
2025-09-11 08:36:37
栏目: 智能运维

以下是在Ubuntu上进行Nginx性能测试的常用方法,涵盖工具使用和关键步骤:

一、安装测试工具

  1. ApacheBench(ab)

    sudo apt update && sudo apt install apache2-utils  
    
    • 适用场景:轻量级快速测试,适合低并发场景(如静态页面QPS测试)。
  2. wrk

    sudo apt install wrk  
    
    • 适用场景:高并发压力测试,支持Lua脚本模拟复杂请求(如登录、动态接口)。
  3. JMeter

    • 通过GUI或命令行创建复杂测试场景(如混合请求、参数化),需额外安装插件支持Nginx协议。

二、基础测试命令

1. 使用ab测试静态页面

ab -n 1000 -c 100 http://localhost/  

2. 使用wrk测试高并发场景

wrk -t4 -c200 -d30s http://localhost/  

三、进阶测试技巧

  1. 动态接口测试

    • ab:通过-H添加请求头,-p指定POST数据文件。
      ab -n 500 -c 50 -H "Content-Type: application/json" -p data.json http://localhost/api  
      
    • wrk:使用Lua脚本模拟登录、参数化请求(需编写脚本)。
  2. 长连接测试

    ab -n 1000 -c 50 -k http://localhost/  
    
    • -k:启用HTTP KeepAlive,测试长连接下的性能表现。

四、监控与调优

  1. 实时监控Nginx状态

    • 启用Nginx内置模块(需在配置中添加stub_status):
      location /nginx_status {  
        stub_status;  
        allow 127.0.0.1;  
        deny all;  
      }  
      
      访问http://localhost/nginx_status查看活跃连接数、请求速率等指标。
  2. 系统资源监控

    • 使用tophtop查看CPU/内存占用,iftop监控网络带宽,ss -ant查看TCP连接状态。
  3. 调优建议

    • 若出现高延迟或失败请求,调整Nginx配置:
      worker_processes auto;  
      worker_connections 10000;  
      use epoll;  
      keepalive_timeout 65;  
      
      并通过ulimit -n提升文件描述符限制。

五、注意事项

参考资料

0
看了该问题的人还看了