以下是在Ubuntu上排查Nginx性能问题的常用方法:
top
、htop
查看CPU、内存占用,iostat
、iotop
分析磁盘I/O,nload
、iftop
监控网络流量。ps aux | grep nginx
确认进程状态,systemctl status nginx
查看服务是否正常。netstat -tulnp | grep nginx
或ss -tulnp | grep nginx
确认监听端口。/var/log/nginx/error.log
,统计高频错误(如连接拒绝、超时)。/var/log/nginx/access.log
,使用awk
筛选慢请求(如响应时间>5秒),或通过goaccess
生成可视化报告。slowlog_path
和slowlog_timeout
,记录超时请求。ab
(Apache Bench)或wrk
模拟高并发请求,观察响应时间、吞吐量等指标。# ab测试示例(-n请求总数,-c并发数)
ab -n 1000 -c 100 http://your-server.com/
nginx.conf
中的worker_processes
(建议与CPU核心数一致)、worker_connections
等参数,优化连接数限制。stub_status
模块查看基础状态(需在配置中添加location /stub_status
),或使用nginx-module-vts
获取详细流量数据。proxy_pass
、proxy_connect_timeout
等参数是否合理。curl
手动访问后端接口,检查响应时间,排查数据库或缓存异常。通过以上步骤,可快速定位Nginx性能瓶颈并针对性优化。