WinFuture-Forum.de: Was Verursacht Große Serverlast? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Was Verursacht Große Serverlast?


#1 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 29. Dezember 2008 - 15:54

Aus aktuellem Anlass hab ich mal ein paar Serverlastfragen.

1. Ich habe eine Seite, die mit Textdateien arbeitet. Der Server unterstützt nämlich zwar PHP aber ich hab keine Datenbank. Nun befinden sich also in einem Ordner lauter Textdateien mit den "Datensätzen" sozusagen. Sagen wir mal 500 Dateien. Ausgelesen werden aber in einer Schleife ca. 100 bei einem Aufruf (also nicht alle). Kann das schon eine Serverlast verursachen die so bedenklich ist, dass der Provider den Account sperrt? Welche Last würde verursacht werden, wenn ich das Ganze über eine mySQL Datenbank realisiere oder nimmt sich das nicht viel?

2. Ich hatte früher bei jedem Seitenaufruf eine Session gestartet, weil ich es ganz praktisch fand, Informationen in Sessionvariablen zu übergeben. Das hab ich jetzt erstmal geändert und starte nur noch an den notwendigen Stellen Sessions. Kann das eine zu hohe Serverlast verursacht haben? Eigentlich laufen doch Sessions eher clientseitig oder?

3. wird der Server übermäßig belastet, wenn er eine Datei aufruft, die nicht da ist? Also ich hab eine Funktion, die von einem externen Server eine xml-Datei holt und ausliest. Die Datei ist aber nicht immer verfügbar. Das wurder übrigens auch bei jedem Seitenaufruf abgefragt.

Ich hatte früher immer so 50 - 100 Besucher täglich mit etwa 400 Hits. Die Probleme kamen, als das ganze so 400 Besucher mit 4000 Hits wurden. Das ist für eine kleine Seite zwar ganz ordentlich aber doch keine Größenordnung, die einen Server in die Knie zwingt.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

Anzeige



#2 Mitglied ist offline   asko 

  • Gruppe: aktive Mitglieder
  • Beiträge: 144
  • Beigetreten: 17. November 02
  • Reputation: 0

geschrieben 29. Dezember 2008 - 18:43

Hallo Gitarremann!

1. Bei so vielen kleinen Dateien ist die Belastung für das Filesystem nicht zu unterschätzen. Hier wäre eine DB wirklich besser. Sollte kein MySQL verfügbar sein und Du nicht umziehen möchtest, wird bei Dir möglicherweise SQLite unterstützt, falls PHP5 läuft.

2. Sessions sind Textdateien, die auf dem Server gespeichert werden. Beim Client wird lediglich eine Kennung (Session ID) auf diese Datei abgelegt, die bei einem Aufruf wieder an den Server geschickt wird, damit dieser weiß, welche Sessiondatei zu dem Benutzer gehört. Faktisch betrachtet ist es Ressourcenverschwendung ohne Grund eine Session zu transportieren. Praktisch betrachtet sollte das aber die Seite nicht einschränken, selbst bei etlichen tausend Sessions nicht.

3. Übermässig belastet nicht, aber es kann zu Verzögerungen führen. Besser wäre es aber, diese Datei zum Beispiel nur ein mal pro Stunde vom Remote Server zu laden und lokal zwischenzuspeichern (Stichwort Caching) - vorausgesetzt das wird erlaubt vom Anbieter dieser Datei.


Dennoch, 4000 Hits pro Tag sind eigentlich gar nichts und ein halbwegs ordentlicher Server lacht sich darüber nur kaputt. Wenn der Server da wirklich schon in die Knie geht, wurde entweder ein sehr mickriges Webpaket gebucht -oder- der Hoster hat den Server hoffnungslos mit Kunden überladen -oder- die Hardware vom Server ist Schrott. Da sollte ernsthaft über einen Providerwechsel nachgedacht werden.
0

#3 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 29. Dezember 2008 - 19:09

Ah, Danke schonmal. Das Problem mit der Datenbank ist nur, dass ich dann zum nächstgrößeren Paket wechseln muß, ich aber nicht der Inhaber bin. Hab zwar die administrative Gewalt aber bezahlt wird alles von der Stadt. Das kann ich nun natürlich nicht eigenmächtig machen, wenn es teurer wird bzw. muß ich das vorher abklären.

Das mit dem Cachen ist auch eine gute Idee. Das muß nichtmal stündlich sein. Da gehts um die Waldbrandwarnstufen. Das wird einmal täglich aktualisiert. Also müßte man nur einmal am Tag auslesen. Das wird aber dann erst im Sommer aktuell. Dann werd ich das optimieren.

Der Provider sagt, es hänge weniger mit dem Traffic zusammen, als vielmehr mit einem fehlerhaften Script. Ich hab schonmal angefragt, ob er es eingrenzen könne aber noch keine Antwort. Bei mir auf dem lokalen Testserver läuft alles reibungslos.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#4 Mitglied ist offline   asko 

  • Gruppe: aktive Mitglieder
  • Beiträge: 144
  • Beigetreten: 17. November 02
  • Reputation: 0

geschrieben 29. Dezember 2008 - 19:33

Beitrag anzeigenZitat (Gitarremann: 29.12.2008, 20:09)

Ah, Danke schonmal. Das Problem mit der Datenbank ist nur, dass ich dann zum nächstgrößeren Paket wechseln muß, ich aber nicht der Inhaber bin. Hab zwar die administrative Gewalt aber bezahlt wird alles von der Stadt. Das kann ich nun natürlich nicht eigenmächtig machen, wenn es teurer wird bzw. muß ich das vorher abklären.


Wie erwähnt, in so einem Fall wäre SQLite eine echte Alternative. Das ist ein dateibasiertes "Datenbanksystem", das sich weitestgehend an die SQL-92 Standards hält und sehr flott arbeitet. Bis auf wenige Einschränkungen, die zumeist das Verändern der DB Struktur betreffen, kommt man damit sofort klar, wenn man auch mit MySQL umgehen kann. Vorausgesetzt wird PHP5 und ob SQLite verfügbar ist, ist von Provider zu Provider unterschiedlich (phpinfo() gibt hier Aufschluss). Ab dem nächsten Major Release PHP 5.3.0 wird SQLite3 dann standardmäßig zum Leistungsumfang von PHP gehören.
0

#5 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 29. Dezember 2008 - 21:44

Ich weiß ja nicht, inwieweit das überholt ist aber ich hab das hier dazu gefunden:

Zitat

...
SQLite ist als Multiuser-Datenbank nicht sonderlich geeignet. Wie im Performanceteil bereits erwähnt, beinhaltet jede Transaktion ein Öffnen und Schließen der jeweiligen Datenbankdatei. Somit ist es ausgeschlossen, dass gleichzeitig mehrere User mit der selben Datenbank(-datei) arbeiten können.

Denn sobald eine Transaktion die Datenbankdatei geöffnet hat, müssen alle anderen User auf das Ende der Transaktion warten, unabhängig davon mit welcher Tabelle sie innerhalb dieser Datenbankdatei arbeiten wollen.


Ich such aber mal weiter, vielleicht finde ich ja doch noch eine aktuelle Dokumentation auf deutsch.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#6 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 29. Dezember 2008 - 21:47

Beitrag anzeigenZitat (asko: 29.12.2008, 19:43)

[...] ein sehr mickriges Webpaket gebucht -oder- der Hoster hat den Server hoffnungslos mit Kunden überladen -oder- die Hardware vom Server ist Schrott. Da sollte ernsthaft über einen Providerwechsel nachgedacht werden.

Beim letzteren Fall macht es dann aber auch keinen Unterschied mehr ob die Skripte performant laufen oder nicht, denn bei einer entsprechend großen Anzahl an Kunden ist man selber nur ein Tropfen auf den heissen Stein und kann wenig dran ändern wie die andern Kunden den Server in die Knie zwingen.

Sollte SQLite nicht verfügbar sein würde ich mich auch um ein möglichst gutes Caching oder um einen vernünfigen Hoster bemühen, denn eine richtige Datenbank hat ja inzwischen fast jeder im Angebot.

Achja, zu dem Post der gerade noch dazu kam:
Die Nachteile von SQLite im Bezug auf eine Multiuser-Datenbank dürften bei den genannten Zugriffsraten wirklich absolut irrelevant sein.

Dieser Beitrag wurde von [Elite-|-Killer] bearbeitet: 29. Dezember 2008 - 21:48

0

#7 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 29. Dezember 2008 - 22:30

Beitrag anzeigenZitat ([Elite-|-Killer]: 29.12.2008, 21:47)

Beim letzteren Fall macht es dann aber auch keinen Unterschied mehr ob die Skripte performant laufen oder nicht, denn bei einer entsprechend großen Anzahl an Kunden ist man selber nur ein Tropfen auf den heissen Stein und kann wenig dran ändern wie die andern Kunden den Server in die Knie zwingen.

Sollte SQLite nicht verfügbar sein würde ich mich auch um ein möglichst gutes Caching oder um einen vernünfigen Hoster bemühen, denn eine richtige Datenbank hat ja inzwischen fast jeder im Angebot.

Achja, zu dem Post der gerade noch dazu kam:
Die Nachteile von SQLite im Bezug auf eine Multiuser-Datenbank dürften bei den genannten Zugriffsraten wirklich absolut irrelevant sein.


Das ist Loomes und das geht aber alles irgendwie über SynServer, ist also keine kleine Bude irgendwo, sondern doch ein eher größerer Anbieter. Ich hab jetzt mal eine Anfrage gemacht an unsere Stadt, ob ich das nächstgrößere Paket nehmen darf. Kostet dann 2 Euro mehr und ich hab 2 richtige Datenbanken.
Das ging vor 3 Jahren los, da bin ich gefragt worden, ob das Web-Paket ok ist, da hatte ich aber noch kaum Ahnung von Datenbanken und bin davon ausgegangen, dass die Seite mehr oder weniger statisch bleibt.
Da hab ich dann gesagt Ja ok, das Paket nehmen wir. In der Zwischenzeit hab ich dann php gelernt und dann kam eins ins andere. PHP war möglich und dann hab ich mir mein eigenes textfilebasiertes Datenbanksystem gebastelt. Nun stößt das scheinbar an seine Grenzen.

-----------------------

So jetzt hab ich erstmal die Rückmeldung vom Provider, dass mit der aktuellen Version meines Scriptes, die Last minimal ist. Wie gesagt, waren meine Zugriffszahlen ja vergleichsweise lächerlich, schon komisch aber es war auch eine Verzehnfachung der Besucherzahlen, wo sich vielleicht ein kleiner Fehler der schon immer da war exorbitant potenziert hat. Nunja aber ich erwäge dennoch weiterhin einen Umstieg auf eine schicke Datenbank. Das macht das ganze in Zukunft dann einfacher.

Dieser Beitrag wurde von Gitarremann bearbeitet: 30. Dezember 2008 - 15:05

Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0