Ubuntu LAMP性能监控方法与工具
命令行工具适合实时监控和脚本自动化,无需图形界面,适合服务器环境:
top是系统自带的实时进程监控工具,默认按CPU使用率排序,可查看进程的CPU、内存占用;htop是其增强版(需安装:sudo apt install htop),提供颜色化界面、鼠标操作和更直观的排序功能,更方便识别高资源消耗进程。vmstat [间隔秒数](如vmstat 5每5秒刷新一次),重点关注r(运行队列长度,>2表示CPU瓶颈)、free(空闲内存,<100MB需警惕)、si/so(交换分区读写,频繁读写说明内存不足)。sysstat包:sudo apt install sysstat),命令格式:iostat -c -d 4(-c显示CPU使用率,-d显示磁盘I/O,4为刷新间隔),重点关注%util(磁盘利用率,>70%表示磁盘繁忙)、await(平均I/O等待时间,>10ms说明磁盘性能差)。sysstat包中的历史性能数据收集工具,可查看过去一段时间的CPU(sar -u)、内存(sar -r)、磁盘(sar -d)使用趋势,适合分析性能问题的历史根源(如sar -u 1 5查看1秒间隔共5次的CPU使用率)。sudo apt install glances),支持终端和Web访问(glances -w启动Web模式,默认端口61208),可监控CPU、内存、磁盘、网络、进程等全面指标,适合快速全面了解系统状态。图形界面工具适合日常巡检,直观展示性能趋势,无需记忆命令:
System Monitor(搜索“系统监控”打开),提供CPU、内存、磁盘、网络的实时使用率柱状图和进程列表,适合普通用户快速查看系统概况。Prometheus收集时间序列数据(如服务器指标、应用性能),Grafana创建美观的仪表板(如CPU使用率趋势图、内存占用饼图)。安装步骤:先安装Prometheus(sudo apt install prometheus),再添加Grafana仓库并安装(wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -,然后echo "deb https://packages.grafana.com/oss/ubuntu $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/grafana.list,最后sudo apt install grafana),配置Prometheus为Grafana数据源后,即可创建自定义仪表板。针对LAMP架构的每个组件(Apache、MySQL、PHP),需使用专用工具监控其特定性能指标:
mod_status模块(修改/etc/apache2/mods-enabled/status.conf,设置ExtendedStatus On和Allow from all),访问http://服务器IP/server-status可查看当前活动连接数、请求处理时间、Apache工作模式(prefork/worker)的使用情况,帮助优化Apache配置(如调整MaxClients参数)。mysqladmin命令(如mysqladmin -u root -p status查看连接数、查询缓存命中率)或Performance Schema(需开启,通过SELECT * FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC LIMIT 10;查看最耗时的SQL语句),识别慢查询、连接池瓶颈。php-fpm的状态页面(修改/etc/php/7.x/fpm/pool.d/www.conf,设置pm.status_path = /status,然后在Nginx/Apache中配置反向代理访问http://服务器IP/status),查看PHP进程的运行状态(如活跃进程数、闲置进程数)、内存使用情况,优化pm.max_children等参数避免PHP进程耗尽内存。自动化监控可实时检测性能异常,并通过邮件、短信等方式通知管理员,避免问题扩大:
alertmanager.yml文件)。