之前調用一個三方的 WEB API,大量的請求超時,導致 PHP 進程被占用完。整個網站一直報 504。
其中一個優化措施就是對三方 API 調用設置超時時間。
use GuzzleHttp\Client;
$client = new Client();
$url = 'https://www.sunzhongwei.com';
try {
$res = $client->request('GET', $url, ['timeout' => 1.5]);
$res = $res->getBody();
} catch(\Throwable $e) {
Log::info('Fail to call api‘);
}
timeout 默認值是 0, 即一直等待,這非常危險。所以這里改成了 1.5 秒。
