Linux LAMP性能監控方法
LAMP(Linux、Apache、MySQL、PHP)是常見的Web應用架構,其性能監控需覆蓋系統層、Web服務器、數據庫、應用層及日志,以下是具體方法:
系統層監控是LAMP性能分析的基礎,用于掌握服務器整體資源使用情況:
M
鍵可按內存排序,按P
鍵按CPU排序,快速定位高資源消耗進程。free -h
以人類可讀格式(GB/MB)顯示。vmstat 1 5
表示每1秒采樣一次,共5次,重點關注si
(swap in)、so
(swap out)、wa
(I/O等待)等指標。iostat -x 1
可查看磁盤的讀寫速率(r/s
、w/s
)、I/O等待時間(await
)等。netstat -tuln
顯示監聽端口,ss -s
統計連接數),排查網絡瓶頸。Apache作為Web服務器,其性能直接影響應用響應速度:
mod_status
模塊),顯示當前活動的請求、工作進程數等信息。mod_rewrite
)。/var/log/apache2/error.log
(Debian/Ubuntu)或/var/log/httpd/error_log
(CentOS/RHEL),定位配置錯誤、權限問題等。MySQL作為數據存儲層,其性能瓶頸(如慢查詢、鎖等待)會顯著影響應用性能:
mysqladmin status
查看服務器狀態(如連接數、查詢數),mysqladmin extended-status
顯示詳細狀態變量。SHOW STATUS LIKE 'Queries'
查看總查詢數,SHOW PROCESSLIST
查看當前所有連接及執行的SQL語句,識別長時間運行的查詢。slow_query_log=1
,long_query_time=2
),記錄執行時間超過閾值的SQL,用pt-query-digest
(Percona Toolkit)分析日志,找出性能瓶頸SQL。PHP作為應用層語言,其性能問題(如腳本執行慢、內存泄漏)需重點監控:
pm.status_path = /status
,可通過http://server-ip/status
查看PHP-FPM的進程數、活躍進程數、請求處理時間等(需Nginx/Apache配置反向代理)。/var/log/php-fpm/error.log
(PHP-FPM)或/var/log/php7.x-fpm.log
(PHP版本),定位語法錯誤、致命錯誤。對于大規?;蚍植际絃AMP環境,需借助高級工具實現集中化監控與可視化:
glances -w
)或API集成到其他系統。requests_per_second
、MySQL的innodb_buffer_pool_hit_ratio
),Grafana負責可視化(如 dashboard 展示),支持告警規則配置(如CPU使用率超過80%時發送郵件)。check_apache
插件)。日志是排查性能問題的關鍵,自動化監控可提前發現問題:
tail -f /var/log/apache2/access.log
查看Apache訪問日志(統計請求數、響應時間),tail -f /var/log/mysql/error.log
查看MySQL錯誤日志,journalctl -u apache2 -f
(Systemd系統)查看系統日志。df -h
檢查磁盤空間,free -m
檢查內存),若超過閾值(如磁盤空間剩余10%)則發送郵件/短信警報。