为了监控和优化Nginx性能,我们可以使用Nginx自带的状态模块stub_status
。首先,需要在Nginx配置中启用该模块。
- 编辑Nginx配置文件(通常是
nginx.conf
),在需要监控的server块中添加stub_status
位置。
server {
listen 80;
server_name localhost;
location /nginx_status {
stub_status on; # 开启状态模块
access_log off; # 关闭日志记录
allow 127.0.0.1; # 只允许本地访问
deny all; # 拒绝其他IP访问
}
}
- 重新加载Nginx配置以应用更改:
sudo nginx -s reload
- 使用curl或者浏览器访问状态页面:
curl http://localhost/nginx_status
输出示例:
Active connections: 43
server accepts handled requests
7368 7368 10993
Reading: 0 Writing: 5 Waiting: 38
监控和优化可以包括但不限于以下方面:
- 检查
Active connections
:如果这个数值持续增长,可能需要增加worker_connections
值。 - 查看
Reading
、Writing
、Waiting
的数值:如果Waiting
数值远远大于Reading
+Writing
,可能需要调整worker_connections
和keepalive_timeout
设置。
优化可以包括:
- 调整
worker_connections
:增加最大连接数。 - 调整
keepalive_timeout
:减少长连接的持续时间。 - 调整
worker_processes
:增加工作进程数,利用多核。
记得每次修改配置后都需要重新加载Nginx以应用更改。