《PHP應(yīng)用:php include類文件超時(shí)問題處理》要點(diǎn):
本文介紹了PHP應(yīng)用:php include類文件超時(shí)問題處理,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
最近發(fā)現(xiàn),php運(yùn)行自動(dòng)加載類函數(shù)時(shí)總是超時(shí),跟蹤php慢查詢?nèi)罩?發(fā)現(xiàn)程序卡在了include某個(gè)類文件時(shí)竟然超時(shí).PHP編程
??? 初步定位是io響應(yīng)超時(shí),硬盤讀取有問題.PHP編程
??? 通過幾個(gè)命令來(lái)定位:PHP編程
??? iostat -d -x -k 1 10 // 運(yùn)行10次查看iostat中wait參數(shù)很大,一般不超過5ms,await? svctm這2個(gè)參數(shù)越接近,io性能越好.PHP編程
??? 參考其余博客,PHP編程
await:? 每一個(gè)IO哀求的處理的平均時(shí)間(單位是微秒毫秒).這里可以理解為IO的響應(yīng)時(shí)間,一般地系統(tǒng)IO響應(yīng)時(shí)間應(yīng)該低于5ms,如果大于10ms就比較大了.
???????? 這個(gè)時(shí)間包括了隊(duì)列時(shí)間和服務(wù)時(shí)間,也就是說(shuō),一般情況下,await大于svctm,它們的差值越小,則說(shuō)明隊(duì)列時(shí)間越短,反之差值越大,隊(duì)列時(shí)間越長(zhǎng),說(shuō)明系統(tǒng)出了問題.svctm??? 表示平均每次設(shè)備I/O操作的服務(wù)時(shí)間(以毫秒為單位).如果svctm的值與await很接近,表示幾乎沒有I/O等待,磁盤性能很好,如果await的值遠(yuǎn)高于svctm的值,則表示I/O隊(duì)列等待太長(zhǎng),???????? 系統(tǒng)上運(yùn)行的應(yīng)用程序?qū)⒆兟?PHP編程
??? sudo iotop -o , // 查看在劃硬盤的程序,查看進(jìn)程io占用比例PHP編程
??? sudo perf top // 查看進(jìn)程io占用比例PHP編程
??? sudo hdparm -t /dev/**** 查看磁盤讀取效率PHP編程
??? 顯示: Timing buffered disk reads:?? 10 MB in? 3.14 seconds =?? 3.18 MB/secPHP編程
??? 查看非中斷睡眠PHP編程
??? while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; donePHP編程
通過上述命令跟蹤后,硬盤讀取效率很低,進(jìn)一步原因,還不得而知,料想可能是硬盤有壞道.PHP編程
《PHP應(yīng)用:php include類文件超時(shí)問題處理》是否對(duì)您有啟發(fā),歡迎查看更多與《PHP應(yīng)用:php include類文件超時(shí)問題處理》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/12455.html