之前调用一个三方的 WEB API,大量的请求超时,导致 PHP 进程被占用完。整个网站一直报 504。
其中一个优化措施就是对三方 API 调用设置超时时间。
use GuzzleHttpClient;
$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 秒。