cURL знает два разных тайм-аута.
Для CURLOPT_CONNECTTIMEOUT
не важно, сколько текста содержит сайт или сколько других ресурсов, таких как изображения, на которые он ссылается, потому что это тайм-аут соединения, и даже сервер не может знать о размере запрашиваемой страницы, пока соединение не будет установлено. 1003 *
Для CURLOPT_TIMEOUT
это имеет значение. Даже большие страницы требуют всего несколько пакетов в сети, но серверу может потребоваться больше времени для сборки вывода. Также количество переадресаций и других вещей (например, прокси) может значительно увеличить время отклика.
Вообще говоря, «наилучшее значение» для тайм-аутов зависит от ваших требований и условий сетей и серверов. Эти условия могут быть изменены. Поэтому нет «одного лучшего значения».
Я рекомендую использовать довольно короткие таймауты и повторить неудачную загрузку позже.
Кстати, cURL не загружает автоматически ресурсы, указанные в ответе. Вы должны сделать это вручную с дальнейшими вызовами на curl_exec
(с новыми таймаутами).