Hallo zusammen
ich experimentiere gerade mit Curl Multi herum um parallel Abfragen zu senden.
Ich habe einen eigenen Server und habe leider den Fall dass Multi Curl langsamer ist als der normale Aufruf.
Aber zuerst mal der Aufbau.....
Um das zu testet, habe ich das Script von PHP: curl_multi_add_handle - Manual
genommen und auf 30 Urls erweitert. Ich hab da Wikipedia, Amazon usw als Domains genommen.
Hier messe ich nun die Zeit. Danach mach ich das gleich nochmal, bloß mit normalen CURL Aufbau und vergleiche die Zeiten:
Hier schauen die Zeiten auch Top aus:
Sprich normales Curl 22 Sek und Multi nur 6 Sekunden. Das hab ich ja auch erwartet.
Wenn ich nun aber die Domains tausche und 30 mal die gleiche Domain auf meinem Server abfrage, ist die parallel Abfrage langsam als die sequenzielle.
Woran kann denn sowas liegen. Gibt es irgendwo ne Einstellung für Apache wieviele Anfragen er gleichzeitig machen kann, oder woran kann denn sowas noch liegen ?
Danke schon mal im voraus
Gruß Tom
ich experimentiere gerade mit Curl Multi herum um parallel Abfragen zu senden.
Ich habe einen eigenen Server und habe leider den Fall dass Multi Curl langsamer ist als der normale Aufruf.
Aber zuerst mal der Aufbau.....
Um das zu testet, habe ich das Script von PHP: curl_multi_add_handle - Manual
genommen und auf 30 Urls erweitert. Ich hab da Wikipedia, Amazon usw als Domains genommen.
Hier messe ich nun die Zeit. Danach mach ich das gleich nochmal, bloß mit normalen CURL Aufbau und vergleiche die Zeiten:
PHP-Code:
function curlopen($url) {
$ref = " ";
$ch = curl_init();
$user_agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_HEADER, 0);
if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) {
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
}
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_INTERFACE, $_SERVER['HTTP_HOST']);//select IP
$result = curl_exec ($ch);
curl_close ($ch);
return $result;
}
HTML-Code:
1260810149.7 : ---------- : ----------START MULTI 1260810155.89 : ---------- : ----------ENDE 1260810158.89 : ---------- : ----------START SINGLE 1260810180.45 : ---------- : ----------ENDE
Wenn ich nun aber die Domains tausche und 30 mal die gleiche Domain auf meinem Server abfrage, ist die parallel Abfrage langsam als die sequenzielle.
HTML-Code:
1260812134.89 : ---------- : ----------START MULTI 1260812138.98 : ---------- : ----------ENDE 1260812141.98 : ---------- : ----------START SINGLE 1260812143.96 : ---------- : ----------ENDE
Danke schon mal im voraus
Gruß Tom
Kommentar