首页主机资讯LNMP在Ubuntu上的性能监控怎么做

LNMP在Ubuntu上的性能监控怎么做

时间2025-12-08 19:11:04发布访客分类主机资讯浏览635
导读:LNMP在Ubuntu上的性能监控实操指南 一 系统级实时监控 资源总览与进程:使用top/htop查看CPU、内存、负载、进程;安装 htop:sudo apt-get install htop。 内存与交换:使用free -h查看可用...

LNMP在Ubuntu上的性能监控实操指南

一 系统级实时监控

  • 资源总览与进程:使用top/htop查看CPU、内存、负载、进程;安装 htop:sudo apt-get install htop。
  • 内存与交换:使用free -h查看可用内存/缓存/交换使用情况。
  • 虚拟内存与CPU调度:vmstat 1观察si/so(换入/换出)、**us/sy/id/wa(CPU)**等。
  • 磁盘I/O:iostat -x 1(需安装 sysstat:sudo apt-get install sysstat)关注await、r/s、w/s、util
  • 网络与连接:ss -tulpennetstat -tulpen核对80/443/3306等端口监听与连接状态。
  • 历史与系统活动:sar(来自 sysstat)用于回看CPU、内存、I/O、网络的历史统计。
    以上命令适合快速定位瓶颈(CPU密集、I/O饱和、连接堆积、内存紧张)。

二 Nginx MySQL PHP-FPM 组件监控

  • Nginx
    • 启用状态页:确认编译包含ngx_http_stub_status_module,在 server 配置中添加:
      location /nginx_status { stub_status on; allow 127.0.0.1; deny all; }
      访问 http://服务器IP/nginx_status 查看Active connections、Accepts、Handled、Requests等。
    • 日志与连接:关注 /var/log/nginx/error.log;用 ss -lntp | grep :80 检查监听与连接队列。
  • MySQL/MariaDB
    • 运行状态:mysqladmin -u root -p status 查看Threads、Queries/s、Slow queries等。
    • 慢查询分析:启用慢查询日志,使用mysqldumpslow /var/log/mysql/slow.logpt-query-digest定位耗时SQL。
    • 深入指标:在数据库内执行 SHOW STATUS LIKE ‘Threads_connected’; 等获取连接与会话信息。
  • PHP-FPM
    • 进程与性能:用 systemctl status php-fpmps aux | grep php-fpm 查看进程数、内存占用
    • 日志排查:查看 /var/log/php-fpm/error.log/var/log/php-fpm/www.log(路径因发行版/安装方式可能不同)定位慢请求、Fatal、Parse错误。
      以上步骤覆盖连接、请求、慢查询与错误等关键维度,便于快速定位组件瓶颈。

三 集中监控与可视化

  • Prometheus + Grafana
    • 采集:部署Node Exporter(9100)Nginx Exporter(9113)MySQL Exporter(9104) 等,Prometheus 配置 scrape_jobs 指向这些目标。
    • 可视化:在 Grafana 中添加 Prometheus 数据源,导入 Node/MySQL/Nginx 官方或社区仪表盘,构建统一视图。
  • Zabbix
    • 安装 Zabbix Server/Frontend/Agent,在主机上创建监控项与触发器(如 Nginx 状态页、MySQL 状态、PHP-FPM 进程数、磁盘/网络阈值),实现告警与可视化
  • 轻量与托管
    • 轻量方案:Netdata 一键安装,提供实时Web仪表盘与告警;
    • 托管服务:Datadog/New Relic 集成 Nginx/MySQL/PHP,开箱即用地获得应用与基础设施性能洞察。
      以上方案可按规模与复杂度选择,既能满足自建开源栈,也能使用托管服务降低运维成本。

四 日志分析与PHP性能剖析

  • 日志集中与检索:使用 ELK(Elasticsearch + Logstash + Kibana)EFKNginx、MySQL、PHP-FPM 日志统一采集、解析与可视化,便于错误趋势、访问分析、慢请求定位
  • PHP代码级剖析:
    • Xdebug 用于函数级性能跟踪与调试;
    • Blackfire.io 提供调用图、热点函数、外部调用分析,适合定位慢页面与瓶颈
      日志与剖析结合,既能快速发现“哪里出错”,也能回答“为什么慢”。

五 告警阈值与巡检清单

  • 建议阈值与动作(需结合实际容量与SLA微调)
    指标 建议阈值 动作建议
    CPU 使用率 持续 > 80% 查 Top/慢查询/阻塞,扩容或限流
    内存可用 可用 < 10% 或频繁 swap 优化缓存/查询,增配内存
    磁盘 util > 80% 持续数分钟 清理日志/扩容磁盘,优化 I/O
    连接数 接近 worker_connections 调整 worker_processes/worker_connections,启用连接复用
    慢查询 明显增多 优化索引/SQL,检查锁与执行计划
    5xx 错误率 突增 查 Nginx error.log、上游 PHP-FPM/数据库异常
  • 日常巡检清单
    • 每日:检查 Nginx/MySQL/PHP-FPM 服务状态与端口、错误日志异常;
    • 每周:复核慢查询日志磁盘空间备份与健康检查;
    • 持续:在 Prometheus/GrafanaZabbix 中维护告警规则仪表盘,保留至少7–15天监控数据用于回溯。
      上述阈值与清单可作为起步策略,后续结合业务峰值与历史趋势迭代优化。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: LNMP在Ubuntu上的性能监控怎么做
本文地址: https://pptw.com/jishu/766221.html
如何在Ubuntu上实现LNMP自动化运维 Ubuntu SSH远程管理服务的技巧

游客 回复需填写必要信息