php include類檔案逾時問題處理,
最近發現,php運行自動載入類函數時總是逾時,跟蹤php慢查詢日誌,發現程式卡在了include某個類檔案時竟然逾時。
初步定位是io響應逾時,硬碟讀取有問題。
通過幾個命令來定位:
iostat -d -x -k 1 10 // 運行10次查看iostat中wait參數很大,一般不超過5ms,await svctm這2個參數越接近,io效能越好。
參考別的部落格,
await: 每一個IO請求的處理的平均時間(單位是微秒毫秒)。這裡可以理解為IO的回應時間,一般地系統IO回應時間應該低於5ms,如果大於10ms就比較大了。
這個時間包括了隊列時間和服務時間,也就是說,一般情況下,await大於svctm,它們的差值越小,則說明隊列時間越短,反之差值越大,隊列時間越長,說明系統出了問題。svctm 表示平均每次裝置I/O操作的服務時間(以毫秒為單位)。如果svctm的值與await很接近,表示幾乎沒有I/O等待,磁碟效能很好,如果await的值遠高於svctm的值,則表示I/O隊列等待太長, 系統上啟動並執行應用程式將變慢。
sudo iotop -o , // 查看在劃硬碟的程式,查看進程io佔用比例
sudo perf top // 查看進程io佔用比例
sudo hdparm -t /dev/**** 查看磁碟讀取效率
顯示: Timing buffered disk reads: 10 MB in 3.14 seconds = 3.18 MB/sec
查看非中斷睡眠
while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done
通過上述命令跟蹤後,硬碟讀取效率很低,進一步原因,還不得而知,猜想可能是硬碟有壞道。
http://www.bkjia.com/PHPjc/954663.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/954663.htmlTechArticlephp include類檔案逾時問題處理, 最近發現,php運行自動載入類函數時總是逾時,跟蹤php慢查詢日誌,發現程式卡在了include某個類檔案時竟然...