Sabine: Shared Memory / Semaphoren

Ich möchte in PHP mittels Shared Memory / Semaphoren einen einfachen Chat realisieren - aber bevor ich mir die viele Arbeit mache, WIE VIELE Chatter/INNEN verkraftet so 'n System, und mit was müsste ich so hardware-mäßig rechnen ?

Sabine

  1. Hallo,

    Ich möchte in PHP mittels Shared Memory / Semaphoren einen einfachen Chat realisieren - aber bevor ich mir die viele Arbeit mache, WIE VIELE Chatter/INNEN verkraftet so 'n System, und mit was müsste ich so hardware-mäßig rechnen ?

    Auf den heute erhältlichen Duchschnitts-PCs dürftest Du so um die 100-120 gleichzeitige Zugriffe unterbringen. Da bis zu einerSekunde Delay sich noch keiner beschwert (Zwei gingen auch noch, würden aber von einigen schon bemerkt), sind das dann etwa 10.000 Chatter (Entspr Anbindung natürlich vorrausgesetzt und einem durchschnittlichem Datenaufkommen von 256 Bytes). Das sind natürlich nur theoretische Werte. Wegen des Overheads von PHP würde ich in etwa ein Viertel veranschlagen, das sollte aber ebenfalls ausreichen.

    BTW: warum nimmst Du keinen der vielen fertigen Chats? Alle so mies?

    so short

    Christoph Zurnieden

    1. Vielen Dank für Deine Antwort.

      BTW: warum nimmst Du keinen der vielen fertigen Chats? Alle so mies?

      Habe mit Forums so mein Leid gehabt, dann habe ich ein Forum selber gestrickt, und das war gut so.

      Kennst Du vielleicht ein Chat, welcher schnell und schlank programmiert ist, und welcher so einfach gestrickt ist, das es später auch von meiner Wenigkeit möglich ist, diesen anzupassen ohne nur noch mit Bugs kämpfen zu müssen.

      Sabine

      1. Hallo,

        BTW: warum nimmst Du keinen der vielen fertigen Chats? Alle so mies?

        Habe mit Forums so mein Leid gehabt, dann habe ich ein Forum selber gestrickt, und das war gut so.

        Kennst Du vielleicht ein Chat, welcher schnell und schlank programmiert ist, und welcher so einfach gestrickt ist, das es später auch von meiner Wenigkeit möglich ist, diesen anzupassen ohne nur noch mit Bugs kämpfen zu müssen.

        Ah, alles klar, schon verstanden ;-)

        so short

        Christoph Zurnieden

    2. Hallo.

      Auf den heute erhältlichen Duchschnitts-PCs dürftest Du so um die 100-120 gleichzeitige Zugriffe unterbringen. Da bis zu einerSekunde Delay sich noch keiner beschwert (Zwei gingen auch noch, würden aber von einigen schon bemerkt), sind das dann etwa 10.000 Chatter (Entspr Anbindung natürlich vorrausgesetzt und einem durchschnittlichem Datenaufkommen von 256 Bytes).

      100-120 gleichzeitige Zugriffe

      Ist das nicht gleichbedeutend mit 100-120 Chattern ?

      10.000 Chatter

      Wie kommst Du auf 10.000 ?

      Gruß Pit

      1. Hallo.

        100-120 gleichzeitige Zugriffe

        Ist das nicht gleichbedeutend mit 100-120 Chattern ?

        Nein, das ist nur die höchstmögliche Zahl konkurierender Zugriffe ohne das ein subjektiver Lasteinbruch zu verspüren wäre. Da nun ein Chatter nur ein paar Buchstaben und etwas Protokoloverhead verbraucht, ohne großartige Rechenleistung (wird ja nur von einem empfangen und an alle wieder rausgeschickt, viel mit gemacht wird da nicht) kann diese Zahl an Zugriffen "gleichzeitig" verarbeitet werden. Da ja kaum Rechnezeit verbraten wird, kann dieser Pool recht rasch abgearbeitet und wieder aufgefüllt werden. 100 mal in der Sekunde bestimmt. Daher kommt die Schätzung mit den

        10.000 Chatter

        Das ist aber, wie schon in anderem Posting erwähnt, nur ein idealer, theoretischer Wert. Reale Werte dürften so um die 2.500 Chatter oder darunter liegen.

        so short

        Christoph Zurnieden

        1. Danke für Deine kompetente Antwort.

          Nur noch eine grundsätzliche Frage an Dich als Experte.

          Es gibt neben Shared Memory / Semaphoren auch noch die IRC Gateway Funktionen.

          Also ich kenne nur die IRC-Chat's mit Clientsoftware, die aber nicht in das Design von Websites passen.

          Wie würdest Du ein Chat mit PHP realisieren?

          Pit

          1. Hallo Pit,

            Wie würdest Du ein Chat mit PHP realisieren?

            Wenn Christoph jetzt was anderes antwortet als 'gar nicht',
            bin ich enttaeuscht :) Ein HTTP-basierter Chat ist eine
            Vergewaltigung des HTTP-Protokolls. Das bringt nichts. Schreib
            ein Java-Applet oder nutz ein fertiges. Da gibts zig, die dann
            zu einem IRC-Server connecten.

            Gruesse,
             CK

          2. Hallo,

            Danke für Deine kompetente Antwort.

            Nur noch eine grundsätzliche Frage an Dich als Experte.

            Es gibt neben Shared Memory / Semaphoren auch noch die IRC Gateway Funktionen.

            Hat zwar nichts, aber auch rein gar nichts miteinander zu tun, außer das beides in PHP ist, aber gut.

            Also ich kenne nur die IRC-Chat's mit Clientsoftware, die aber nicht in das Design von Websites passen.

            Einige sind anpassbar.

            Wie würdest Du ein Chat mit PHP realisieren?

            Wie der Christian schon ganz richtig vermutete: gar nicht. ;-)

            Oder eigentlich, denn diese Antwort stimmt immer: es kommt drauf an:
            Wenn Du im Intranet einen kleinen Chat haben möchtest und den auch eingebaut in eine Webseite, denn auch der ganze Rest läuft über den Browser, dann könnte man das machen. Bei 10-20 Beteiligten und einem kräftigem Netzwerk fällt der Overhead nicht weiter auf.
            Im Web ist das nicht zu empfehlen. Da sollte es ein kleines Java-Applet o.ä. sein, mit Minimalprotokol (Absender, Datum, (Kommando, ) Datengröße, Daten). Auf Serverseite eine einfaches Relay mit Login. (Login ist wichtig, um die Anzahl der Beteiligten regulieren zu können). Da die Daten im Klartext übers Netz gehen, ist evt noch eine Verschlüsselung (SSL o.ä.) nötig.

            so short

            Christoph Zurnieden