Autor |
Nachricht |
Relativity
Threadersteller
Dabei seit: 07.08.2005
Ort: Mülheim a.d.R.
Alter: -
Geschlecht:
|
Verfasst So 07.08.2005 15:42
Titel Datenbank entlasten |
|
|
Hallo.
Ich habe einen Fussballticker entwickelt welcher
sich in vom User wählbaren Rhytmen selbst aktualisiert.
Der Ticker ist nun sehr gut besucht und langsam geht es
in den Bereich wo über 3000 User ihn besuchen und meine
SQL Fehlermeldungen ausgiebt wegen max_queries.
Gibt es eine Möglichkeit wie ich die Datenbank entlasten
kann - evtl. gar nicht mehr verwenden muss?
Die User steigen stetig und denke wir haben Ende
des Jahres ca. 5000 User pro Spiel.
Ich bin nun leider ratlos was ich machen soll und bin
bislang in anderen Foren nur auf Leute gestoßen die mit
solchen Problemen nicht zu kämpfen hatten da sie nicht so
viele User hatten. Daher bitte ich hier um Hilfe.
danke
Alex
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 07.08.2005 16:54
Titel
|
|
|
Nutz doch nen Cronjob dazu. bei so nem Ticker ändert sich doch
auch net alle Minute irgendwas. nimm ne temporäre text-datei
in der du das ding zwischen speicherst .. und das script das vom
cronjob ausgeführt wird, ändert diese datei wenn sich die db-
inhalte ändern.
damit haste fast nur zugriffe aufs file-system und brauchst die db
net immer belasten.
|
|
|
|
|
Anzeige
|
|
|
Relativity
Threadersteller
Dabei seit: 07.08.2005
Ort: Mülheim a.d.R.
Alter: -
Geschlecht:
|
Verfasst So 07.08.2005 17:03
Titel
|
|
|
hallo - erstmal danke für deine idee, allerdings:
das ist ein fussball liveticker
da kann es passieren das 3 einträge pro minute stattfinden.
zudem gibt es keine "festen" zeiten wann die fussballspiele sind.
da auch zwischendurch mal Freundschaftsspiele etc. sind.
daher müsste der cronjob ja permanent laufen was ich ungern mache.
die frage ist nun, was den server mehr belastet:
- zugriff aufs filesystem oder
- zugriff auf die sql datenbank.
meine idee war es einfach eine temp1.html und eine temp2.html
zu erstellen. ich frage beide nach dem erstellungsdatum ab und
lasse dem user die neuste anzeigen per include.
wenn der moderator etwas verändert, ändert er die alte temp.html ab.
somit würde nie eine fehlermeldung erscheinen das er eine datei
nicth finden kann.
dafür müsste ich aber jedesmal das filesystem belasten durch abfrage
der erstellungszeit und den include.
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst So 07.08.2005 18:55
Titel
|
|
|
Relativity hat geschrieben: | die frage ist nun, was den server mehr belastet:
- zugriff aufs filesystem oder
- zugriff auf die sql datenbank. |
Im Zweifel wohl definitiv die Datenbank. Intern gegen Extern,
wird wohl seltenst vorkommen, dass die DB schneller ist als
das FS.
Ich weis nur nicht was gegen den Cron spricht? DB-Caching
dazu, dafür isses doch nun mal nen Server?
Oder magste lieber alle 5 Minuten mit "Too many Connections"
genervt werden?
|
|
|
|
|
Relativity
Threadersteller
Dabei seit: 07.08.2005
Ort: Mülheim a.d.R.
Alter: -
Geschlecht:
|
Verfasst So 07.08.2005 22:59
Titel
|
|
|
intern gegen extern?
die datenbank läuft auf localhost
daher wäre es doch intern gegen intern, oder?
-
ok, nehmen wir mal an ich nehme die idee mit dem cron
welcher dann hingeht und was genau machen soll?
weil wenn ich auf einer statischen html seite arbeite
welche ich durch php erstellen lasse, dann brauche ich
ja keinen cron da ich diese html seite ja erstellen lassen
kann jedesmal wenn der Moderator den Datenbankinhalt
updated.
oder verstehe ich da nun was falsch?
danke derweil für die antworten.
|
|
|
|
|
Waschbequen
Account gelöscht
Ort: -
|
Verfasst So 07.08.2005 23:03
Titel
|
|
|
Gibts denn bei PHP kein Caching? Wenn nicht, gibts doch sicher irgendwas, womit man Daten persistieren kann? Also irgendne Speichermöglichkeit, die Applikationsweit gültig ist? Damit kannste dir deinen eigenen Cache bauen ...
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 08.08.2005 08:38
Titel
|
|
|
intern gegen extern bleibt trotzdem, weil mysql != apache,
filesystem == apache ..
wenn das immer über irgend ne olle schnittstelle passiert,
kannste das natürlich auch in dem Zuge machen.
Die Frage ist nur, ob das passt, und sich nicht evtl mal mit
*irgendwas* überschneidet.
|
|
|
|
|
saucer
Dabei seit: 19.05.2002
Ort: München
Alter: 43
Geschlecht:
|
Verfasst Mo 08.08.2005 09:23
Titel
|
|
|
ich find dem stef seinen ansatz absolut praktikabel:
eine xml-datei (rss???) die minütlich neu aus der datenbank erstellt wird. dann hast du nicht mehr 3000 anfragen gleichzeitig auf die db sondern einen pro minute.
das hier
Zitat: |
Ich habe einen Fussballticker entwickelt welcher
sich in vom User wählbaren Rhytmen selbst aktualisiert. |
ist ja auch kein Problem.
@waschbecken
mysql kann seit version 4 query cache
Code: |
mysql> SHOW VARIABLES LIKE '%query_cache%';
|
Zuletzt bearbeitet von saucer am Mo 08.08.2005 09:23, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
SQL-Datenbank
datenbank ?
Datenbank für Onlinevorlagen
Imagemap und Datenbank
Speicherplatz der SQL Datenbank
per MMS direkt ins Web (Datenbank)
|
|