Frank: Zusammenbruch von Internetseiten

Hallo,
ich habe von Internetseiten gehört, die zusammenbrechen oder langsam werden, wenn zuviel User auf die Seite gleichzeitig gehen. Ich habe selbst eine Internetprojekt programmiert mit Datenbankanbindungen. Die Seite ist gehostet bei 1und1.

Welche Faktoren spielen eine Rolle, dass die Internetseite zusammenbrechen kann? Wie kann man dagegen vorgehen?

  1. hi

    Welche Faktoren spielen eine Rolle, dass die Internetseite zusammenbrechen kann? Wie kann man dagegen vorgehen?

    Im Prinzip gibt es 2 primäre Faktoren, welche die Auslieferung einer Seite beienflussen:

    1. Leistung des Servers

    Ist der Server überlastet, kann es dir Daten nicht schnell genug zur Verfügung stellen.

    1. Anbindung des Servers
      Steht nicht genug Bandbreite zum Übertragen des Servers zur Verfügung, dauert es länger bis der User alle Daten der Seite hat.

    Bei 1und1 würd ich mir darüber allerdings keine Gedanken machen, da meiner Erfahrung nach, die Server ordentlich dimensioniert sind und die Anbindung auch ordentlich ist.

    so long
    Ole
    (8-)>

    --
    Stickstoff eignet sich nicht für Handarbeiten.
    1. Hello,

      hi

      1. Leistung des Servers

      Ist der Server überlastet, kann es dir Daten nicht schnell genug zur Verfügung stellen.

      1. Anbindung des Servers
        Steht nicht genug Bandbreite zum Übertragen des Servers zur Verfügung, dauert es länger bis der User alle Daten der Seite hat.

      Schlechte Programmierung.
      Dazu gehören insbesondere Lost Handles bie Datei- und Datenbankzugriffen, auch nicht aufgelöste Resultsets.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Schlechte Programmierung.
        Dazu gehören insbesondere Lost Handles bie Datei- und Datenbankzugriffen, auch nicht aufgelöste Resultsets.

        Kannst du mir das bitte genauer erklären:
        Was sind "lost handles"?
        was sind "resultsets"?

        1. Hello,

          Schlechte Programmierung.
          Dazu gehören insbesondere Lost Handles bie Datei- und Datenbankzugriffen, auch nicht aufgelöste Resultsets.

          Kannst du mir das bitte genauer erklären:
          Was sind "lost handles"?
          was sind "resultsets"?

          Ein Filehandle erhält der Prozess, wenn er z.B. mit fopen() (C, PHP, ...) oder reset() (bei Pascal) eines angefordert hat. Hinter diesem handle versteckt sich ein Objekt. Alle Methoden, z.B. fread(), blockread() (bei Pascal) wissen, wie sie mit einem Handle bei einem entsprechnden Befehl umzugehen haben, welche Teilfunktion da nun genau ausgeführt werden muss. Das ist die frühe Objektorientierung noch aus der Assemblerzeit.

          Das OS hat nur eine begrenzte Anzahl von Handles zur Verfüng, da jedes Speicherplatz benötigt.

          Wenn man jetzt z.B. in einer Funktion

          function so_ist_es_falsch($dateiname)
          {
            $filehandle = fopen($dateiname, 'r+b');
            $dateiinhalt = fread($fielhandle, filesize($dateiname);

          echo $dateiinhalt;
          }

          ein Filehandle beschafft hat, und vergisst, die Datei wieder zu schließen, dann wird das Handle nicht zurückgegeben ans OS und gammelt bis zur Zwangstrenung am Scriptende vor sich hin.
          Nach dem Ende der Funktion kommt man auch nicht mehr heran, da die Variable $filehandle ja seine Lebensdauer am Funktionsende beendet, nicht aber das Handle, das sie bezeichnet hat.

          Es ist also verloren.

          So ähnlich ist das Bei Datenbankabfragen.

          Mit

          $resulthandle = mysql_query()

          wird automatisch ein Speicherbereich belegt und auf diesen ein Handle zurückgegeben. Wenn man nun vergisst, nach Gebrauch des Ergebnisses

          mysql_free_result($resulthandle)

          aufzurufen, und überschreibt die Variable einfach in einem nächsten Verwendungsfall mit einem neuen Handle, dann ist das alte auch verloren, und damit der Speicherbereich.

          Wenn viele so arbeiten, muss das OS oder das DBMS irgendwann anfangen zu swapen. Das ist genau der Punkt, an dem das System schlagartig langsam wird.

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau