Multi Curl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Multi Curl

    Hallo Gemeinde,
    ich möchte gerne mehrere Curl Abfragen gleichzeitig starten.
    Dafür möchte ich gerne Curl Multi nutzen und habe mir das Beispiel von

    PHP: curl_multi_add_handle - Manual

    genommen und auf 30 Quellen erweitert.

    curl_setopt($ch6, CURLOPT_URL, "http://meine-seite.de?id=1");
    curl_setopt($ch7, CURLOPT_URL, "http://meine-seite.de?id=2");
    curl_setopt($ch8, CURLOPT_URL, "http://meine-seite.de?id=3");

    Ich schreibe mir die Laufzeit dabei raus.

    Nach den 30 Abfragen starte ich ganz normale Curl Funktionen auf die gleiche Webseite (von mir).

    Was mich jetzt wundert, dass ich mit den jeweiligen Curl Anweisungen schneller bin, als wenn ich Sie parallel abfrage. Das ist ja nicht der Sinn der Sache :-(

    1305274626.0026 : ---------- : ----------START MULTI
    1305274631.1234 : ---------- : ----------ENDE

    1305274634.1236 : ---------- : ----------START SINGLE
    1305274636.3847 : ---------- : ----------ENDE



    Gibt es da irgendwelche Ansätze woran das liegen könnte ? Ich vermute mal stark an irgendwelche Servereinstellungen. MaxClients von Apache ist auf 256 gesetzt. Ist auch ein Root Server auf dem ich das teste.

    Vielleicht hat jemand da nen Ansatz ?

    Viele Grüße
    Tom
    Zuletzt geändert von JR-EWING; 13.05.2011, 14:31.
    Spambot Falle
    Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

  • #2
    Sind die Scripte hinter den URLs, die du abrufst, denn „parallel“ ausführbar?

    Sind vielleicht Sessions im Spiel? Wenn mehrere Scripte auf die gleiche Session zugreifen wollen, blockiert das aktuelle Script den Zugriff auf die Session-Datei so lange, bis es fertig ist. (Dagegen hilft, so früh wie im Ablauf möglich session_write_close aufzurufen.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ich habe gerade noch ein bisschen rumexperimentiert:

      Testweise habe ich jetzt

      KeepAlive auf Off geschaltet. Muss noch schauen wozu das genau ist:

      Und ich hab meine Connections auf dem Server erhöht.

      <IfModule mpm_prefork_module>
      ServerLimit 900
      StartServers 20
      MinSpareServers 5
      MaxSpareServers 20
      MaxClients 800
      MaxRequestsPerChild 0
      </IfModule>


      <IfModule mpm_worker_module>
      ServerLimit 900
      StartServers 20
      MaxClients 800
      MinSpareThreads 25
      MaxSpareThreads 75
      ThreadsPerChild 25
      MaxRequestsPerChild 0
      </IfModule>

      Gefunden habe ich das auf:
      how many connections apache can go up to? - Web Hosting Talk

      Jetzt scheint es zu gehen.

      Super vielen Dank !

      Gruß Tom
      Spambot Falle
      Wem das Wasser bis zum Hals steht, sollte nicht den Kopf hängen lassen.

      Kommentar

      Lädt...
      X