Ankündigung

Einklappen
Keine Ankündigung bisher.

Zusammenbruch von Internetseiten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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?

  • #2
    Also ne Seite sollte bei "sauberer" Programmierung nicht zusammen brechen ..

    Egal wieviele User online sind. Das einzigste was passieren kann ich das diene Seite ein wenig langsam wird wenn zu viele DB-Zugriffe auf einmal gestartet werden ...



    welche Seiten brechen denn zusammen ???

    würd ich gern mal sehen *hehe*

    Kommentar


    • #3
      Ich habe solche Geschichten von einem Freund gehört. Ich selber habe solche Seiten noch nicht gesehen. Aber es hat mich eben nachdenklich gemacht.
      Ich weiß natürlich nicht ob meine Seiten 100% sauber programmiert sind, aber sie funktioniert. Und die Datenbankzugriffe auch.
      Hilft es eigentlich, bei jeder Seite die einen Datenbankzugriff beinhaltet diesen mit mysql_close(); auf der selben Seite wieder zu schließen?

      Kommentar


      • #4
        Zitat von mysql_connect PHP-Manual
        Die Verbindung zum Datenbank-Server wird geschlossen, sobald die Ausführung des PHP-Skripts beendet ist oder vorher explizit die Funktion mysql_close() aufgerufen wird.

        Kommentar


        • #5
          Ich hatte nur einmal eine Fehlermeldung bekommen, das zuviele Datenbankverbindungen aufgemacht worden sind.
          Woran kann das gelegen haben?

          Kommentar


          • #6
            Zunächst einmal sollte man mit dem Mythos der beispielsweise 500 User gleichzeitig brechen. Sofern deine Seiten nicht durchweg je 10 Sekunden für die Antwort brauchen, ist es bereits sehr sehr schwierig, diese große Zahl zu erreichen. Vielleicht klingt es nicht viel, aber selbst bei 2000 User, die gleichzeitig online sind, ist es sehr unwahrscheinlich, das tatsächlich 500 User parallel eine Seite abfragen.

            Wie Megastar schon schrieb, ist es unwahrscheinlich, dass eine vernünftig geschriebene Seite tatsächlich zusammenbricht, da normalerwise vorher der Apache dicht macht und nicht mehr Clients ranlässt. Nach aussen mag es dann vielleicht so aussehen...
            Tatsächlich kann aber gerade bei der Datenbank-Last bei sehr vielen parallelen Selects und Updates die Performance derart in die Knie gehen, dass irgendwann die Last nicht mehr linear, sondern exponentiell steigt. Kommt eine Seite mit 475 parallelen Usern noch zurecht und die Seiten werden annehmbar in einer Sekunde geliefert, kann es durchaus sein,d ass 500 parallele Anfragen sich gegenseitig derart behindern, dass es zu massiven Timeout-Situationen kommt und viele User selbst in 30 Sekunden noch keine Antwort haben.

            Pauschale Regeln gibt es da nicht, ausser für den normalen Hobby-Bereich, dass diese Zahl von 500 Usern organisatorisch vermieden werden kann. Selbst für ein Browser-Game, nehmen wir einen Fussball-Manager, kann man das Regeln, dass man die Auswertungen zeitlich verteilt. Gerade solche Browser-Games mit typischen Auswertungszeiten haben eine durchaus höhere Gefahr, dass ein "Run" zu einer bestimmten Uhrzeit stattfindet. Lösungen, dass Pokalspiele morgens ausgewertet werden, Trainings nachts, Ligaspiele nachmittags/abends und dass das ganze in Pakete aufgeteilt wird: Die ersten 50 Spiele um 16 Uhr, die zweiten um 16:15 Uhr usw., bewirken bei den Usern eine natürliche Verteilung. Und wenn man dann noch einen Browser-Refresh sehr früh in stark belasteten Scripten verhindert und stattdessen beispielsweise einen Meta-Refresh von 20 Sekunden einbaut oder was weiss ich, verhindert man auch exzessives F5-Drücken...

            Kommentar


            • #7
              Ich hatte nur einmal eine Fehlermeldung bekommen, das zuviele Datenbankverbindungen aufgemacht worden sind.
              Woran kann das gelegen haben?
              http://dev.mysql.com/doc/refman/5.0/...nnections.html

              Oder einfach mal googeln

              Kommentar

              Lädt...
              X