Jim: serverbelastung durch php&mysql?

hi!

ich hab mir einen kleinen chat programmiert und wollte wissen, ob ich es mir "leisten" kann, 2 iframes mit php & einer mysqltabellenabfragen alle 10 sec durchführen zu lassen?
(bei 5-10 usern)

lg
Jim

  1. Hallo,

    ich möchte gerne 5 Kilo hineinfüllen. Geht das?

    Na klar, kommt halt drauf an, wo hinein.

    gruss

    --
    no strict;
    no warnings;
    Ich weiss es nicht, aber ich bin mir nicht sicher.
    Kluge Leute sind auch nur Menschen.
  2. Hi!

    ich hab mir einen kleinen chat programmiert und wollte wissen, ob ich es mir "leisten" kann, 2 iframes mit php & einer mysqltabellenabfragen alle 10 sec durchführen zu lassen?
    (bei 5-10 usern)

    Das ist bereits vom Konzept her unsinnig, da ein Chat nicht über HTTP laufen sollte. Mehr dazu findest du im Archiv, z.B. http://forum.de.selfhtml.org/archiv/2005/5/t107301/#m666292

    Grüße,
    Fabian St.

    --
    Meine Website: http://fabis-site.net
    --> XHTML, CSS, PHP-Formmailer, Linux
    ---------------------
    fabi@erde ~# whatis spam
    spam: nothing appropriate
    ---------------------
    Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
    1. ja, weiß das http verbindunglos is & deshalb problematisch, aber bei diesen antworten wurde hauptsächlich geschimpft & keine argumente verwendet
      es gibt noch immer leute die keine extra software installieren möchten/ nicht wissen wie soetwas geht & ich verstehen nocgh nicht ganz was daran so schlimm ist mit php einen chat zu machen, außer das man nicht die möglichkeit hat erst bei veränderungen die seite neu laden zu lassen ...

      lg
      Jim

      1. Hi!

        ja, weiß das http verbindunglos is & deshalb problematisch, aber bei diesen antworten wurde hauptsächlich geschimpft & keine argumente verwendet

        Wo wurde bitte in dem von mir zitierten Thread geschimpft? Es wurden die Argumente auf eine sachliche Art und Weise dargelegt, um dem OP aufzuzeigen, dass ein Chat welcher auf PHP und MySQL bzw. Flatfiles basiert,
        nicht wirklich zu gebrauchen ist.

        es gibt noch immer leute die keine extra software installieren möchten/ nicht wissen wie soetwas geht & ich verstehen nocgh nicht ganz was daran so schlimm ist mit php einen chat zu machen, außer das man nicht die möglichkeit hat erst bei veränderungen die seite neu laden zu lassen ...

        Nun, wenn man sich mit etwas noch nicht auskennt, dann sollte man sich damit auseinandersetzen und vor allem die Ratschläge beherzigen, die einem gegeben werden.

        Grüße,
        Fabian St.

        --
        Meine Website: http://fabis-site.net
        --> XHTML, CSS, PHP-Formmailer, Linux
        ---------------------
        fabi@erde ~# whatis spam
        spam: nothing appropriate
        ---------------------
        Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
        1. aber es gibt doch keine andere möglichkeit ohne eine installation eines programmes, oder???

          lg
          jim

          1. aber es gibt doch keine andere möglichkeit ohne eine installation eines programmes, oder???

            Doch: Ajax
            Erklärung hier:
            http://www.adaptivepath.com/publications/essays/archives/000385.php

            Das ist allerdings extrem fortschrittlich sehr komplex.
            Dabei wird nicht die Seite geladen sondern ein XML-Dokument im Hintergrund. Dieses Dokument enthält nun die Änderungen, welche dann per  JS umgesetzt werden. Dadurch werden immer nur kleine Dateien angefragt und die Serverlast minimiert. Für den Benutzer ergibt sich eine Oberfläche, welche ihren Zustandslosen Charakter verloren hat.
            Vielleicht kann man mittels des XMLHttpRequest oder einer verwanten Klasse sogar eine dauerhaftere Verbindung hergestellt werden. Das entzieht sich jedoch meiner Wissensbasis.

            Gruß, Peter

            1. echo $begrüßung;

              Dabei wird nicht die Seite geladen sondern ein XML-Dokument im Hintergrund. Dieses Dokument enthält nun die Änderungen, welche dann per JS umgesetzt werden.

              Das braucht noch nicht mal XML. Es ist auch möglich, in einem (nicht sichtbaren) Frame etwas nachzuladen[1], auf das dann mittels Javascript zugegriffen werden kann.

              echo "$verabschiedung $name";

              [1] Ich glaube[2], HTML sollte es schon sein, damit man mit JS und DOM definierte Stellen - den Tag in dem der anzuzeigende Text steht - erreichen kann.

              [2] Prinzipiell hatte ich das irgendwann mal kurz probiert, kann mich aber nicht mehr erinnern, ob text/plain mit JS ansprechbar ist.

              1. Hallo

                Das braucht noch nicht mal XML. Es ist auch möglich, in einem (nicht sichtbaren) Frame etwas nachzuladen[1], auf das dann mittels Javascript zugegriffen werden kann.

                Wo ist da der unterschied zu einem XML-Dokument, bis auf dass eine valider HTML-Körper wesentlich größer istals ein einfaches XML-Gerüst.

                Gruß, Peter

                1. echo $begrüßung;

                  Wo ist da der unterschied zu einem XML-Dokument, bis auf dass eine valider HTML-Körper wesentlich größer istals ein einfaches XML-Gerüst.

                  Das Problem ist nicht die Größe sondern dass die verschieden (halbwegs aktuellen) JS-Implmentationen zwar das HTML-DOM verstehen, aber nicht unbedingt XML.

                  Und auch ein gültiger HTML-Körper lässt sich aus sehr wenigen Tags zusammensetzen.

                  echo "$verabschiedung $name";

              2. Moin,

                Das braucht noch nicht mal XML. Es ist auch möglich, in einem (nicht sichtbaren) Frame etwas nachzuladen[1], auf das dann mittels Javascript zugegriffen werden kann.

                Bei einem, wie auch immer, strukturiertem Dateiformat, müssen auch die Strukturen trasportiert werden. Hinzu kommen die HTTP-Header - und da liegt doch der eigentliche Grund: Der übermäßig unnötige Traffic zum IRC-Protokoll.

                Gruß aus Berlin!
                eddi

                1. hallo eddi

                  Das braucht noch nicht mal XML. Es ist auch möglich, in einem (nicht sichtbaren) Frame etwas nachzuladen[1], auf das dann mittels Javascript zugegriffen werden kann.

                  Bei einem, wie auch immer, strukturiertem Dateiformat, müssen auch die Strukturen trasportiert werden. Hinzu kommen die HTTP-Header - und da liegt doch der eigentliche Grund: Der übermäßig unnötige Traffic zum IRC-Protokoll.

                  Das bestreite ich nicht. Und ich hab auch nicht vor, das so einzusetzen. Ich wollte nur sagen, dass es so geht.
                  Auf die Nebenwirkungen, durch Verwendung einer nicht für den Einsatzzweck vorgesehenen Technik, wurde ja schon hingewiesen.

                  dedlfix

                  1. Moin dedlfix,

                    ... ich ... ich ... Ich ...

                    wenn ich geziel jemanden/_Dich_ ansprechen mag, ist dies an _meiner_ Begrüßung zu erkennen...

                    Gruß aus Berlin!
                    eddi

            2. Nabend,
              PHP-Chats bei denen immer irgendein Frame refreshen muss sind nervig und verursachen unnötig viel Traffik und Last.
              Es gibt aber auch Möglichkeiten mit PHP Chats zu programmieren die nie nachladen, oder viel Serverlast beanspruchen.
              Allerdings ist dazu ein beliebiges zusätzliches Chat-System nötig, dazu lässt sich aber jeder öffentliche IRC missbrauchen ;)
              Setzt euch mal mit Socket-Verbindungen auseinander. Ein PHP-Script kann endlos laufen und dabei einem TCP-Socket horchen (dem IRC-Chat) und nur wenn dort etwas geschrieben wird das auch in echtzeit auf dem Browser ausgeben.
              Vorteile sind eine sehr geringe Serverauslastung, eine permanente Serververbindung und eine hohe Reaktionszeit.

              greetz RFZ

              1. Hallo

                Ein PHP-Script kann endlos laufen

                Das nennt sich dann HTTP-Streaming und a) unterstützen nur sehr wenige (Miet-)Server, b) belegt das wesentlich mehr Serverresourcen als ein regelmäßiger Refresh und c) entspricht das nicht dme HTTP-Protokoll und wird von älteren Browsern nicht unterstützt.

                Ich kann diese Technik _nicht_ empfehln.

                Gruß, Peter

                1. Das nennt sich dann HTTP-Streaming und a) unterstützen nur sehr wenige (Miet-)Server, b) belegt das wesentlich mehr Serverresourcen als ein regelmäßiger Refresh und c) entspricht das nicht dme HTTP-Protokoll und wird von älteren Browsern nicht unterstützt.

                  Also die Server-Last ist dabei sehr gering, das kann ich ja selbst überprüfen (unter 1%). Und die Hoster die ich kenne, brechen ein Script nicht nach Ausführungs-Zeit ab, sondern wenn das Script über längere Zeit viel Recourcen verbraucht, also nach CPU Zeit, und mein eigener IRC-Client wurde dabei noch nie abgebrochen. Und ich hab keinen eigenen Server, sondern ein handelsübliches Webpaket.

                  Bei Chats mit refreshenden Frames geht mit schonmal das geklicke mancher Browser tierisch auf die nerven, und dann kann es immer mal passieren, dass diese plötzlich mal aufhören die Updates zu laden, und man bekommt es nichtmal mit.

                  Meiner Meinung nach ist eine permanente Serververbindung das einzig Wahre für Chats. Auch wenn HTTP dafür vielleicht nicht gebaut ist, es können definitiv mehr Browser als z.B. Java, Flash oder gewagte JS Konstruktionen.

  3. hi jim!

    ich will in php einen Chat realisieren, da das HTTP-Protokol aber einseitig agiert (der Server kann dem Clienten keine Veränderungen melden) muss man Seiten automatisch nach z.B. 10 sec wieder neu laden lassen, da das aber sehr Serverbelastend werden kann, hatte ich die Idee:
    und zwar lasse ich nicht immer das ganze chatfenster neu geladen (mysql-abfrage & große datei), sondern nur eine die datei abfragen.php (siehe unten)

    generelles zum Ansatz von https://forum.selfhtml.org/?t=107932&m=671105 mit DBs:

    Das würde ich ohne DB realisieren. Dabei würde ich versuchen mit Shared Memory oder tmpfs zu arbeiten. Dabei bliebe die grundlegende Struktur der IDs zur Kennung weiterhin Basis. Nur würde das Ablegen von Daten erheblich schneller abgearbeitet werden und die Maximallast an zu verarbeitenden Dateneingängen wäre durch die Größe des Speichers beschrängt und kann der Maschine überschaubar Resourcen kosten.

    ist ein chat für 5-10 personen auf diese art möglich/sinnvoll?

    Machbar, aber m. E. nicht sinnvoll. HTTP ist dafür das falsche Protokoll! Suche nach Lösungen mittels PHP einen ICQ-Server zu nutzen.

    Gruß aus Berlin!
    eddi

    Gruß aus Berlin!
    eddi