curl slow connect_time

Рассмотрим этот код в php-файле на моем сервере VPS:

<?php $url = 'http://www.google.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" ); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $content = curl_exec($ch); $ci = curl_getinfo($ch); curl_close($ch); var_dump($ci); ?> 

возвращает это

 array(22) { ["url"]=> string(21) "http://www.google.com" ["content_type"]=> string(24) "text/html; charset=UTF-8" ["http_code"]=> int(200) ["header_size"]=> int(2055) ["request_size"]=> int(147) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(50.095466) ["namelookup_time"]=> float(0.001114) ["connect_time"]=> float(50.019724) ["pretransfer_time"]=> float(50.019825) ["size_upload"]=> float(0) ["size_download"]=> float(23156) ["speed_download"]=> float(462) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(0) ["starttransfer_time"]=> float(50.070702) ["redirect_time"]=> float(0) ["certinfo"]=> array(0) { } ["redirect_url"]=> string(0) "" } 

После тестирования несколько раз в день, «connect_time» постоянно находится на отметке 50 секунд. Я считаю, что он должен быть на 10 раз быстрее, если не на отметке 1 секунда и ниже.

Я не осведомлен о конфигурации сервера, но мне сказали, что процессор или операционная система моего сервера могут быть виноваты. Я использовал верхнюю командную строку, чтобы отобразить следующее, что кажется мне хорошим:

Задачи: 80 общий, 1 бег, 79 спальных, 0 остановлен, 0 зомби

Cpu (ы): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si, 0.0% st

Mem: 2097152k всего, 1273128k б / у, 824024k бесплатно, 0k буферов

Обмен: 0k всего, 0k использовано, 0k бесплатно, 0k кэшировано

Мне интересно, что может быть источником этой проблемы?

EDIT: ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Результат ping www.google.com. Казалось, что это может продолжаться, поэтому я остановил команду после 195-й линии

PING www.l.google.com (74.125.224.178) 56 (84) байта данных.

64 байт от lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq = 1 ttl = 56 раз = 12,0 мс

64 байт от lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq = 2 ttl = 56 раз = 12,1 мс

64 байт от lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq = 3 ttl = 56 раз = 11,9 мс

64 байт от lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq = 194 ttl = 56 раз = 11,9 мс

64 байт от lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq = 195 ttl = 56 раз = 11,9 мс

— www.l.google.com статистика ping — передано 195 пакетов, получено 194, 0% потери пакетов, время 194711ms

Результат traceroute wwww.google.com

traceroute на www.google.com (74.125.224.180), максимум 30 переходов, 60 байтовых пакетов

1 ip- – * – .ip.secureserver.net ( . * .. ) 0.585 ms 0.642 ms 0.778 ms

2 be10.trmd0215-01.ars.mgmt.phx3.gdg (208.109.112.126) 0.599 мс 0.777 мс 0.893 мс

3 ip-97-74-253-122.ip.secureserver.net (97.74.253.122) 11.840 мс 12.119 мс 12.275 мс

4 ip-97-74-253-122.ip.secureserver.net (97.74.253.122) 12.389 мс 12.482 мс 12.600 мс

5 PR01.LAX03.google.com (206.223.123.21) 11.739 мс 11.709 мс 11.707 мс

6 209,85.248.185 (209.85.248.185) 11.986 мс 11.797 мс 11.781 мс

7 72.14.236.11 (72.14.236.11) 12.606 мс 12.363 мс 12.328 мс

8 lax02s01-in-f20.1e100.net (74.125.224.180) 11.774 мс 11.864 мс 11.842 мс

Пытаться:

 curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); 

Вышеизложенное предотвратит попытку cURL сначала попробовать IPv6.

Я просто использовал ту же конфигурацию, которую вы дали, и получил следующее:

 array 'url' => string 'http://www.google.com' (length=21) 'content_type' => string 'text/html; charset=UTF-8' (length=24) 'http_code' => int 200 'header_size' => int 2079 'request_size' => int 151 'filetime' => int -1 'ssl_verify_result' => int 0 'redirect_count' => int 0 'total_time' => float 0.281 'namelookup_time' => float 0 'connect_time' => float 0 'pretransfer_time' => float 0 'size_upload' => float 0 'size_download' => float 23168 'speed_download' => float 82448 'speed_upload' => float 0 'download_content_length' => float -1 'upload_content_length' => float 0 'starttransfer_time' => float 0.187 'redirect_time' => float 0 'certinfo' => array empty 'redirect_url' => string '' (length=0) 

Я предполагаю, что ваше соединение с сервером может иметь проблемы с пропускной способностью и / или облагаться каким-либо другим способом.