以下是在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性能瓶颈并针对性优化。