ab(ApacheBench,輕量級基準測試)、stress(系統資源壓力測試);top/vmstat/iostat(Linux系統自帶,監控資源占用)、Prometheus+Grafana(實時監控系統指標)、New Relic/Datadog(第三方應用性能監控)。適用于簡單HTTP請求的性能測試,通過命令行快速獲取響應時間、吞吐量等指標。
基本命令示例:
ab -n 1000 -c 100 http://your-centos-server/index.php/Index/index
參數說明:
-n 1000:總請求數(模擬1000次請求);-c 100:并發用戶數(同時有100個請求);http://your-centos-server/index.php/Index/index:ThinkPHP應用的測試接口(替換為實際URL)。Requests per second(吞吐量,每秒處理的請求數)、Time per request(平均響應時間)、Failed requests(失敗請求數)等指標。適用于需要模擬用戶登錄、表單提交、數據庫交互等復雜場景的性能測試,支持生成可視化報告。
基本步驟:
bin目錄,運行jmeter啟動圖形化界面;Test Plan→Add→Threads (Users)→Thread Group,設置線程數(并發用戶)、Ramp-Up Period(啟動時間)、循環次數;Thread Group→Add→Sampler→HTTP Request,填寫服務器名稱、端口、路徑(如/index.php/Index/index);Thread Group→Add→Listener→View Results Tree(查看詳細請求)、Summary Report(匯總報告);Start按鈕,執行測試并查看結果。用于模擬CPU、內存、磁盤I/O等系統資源的負載,評估ThinkPHP應用在高負載系統環境下的穩定性。
基本命令示例:
stress --cpu 4;stress --vm 2 --vm-bytes 128M;stress --io 4;stress --net 2。Ctrl+C終止命令。系統資源監控
使用Linux自帶命令實時監控系統資源占用,定位瓶頸:
top:查看CPU、內存占用率,排序進程(按P鍵按CPU排序,M鍵按內存排序);vmstat 1:每1秒刷新一次,查看系統整體狀態(CPU、內存、I/O、進程等);iostat -x 1:查看磁盤I/O詳細情況(%util表示磁盤利用率,超過70%可能存在瓶頸);sar -n DEV 1:查看網絡流量(rxkB/s接收速率、txkB/s發送速率)。應用性能監控
config/app.php中app_debug = true),查看SQL執行時間、緩存命中率、請求耗時等信息;代碼層面
SELECT *、減少JOIN操作),使用EXPLAIN分析SQL執行計劃。服務器層面
config/app.php中gzip = true),減少傳輸數據量;Expires、Cache-Control),利用瀏覽器緩存靜態資源;數據庫層面
user_id、order_id);db_pool配置),減少連接創建和銷毀的開銷。通過以上流程,可全面評估ThinkPHP項目在CentOS上的性能表現,定位并解決性能瓶頸,確保應用在高負載場景下的穩定性和響應速度。