Andreas: Geschwindigkeit...

Beitrag lesen

Hi!

So schaffe ich mit PHP nichtmal 10 Requests pro Sekunde.

Aber kann ich nicht einfach fsockopen aus dere Schleife Auslagern
und die Socket auslagern?

Nicht so richtig. Aber du kannst was anderes machen (Perl, weil man
in PHP nicht forken kann):

Also in PHP müßte ich jedesmal mit fsockopen eine Verbindung aufbauan, und die auch wieder schließen, richtig?

use LWP::Simple;

sub waiter {
wait;
$SIG{CHLD} = &waiter; # for SysV
}

sub make_conn() {
  get('http://wwwtech.de/');
}

$SIG{CHLD} = &waiter;
for(1..1000) {
  my $pid = fork();
  if(defined $pid) {
    if(!$pid) {
      make_conn();
      exit(0);
    }
  }
  else {
    die("Could not fork!");
  }
}

d.h. Du baust 1000 Parallele Verbindungen auf?

Kann man das den noch irgendwie beschleunigen,

Ja: mehrere Verbindungen gleichzeitig, nicht nacheinander machen :)

In PHP geht das nicht, oder? höchtens durch 10 Scripte ich die parallel starte, oder?

oder ist PERl da deutlich schneller?

Das hat nix mit Perl oder PHP zu tun -- das liegt am Protokoll.

ja, aber wenn PHP nicht parallel in einem Script mehrere Verbindungen öffnen kann hat hat es ja sehr wohl was mit PHP/PERl zu tun, oder?

Warum, dauer das absenden so lange?

Nicht das Absenden dauert lange, sondern das Aufbauen der Verbindung
dauert lange. Bei TCP/IP muessen 3 Pakete geschickt werden, um eine
Conn aufzubauen (der 3-Wege-Handshake):

You                           Host
                  --> SYN  --> Listens
Waiting for ACK   <-- ACK  <-- Waits for ACK
Established       --> ACK  --> Established

Dasselbe gilt fuer den Abbau einer Verbindung:

You                       Host
              --> FIN --> Established
Waits for ACK <-- ACK <-- Waits for ACK
Closed        --> ACK --> Closed

Was zum Lesen dazu:

Also die ganze Komunikation findet dann jedesmal in 1/10 Sekunde statt? Über die Entfernung? Ich dachte man schickt nur einfach den Request ab und kümmert sich nicht um den Rest, im prinzip ist es für einen derartiegen Test ja nicht wichtig ob die bestätigung kommt, das sihet man ja dann auf dem Server, daher meien Idee fsockopen auszulagern

Grüße
Andreas

0 44

Geschwindigkeit...

Philipp Hasenfratz
  • webserver
  1. 0
    Mulder
    1. 0
      Philipp Hasenfratz
      1. 0
        Andreas
        1. 0
          Philipp Hasenfratz
          1. 0
            Andreas
            1. 0
              Christian Kruse
              1. 0
                Andreas
                1. 0
                  Philipp Hasenfratz
                  1. 0
                    Andreas
                    1. 0
                      Philipp Hasenfratz
                2. 0
                  Christian Kruse
                  1. 0
                    Andreas
                    1. 0
                      Christian Kruse
              2. 0
                Christian Kruse
      2. 0
        Christian Kruse
        1. 0
          Philipp Hasenfratz
          1. 0
            Mulder
          2. 0
            Christian Kruse
            1. 0
              Philipp Hasenfratz
              1. 0
                Christian Kruse
                1. 0
                  Philipp Hasenfratz
                  1. 0
                    Christian Kruse
  2. 0

    Geschwindigkeit... - und hier die erste Auswertung...

    Philipp Hasenfratz
  3. 0
    code2i
    1. 0
      Philipp Hasenfratz
      1. 0
        Klaus Mock
        1. 0
          Philipp Hasenfratz
  4. 0

    zweite Auswertung - Danke Andreas

    Philipp Hasenfratz
    1. 0
      Andreas
      1. 0
        Philipp Hasenfratz
  5. 0
    Michael Schröpl
    1. 0
      Andreas
      1. 0
        Michael Schröpl
        1. 0
          Andreas
          1. 0
            Michael Schröpl
    2. 0
      Philipp Hasenfratz
      1. 0
        Andreas
        1. 0
          Philipp Hasenfratz
          1. 0
            Andreas
            1. 0
              Philipp Hasenfratz
          2. 0
            Michael Schröpl
            1. 0
              Philipp Hasenfratz
              1. 0
                Philipp Hasenfratz