解決CentOS上執行cURL緩慢的問題
先說結論: 關掉Ipv6支援
解決方案參考: https://www.math.tamu.edu/~comech/tools/linux-slow-dns-lookup/
解決經過:
一開始是發現wordpress偶爾載入速度很緩慢,
尤其是後台,常常一個頁面要開5~30秒之久甚至Time out,
於是裝了QueryMonitor進行效能分析,
調查後發現大多時間都花在HTTP Calls(外連wordpress的API跟本機上的維護程式cron.php),
在經過一個小時多搜索wordpress API相關issue,只有零星幾篇文章,
延長PHP的cURL Timeout時間有稍微解決問題,
但也僅只能保證頁面正常載入,時間偶爾還是會爆掉。
後來仔細觀察短時間內多次的HTTP POST request,
發現只有第一次會需要約5~7秒的執行時間,
第二次後連往同一個主機的API就會降到10ms左右,
靈G一動猜測跟DNS解析有關,
果不其然,關鍵字找OS版本跟DNS slow的關鍵字就找到了有效的解法,
再回想了一下,以前在terminal ping別人的domain name也是會延遲個5秒左右,
取消了Ipv6的支援後,跟剛買的馬桶一樣順暢了,可喜可賀。
Filed under: Unix / Linux - @ 2021 年 7 月 23 日 下午 4:36