PHP 使用strace排查介面響應速度慢過程

2021-10-11 03:44:32 字數 453 閱讀 3734

有個內部介面 , 另外同事會呼叫該介面 , 把乙份郵件內容上傳到這個介面

對方反應該介面有呼叫超時現象

排查思路;

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

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

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

具體解釋

-s 1024是展示的資料大小

-tt 顯示毫秒值

-r 顯示每個系統呼叫的耗時

awk裡面的$3獲取的就是系統呼叫的耗時字段 , 列印出大於0.1秒的系統呼叫函式

可以看到所有耗時超過0.1秒的系統呼叫 , 對照**就可以找到了

使用strace追蹤多個程序

strace是 linux環境下的一款程式除錯工具,用來監察乙個應用程式所使用的系統呼叫及它所接收的系統資訊。追蹤程式執行時的整個生命週期,輸出每乙個系統呼叫的名字,引數,返回值和執行消耗的時間等。strace常用引數 p 跟蹤指定的程序 f 跟蹤由fork子程序系統呼叫 f 嘗試跟蹤vfork子程...

介面調不通排查方法

一.介面調不通,如何排查?答 介面沒有任何響應 1檢查介面ip位址是否正確,ping一下介面位址。2檢查被測介面埠號是否正確,可以在本機telnet介面的ip和埠號,檢查埠號能否連通 3檢查專案是否啟動或部署成功,可以找研發確認,或者自己登入到伺服器上,通過ps檢查專案的程序是否存在,然後用tail...

uClibc體驗 3 strace使用

2.cc mipsel linux gcc configure host mipsel linux 3.make 4.拷貝到小機,strace 出錯應用,毫無提示 5.strace 了一下hellqt,提示資訊很完整 6.鬱悶,開始逐個對比出錯和不出錯的應用,發現不出錯的都沒用多執行緒 7.這才想起...