Andreas Korthaus: kann man Rechner DAU-freundlich absichern (SOHO-Router...)?

Beitrag lesen

Hallo!

Optimal wäre es natürlich wenn ein Loadbalancer die Requests direkt schön verteilt.

Da ist die Frage der Definition von "Last", wie mir Michael Schroepl erst gerade sagte, das ist schwer zu beantworten. Ein vollautomatischer Loadbalancer wäre also für die Vielfalt der Aufgaben nur sehr beschränkt einsetzbar. Wäre wohl am Ende viel T&E nötig.

Hm, nchmal ein kleinens Verständnisproblem:

Angenommen man könnte den Apachen tatsächlich verteilen, dann gibt es aber imer noch nur einen Prozes im gesamten Cluster, der die Anfragen verteilt, oder? Also es gibt ja immer den eien Steuerprozess der sich um eingehende Anfragen kümmert, und diese dann auf die anderen Rechner verteilt. Dieser Prozess liegt dann ja immer auf einer Node, also muss jeder HTTP-Request auch an diese Adresse, oder?

Das hat sich inzwischen geklärt, nur eben für Apache & Co. nicht. Und das fände ich schon wichtig, da der afaik ja die ganzen Client-Prozesse über CGI startet, und das ist dann schon besser wenn das auch verteilt würde.

Jetzt bin ich ganz verwirrt. Warum sollten die ganzen Prozesse über CGI gestartet werden, was macht das für einen Sinn?

Ich meine jetzt speziell die Client-Prozesse für das Forum. Wenn ich das richtig verstehe leitet der Apache die Anfragen per CGI weiter, udn das heißt AFAIK dass der Apache einen entsprechenden Prozess, nämlich den Forums-Client Prozess startet. Dieser Komunizoert dann per Socket mit dem Forumsserver, so habe ich das verstanden. Aber eigentlich würde die Cluster-Software ja dann dafür sorgen dass diese Client-Prozesse ja entsprechend verteilt werden, das heißt dass sie auf anderen Nodes gestartet würden. Das heißt das Forum würde - wenn ich richtig liege - durchaus von dieser Architektur profitieren. eigentlich ist es sogar optimal für sowas ;-)

Selbst wenn man das täte wäre es immer noch möglich, die Klammotten auf mehrere Schultern zu laden.

Was ist denn mit dem Server-Prozess, da kann es ja nur einen geben, oder? Wobei das ja egal ist wenn der Cluster in der Lage wäre die Worker-Threads der Serversoftware auf anderen Nodes zu verteilen, oder?

Ich habe noch eine Frage, angenommen wir starten nur einen Server-Prozess für den Forumsserver, können die Client-Prozesse von den verschiedenen Clusterrechnern dann auch per Unix-Socket Domain drauf zugreifen?

Theoretisch ja. Aber warum sollten sie? Die Last wird vorher schon verteilt, alle Rechner haben die gleichen Datensätze, warum also Kommunikation?

Das heißt theoretisch sollte auf jeder Node ein Server-Prozess gestartet werden? Dazu muss die Server-Software aber mit mehrere Prozessen umgehen können, abgesehen davon dass die Cliuster Software in der Lage sein muss für "distrubutet shared memory" zu sorgen. Angenommen letzteres ist der Fall, wenn man davon ausgeht dass ein Forum immer aus nur einem Serverprozess besteht, wie soll es dann funktionieren auf allen Nodes je einen solchen Server-Prozess zu haben? Das funktioniert doch nicht, oder? Was passiert denn wenn ein Client ein Posting abschickt? Dann startet der Apache eine Client-Prozess, der dem Server-Prozess die Daten per Socket übergibt. Dieser speichert die Postings ja erstmal im RAM.
Ich verstehe nicht so recht wie sich der Server-Prozess jetzt verteilen lässt(also dass man parallel meherere Server-Prozesse mit gleichen DAten hat, obwohl die Software eigentlich nur für einen Prozess entwickelt ist). Im Prinzip müsste der Client den Request an jeden Server-prozess senden, oder macht das dann auch der Cluster? Irgendwie verstehe ich das nicht. Odere belibet wirklich alles beim alten, auf irgendeiner Node wurdde der Cleint-prozess gestartet der komuniziert mit dem Server per Unix Socket Domain, und die Cluster-Software sorgt dafür dass die anderen Prozessde auf den Anderen Nodes ebenfalls upgedatete werden? Nur - woher weiß die Software, ob ich schreibend auf den Server zugreife, so dass der Request an alle verteilt wird, und auf der andere Seite bei einem lesenden Anfrage, dass man die Daten direkt lokal aus dem Server-Prozess auf dem eigenen Rechner auslesen kann, also nichts übertragen werden muss?

Eigentlich ja nicht, oder? Aber auch wenn schon, das würde dann ja eh über TCP weitergeleitet, also kann man sich den Overhead auch sparen und in der Forums-Anwendung die Kommunikation direkt auf TCP umstellen, wenn ich CK richtig verstanden habe ist das jedenfalls möglich ;-)

Oder UDP, das gäbe noch weniger Overhead.

ja stimmt, aber dann muss man in die Anwendungen irgendeien Art von "Empfanmgskontrolle" einbauen, indem man eine Checksumme oder sowas mit zurücküberträgt.

Aber warum so kompliziert?

Ich dachte es geht nicht anders, s.o.

Ja, es ist durchaus möglich, das der Apache nicht out-of-the-box mitspielt. Sollten aber keine größeren chirurgischen Eingriffe nötig sein.

Ja? Willst Du Ihm mal eben abgewöhnen shared memory zu verwenden? ;-)
AFAIK brauchst Du mindestens 2 Prozesse, einmal den Steuerprozess, und mindestens einen der arbeitet. Und die verwenden wohl shared memory. Was willst Du dagegen machen?

Dann muss man aber bei jedem Schreibvorgang auf alle Platten gleichzeitig schreiben, und dazu noch alles über das Ethernet übertreagen, und zumindest Fast Ethernet ist noch deutlich langsamer als normaler Platten.

Aber vielleicht lohnt sich ja auch Gbit Ethernet, soweit ich weiß schafft ein normaler PCI-Bus mit 33 Mhz und 32Bit in der Praxis so um die 80 MB/sekunde, Fast Ethernet aber nur so um die 10. Also ist das schon eine deutliche Steigerung auch wenn man nicht ganz so viel ereicht wie mit schnelleren PCI Versionen, aber die sind viel zu teuer. Gbit Ethernet-Karten bekommt man dagegen schon unter 20 EUR.

Nur sind echte Gbit Ethernet Switches noch deutlich teuerer, bis 8 Ports finde ich noch ne Menge, aber darüber wirds sehr teuer. Naja, vermutlich braucht man es her nicht.

Eigentlich ein Mißverständnis meinerseits (Ich will schon eigentlich Daten und Anwendung getrennt halten, so ist das ja nicht ;-), aber bei näherer Betrachtung auch nicht schlecht, denn:

  • Es wird selten geschrieben und wenn, nicht allzuviel.
    Es werden zwar regelmäßig Postings abgesetzt, aber keine 100 Stück pro Sekunde o.ä. (Wäre mal statistisch aus den Logfiles zu ziehen, wie so die ganzen Spitzenwerte lauten). Die Dinger haben maximal rund 16 kib an Daten (Auch hier wieder: Durchschnitt aus den Logfiles)

Die Porsting werden ja zunächst nicht auf die Platte geschreiben, erst nach x Minuten dann alle zusammen, und ich meine mich zu erinnern das selbst dieses Schreiben dann schonmal für Verzögerungen sorgt, wenn man dagegen noch über Ethernet muss, dann wird dass sicher nicht besser, oder?
Dazu kommt dann noch die Archivierung nachts, die dann auch noch erheblich länger dauern würde, naja, vielleicht doch Gbit Ethernet? Wobei, sooo viele Daten fallen hier ja auch nicht an... ;-)

  • Verzögerungen beim Spiegeln liegen im Sekundenbereich, das fällt dem Benutzer nicht auf.
    Wenn das Posting beim sofortigem Reload der Forumsdatei nicht da ist, wird einfach neu reloaded. Das dauert alles ein paar Sekunden, bis dahin ist es gespiegelt. (Man könnte auch den Danke-Text dahingehend verändern, das es nicht mehr heißt "...ist jetzt im Forum lesbar" sondern "...ist in ein paar Sekunden im Forum lesbar") Auch hierüber sollten einige Angaben aus den Logfiles zu ziehen sein, wenn auch nicht mehr ganz so sauber, wie oben.

Apropos Logfiles, wie funktionieren denn dann Apache-Logs wenn die Prozesse Quer verteilt sind? Und der Apache loggt ja ständig, und das nicht wenig.

  • für sauberen Clusterbetrieb ist eine getrennte Kommunikationsleitung nötig, darüber ginge dann auch der Abgleich.
    Es gibt eh nur noch mindestens 100 MBit Netze, das sollte reichen.

Also braucht man 2 Netze?

| | Aber zumimndest bei mosix ist es wohl doch ein Problem mit dem RAM, bei normalen Prozessen und Threads ist das anscheinend kein Problem mehr, bei shared memory und pthreads wohl doch, und leider benutzen das viele gute Programme. Ich habe da irgendwo gelesen das das alles erst funktioniert wenn man auch verteiltes shared memory hinbekommt. Aber das ist noch nicht so weit.

Ist in Arbeit, erste Erfolge sind zu verzeichnen.

Naja, aber das ist ja dasselbe wie mit neuen Prozessoren udn Mainboards, wenn das so neu ist handelt man sich da sicher ne Menge Probleme ein...

Kennst Du denn Alternativen die das können? Und wenn das dann sowas noch unter FreeBSD laufen würde wäre das natürlich prima ;-)

Klar:
man gcc
xpdf 24547012.pdf
u.s.w.

;->

Meinst Du selber auf FreeBSD portieren? Naja, in einem Posting habe ich gelesen dass das nicht ganz so einfach ist, da eben der FreeBSD Kernel etwas anders funktioniert.

Ja, da hast Du Recht, auch wenn das vermutlich am Ende dann nicht in Frage kommt, ich finde das Thema trotzdem höchst interessant ;-)

Nicht nur das: jetzt kannst Du bei nächster Gelgenheit bei so einem Thema lässig in's Archiv verweisen:"Das hatten wir doch erst letzthin, schau doch mal [link ... " ;-)

Wobei diese Frage ja doch nicht ganz so oft kommt wie "2 Frames gleichzeitig ändern..." ;-)

Grüße
Andreas

0 71

Linux wirklich virenfrei?

Heiner
  • meinung
  1. 0
    Andavos
    1. 0
      fastix®
      1. 0
        Andavos
        1. 0

          Quizfrage

          Bio
          1. 0
            Götz
            1. 0
              Bio
              1. 0
                Geheim
                1. 0
                  Götz
              2. 0
                Götz
                1. 0
                  Bio
      2. 0
        Michael Schröpl
  2. 0
    fastix®
  3. 0
    milky
  4. 0
    Andreas Korthaus
    1. 0
      Christoph Zurnieden
      1. 0
        Andreas Korthaus
        1. 0
          Christoph Zurnieden
          1. 0
            Andreas Korthaus
            1. 0
              Christoph Zurnieden
              1. 0
                Andreas Korthaus
                1. 0
                  Christoph Zurnieden
                  1. 0

                    kann man Rechner DAU-freundlich absichern (SOHO-Router...)?

                    Andreas Korthaus
                    • internet-anbindung
                    1. 0

                      kann man Rechner DAU-freundlich absichern (SOHO-Router...)? [2]

                      Andreas Korthaus
                    2. 0
                      Christoph Zurnieden
                      1. 0
                        Andreas Korthaus
                        1. 0
                          Andreas Korthaus
                        2. 0
                          Christoph Zurnieden
                          1. 0
                            Andreas Korthaus
                            1. 0
                              Christoph Zurnieden
                              1. 0
                                Andreas Korthaus
                              2. 0
                                Andreas Korthaus
                                1. 0
                                  Christoph Zurnieden
                                  1. 0
                                    Daniela Koller
                                    1. 0
                                      Andreas Korthaus
                                      1. 0
                                        Andreas Korthaus
                                      2. 0
                                        Christoph Zurnieden
                                        1. 0
                                          Andreas Korthaus
                                          1. 0
                                            Christoph Zurnieden
                                      3. 0
                                        Daniela Koller
                                        1. 0
                                          Andreas Korthaus
                                    2. 0
                                      Christoph Zurnieden
                                      1. 0
                                        Daniela Koller
                                        1. 0
                                          Christoph Zurnieden
                                          1. 0
                                            Andreas Korthaus
                                            1. 0
                                              Christoph Zurnieden
                                              1. 0
                                                Andreas Korthaus
                                                1. 0
                                                  Christoph Zurnieden
                                                  1. 0
                                                    Andreas Korthaus
                                                    1. 0
                                                      Christoph Zurnieden
                                                      1. 0
                                                        Andreas Korthaus
                                                        1. 0
                                                          Christoph Zurnieden
                                                          1. 0
                                                            Andreas Korthaus
                                                            1. 0
                                                              Christoph Zurnieden
                                                              1. 0
                                                                Andreas Korthaus
                                                                1. 0

                                                                  Bug?

                                                                  Andreas Korthaus
                                                                  • zu diesem forum
                                                                2. 0
                                                                  Christoph Zurnieden
                                                                  1. 0
                                                                    Andreas Korthaus
                                                                    1. 0
                                                                      Christoph Zurnieden
                                                                      1. 0
                                                                        Andreas Korthaus
                                                                        1. 0
                                                                          Christoph Zurnieden
                                            2. 0
                                              Christian Seiler
                                              1. 0
                                                Andreas Korthaus
                                                1. 0
                                                  Christian Seiler
                                          2. 0
                                            Daniela Koller
                                            1. 0
                                              Christoph Zurnieden
                                  2. 0
                                    Andreas Korthaus
                                    1. 0
                                      Christoph Zurnieden
      2. 0

        Linux wirklich virenfrei? [Teil 2]

        Andreas Korthaus
      3. 0
        Christian Seiler
    2. 0
      Michael Schröpl