工具選擇
top、htop、vmstat 監控CPU、內存、磁盤I/O;sar 查看歷史性能數據。iperf3 測試網絡帶寬,speedtest-cli 檢測網絡延遲。ab(Apache Benchmark)或 siege 模擬HTTP請求,測試Web服務并發能力。mysqlslap 模擬數據庫負載,SHOW STATUS 查看數據庫運行狀態。測試流程
/etc/sysctl.conf,優化網絡和文件句柄限制,例如:net.core.somaxconn=2048(提升TCP連接隊列長度)fs.file-max=65535(增加文件描述符上限)。KeepAlive 并設置合理超時時間(如 KeepAliveTimeout 5),減少連接開銷。MaxRequestWorkers(或 MaxClients)控制并發連接數,避免資源耗盡。mod_rewrite 僅在需要時啟用),減少內存占用。mod_cache 緩存靜態內容,搭配 mod_expires 設置緩存過期時間。innodb_buffer_pool_size 為服務器內存的50%-70%,提升數據緩存效率。innodb_log_file_size(建議為1-2GB),優化事務日志寫入性能。EXPLAIN 分析慢查詢,添加索引避免全表掃描。OPTIMIZE TABLE 整理表碎片,提升查詢速度。php.ini,設置 opcache.enable=1,并配置緩存大?。ㄈ?opcache.memory_consumption=128M),減少腳本編譯開銷。pm.max_children、pm.start_servers),避免進程頻繁創建/銷毀。request_terminate_timeout 防止腳本超時阻塞。ab 或 siege 重新測試,觀察響應時間、錯誤率等指標變化。access.log 和 error.log 定位異常請求,針對性優化。注意:調優前需在測試環境驗證,避免生產環境直接修改關鍵參數。優先解決CPU、內存、I/O等基礎瓶頸,再逐步優化應用層邏輯。