[PHP] 使用strace排查接口響應速度慢過程


有個內部接口 , 另外同事會調用該接口 , 把一份郵件內容上傳到這個接口

對方反應該接口有調用超時現象

 

排查思路;

排查access日志 , 看到有499狀態碼 , 響應時間是5秒 , 可以確定的是對方設置了超時時間是5秒

 

對方想要把超時時間盡量小 , 因此繼續排查代碼中可能速度慢的地方 , 使用strace監聽所有的fpm進程

strace $(pidof 'php-fpm'|sed 's/\([0-9]*\)/-p \1/g')  -s 1024 -tt -r   2>&1|awk '{if ($3>0.1) print $3,$0}'

 

具體解釋

-s 1024是展示的數據大小

-tt 顯示毫秒值

-r 顯示每個系統調用的耗時

 

awk里面的$3獲取的就是系統調用的耗時字段 , 打印出大於0.1秒的系統調用函數

可以看到所有耗時超過0.1秒的系統調用 , 對照代碼就可以找到了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM