curl langsam connect_time

Betrachten Sie diesen code in einer php-Datei auf meinem VPS server:

<?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); ?>

gibt diese

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) 
"" }

Nach Tests an verschiedenen Zeiten des Tages, die "connect_time" ist konsequent auf die 50-Sekunden-Marke. Ich glaube, es sollte 10X schneller, wenn nicht im 1 Sekunden-Marke und darunter.

Ich bin nicht kenntnisreich mit der server-config, aber ich wurde gesagt, dass mein server CPU oder RAM Unrecht sein könnte. Früher habe ich den oberen Befehlszeile, um das folgende, das scheint in Ordnung zu mir:

Aufgaben: 80 total, 1 running, 79 sleeping, 0 stopped, 0 zombie

Cpu(s): 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 insgesamt, 1273128k verwendet, 824024k free, 0k
Puffer

Swap: 0k total, 0k used, 0k free, 0k
Cache

Frage ich mich, was könnte die Ursache für dieses Problem ?

EDIT: ZUSÄTZLICHE INFORMATIONEN

ping www.google.com Ergebnis. Es kam wie es gehen könnte foreover so hörte ich den Befehl nach dem 195th Linie

PING www.l.google.com (74.125.224.178) 56(84) bytes of data.

64 bytes from lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq=1
ttl=56 time=12.0 ms

64 bytes from lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq=2
ttl=56 time=12.1 ms

64 bytes from lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq=3
ttl=56 time=11.9 ms

...

64 bytes from lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq=194
ttl=56 time=11.9 ms

64 bytes from lax02s01-in-f18.1e100.net (74.125.224.178): icmp_seq=195
ttl=56 time=11.9 ms

--- www.l.google.com ping-Statistik --- 195 packets transmitted, 194 received, 0% packet loss, time 194711ms

traceroute wwww.google.com Ergebnis

traceroute to www.google.com (74.125.224.180), 30 hops max, 60 byte
Pakete

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 ms
0.777 ms 0.893 ms

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

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

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

6 209.85.248.185 (209.85.248.185) 11.986 ms 11.797 ms 11.781 ms

7 72.14.236.11 (72.14.236.11) 12.606 ms 12.363 ms 12.328 ms

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

  • Welche Art von Netzwerkverbindung Sie haben, was Ressourcen auf dem vserver host Aussehen? Ausführung der oben genannten arbeiten innerhalb von 1-3 Sekunden bei mir auf mehreren Plattformen. Es ist etwas, das lokal auf Ihrem setup. Können Sie ping/traceroute zu google und aktualisieren Sie Ihre Frage? Dies dürfte wohl in serverfault.
  • danke sixeightzero, ich fügte hinzu, dass Informationen zu meiner Frage
  • geändert, mein resolver-Konfiguration (resolv.config), um die Google-nameserver-ip. Hat nicht geholfen
  • > curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); dies funktioniert der trick Erstens ich verengt das problem auf cURL jobs abrufen der url google.com. Andere URLs waren in Ordnung, LOCKE durchgeführt, auch bei der Verwendung G die ip-Adresse als url. Es scheint, dass google hat IPv6 aktiviert, aber der traffic nicht route richtig/überhaupt und vielleicht LOCKE mal aus. Vielen Dank an alle, die geholfen haben.
  • schönen Fang! Dies ist eine große Frage und Auflösung.
InformationsquelleAutor JSL | 2012-06-21
Schreibe einen Kommentar