Andreas Korthaus: OT: performanter Server für HTTP-Logging

Beitrag lesen

Hallo zusammen!

Ja, ich kannte die Logging-Funktionen des Apachen, nur wie Philipp rictig sagt brauche ich nur 1 % des Apachen!
Und der Apache soll verhältnismäßig langsam sein was das Ausliefern von statischen Seiten angeht habe ich mir sagen lassen! IIS z.B. sei schneller, und auch eienige abndere für Linux.
Ist j auch logisch, der Apache ist ein wirklich tooles und _flexibles_ programm, nur bin ich der Meinung das Flexibilität fast immer auf Kosten von Performance geht. Alles was dynamisch geladen wird ist schlecht. Wie ich das "spezifiziert habe", ich muß nur Request annehmen und in eine Datei schreiben, und z.B. ein Bild mit 200er Statuscode zurücksenden, so wenig wie möglich. Ich brache keinen Webserver der den Request erstmal parst, analysiert, mit irgendwelchen KOnfigurationsdaten abgleicht, loggt, und dann aus dem Dateisystem eine Datei holt, dynamisch einen Header erzeugt, die Datei einliest und in den HTTP-Code einbaut. Bei mir reichen 3 Schritte. HTTP-Header entgegennehmen, in Datei schreiben und fertigen Response senden, der immer gleich ist.
Ich denke wenn sich ein Apache-programmiere hinsetzt udn so eien Server in C schreibt wird er 10 bis 100 mal schnelle rals de Apache, das _muss_ er einfach! Die Frage ist nur wie nahe ich diesem Optimum komme, heute würde ich vermutlich 10-100 mal langsamer sein als der Apache ;-)
Die Frage ist auch wie groß bei einer solchen Anwendung der Unterschied zwischen einem PERL-Dämon und einem C-Dämon ist. Die Anforderung ist ja recht klar definiert(Dämon, HTTP rein > in Datei > 1x1.gif als Response).
Wie mir Philipp erklärt hat ist das wohl doch ein Unterschied ob PERL oder C. Und wenn ich das in Perl programmiere sollte ich moglichst weitgehend auf PERL-Module verzichten, oder? Denn das ist vermutlich ziemlicher Overhead. Aber ist denn so ein "lite-httpd" _ohne_ Module überhaupt möglich?
Ist das viuelleicht vergleichbar mit dem Unterschied zw. C und C++? Bei letzterem muß man ja auch nicht mehr so viel zu Fuß machen wie beim alten C!

=> da gibt's nur eines: Testen! ;)

Nur wie? ;-) Das hatten wir ja mal, aber wie soll man bitte mehrere 1000 Requests pro Sekunde erzeugen? Mit PHP unter Windows, schaffe ich fast nichts, vielleicht ja mit C.

Viele Grüße
Andreas

0 40

Eigener Webserver in Delphi

Kay
  • sonstiges
  1. 0
    Philipp Hasenfratz
  2. 0
    Philipp Hasenfratz
    1. 0
      Kay
    2. 0
      Andreas Korthaus
      1. 0
        Philipp Hasenfratz
        1. 0

          OT: performanter Server für HTTP-Logging

          Andreas Korthaus
          • webserver
          1. 0
            Philipp Hasenfratz
            1. 0
              Andreas Korthaus
              1. 0
                Philipp Hasenfratz
              2. 0
                Michael Schröpl
            2. 0
              Sven Rautenberg
              1. 0
                Philipp Hasenfratz
                1. 0
                  Andreas Korthaus
                  1. 0
                    Philipp Hasenfratz
                    1. 0
                      Andreas Korthaus
                      1. 0
                        Andreas Korthaus
                        1. 0
                          Philipp Hasenfratz
                          1. 0
                            Andreas Korthaus
                            1. 0
                              Philipp Hasenfratz
                              1. 0
                                Andreas Korthaus
                                1. 0
                                  Philipp Hasenfratz
                              2. 0
                                Michael Schröpl
                                1. 0
                                  Andreas Korthaus
                            2. 0
                              Michael Schröpl
                        2. 0
                          Michael Schröpl
                          1. 0
                            Andreas Korthaus
                      2. 0
                        Philipp Hasenfratz
                        1. 0
                          Andreas Korthaus
                          1. 0
                            Philipp Hasenfratz
                            1. 0
                              Andreas Korthaus
                              1. 0
                                Philipp Hasenfratz
                                1. 0
                                  Andreas Korthaus
                                  1. 0
                                    Philipp Hasenfratz
                          2. 0
                            Michael Schröpl
                            1. 0
                              Andreas Korthaus
                              1. 0
                                Michael Schröpl
                  2. 0
                    Michael Schröpl
                    1. 0
                      Andreas Korthaus
                      1. 0
                        Michael Schröpl