JanJanusch
New Member
Hallo,
ich kenne mich zwar mit PHP und MySQL aus, komme allerdings mit Performance-Problemen nicht zurecht :/
Vielleicht könnt ihr mir ein paar Tipps zur richtigen Einstellung der my.ini-Werte geben oder wie man die Abfragen optimieren (DB-Struktur bzw. SELECT-Befehle) könnte?
Hier noch die erforderlichen Angaben:
Website ist unter http://goo.gl/j8os4 erreichbar. Dort sind z.B. die folgenden Aufrufe sehr langsam (z.T. 1 min und mehr!):
1.) Suchbegriff oben eingeben
2.) Sender und dann Sendung rechts auswählen
3.) ein Film aufrufen
4.) TV Programm (rechts) aufrufen
Folgende Abfragen werden bei den o.g. Fällen durchgeführt:
1.) (Suche durchführen)
2.) (Sendung aufrufen)
3.) (Film aufrufen)
+ weitere schnelle Abfragen (Kommentare & Statistiken)
4.) (TV-Programm aufrufen)
Nun zur Datenbankstruktur:
Hauptsächlich wird die DB "filme" verwendet. Auf die anderen (Kommentare, Login etc.) gehen ich nicht ein!
Die Struktur habe ich an diesen Post per Bild angehängt. Es befinden sich 200000 bis 500000 Einträge (~200MB) in der DB.
Zur my.ini:
Habe ich auch angehängt.
Server:
4GB RAM, WIN Server 2008 R2 Datacenter (64 Bit) + Plesk, zirka 2x 2GHz
Der Server ist sehr leistungsfähig im Vergleich zu den geringen Datenmengen - daran kann es kaum liegen. Trotzdem sind immer mehr "slow querys" im System...
Ich würde mich über nützliche Vorschläge freuen.
Vielen Dank!
==
Angehängte Dateien:
MOD: Bitte immer als Anhang hier im Forum. Danke!
ich kenne mich zwar mit PHP und MySQL aus, komme allerdings mit Performance-Problemen nicht zurecht :/
Vielleicht könnt ihr mir ein paar Tipps zur richtigen Einstellung der my.ini-Werte geben oder wie man die Abfragen optimieren (DB-Struktur bzw. SELECT-Befehle) könnte?
Hier noch die erforderlichen Angaben:
Website ist unter http://goo.gl/j8os4 erreichbar. Dort sind z.B. die folgenden Aufrufe sehr langsam (z.T. 1 min und mehr!):
1.) Suchbegriff oben eingeben
2.) Sender und dann Sendung rechts auswählen
3.) ein Film aufrufen
4.) TV Programm (rechts) aufrufen
Folgende Abfragen werden bei den o.g. Fällen durchgeführt:
1.) (Suche durchführen)
Code:
"SELECT COUNT(*) FROM filme WHERE (titel LIKE '%".$qqq."%' OR sendung LIKE '%".$qqq."%') AND anbieter IN ($anbieterjoin) AND datum between '$z1q 00:00:00' and '$z2q 23:59:59' AND art IN ($typjoin)"
"SELECT * FROM filme WHERE (titel LIKE '%".$qqq."%' OR sendung LIKE '%".$qqq."%') AND anbieter IN ($anbieterjoin) AND datum between '$z1q 00:00:00' and '$z2q 23:59:59' AND art IN ($typjoin) ORDER BY datum DESC LIMIT ".$page_ab.",10;"
Code:
"SELECT COUNT(*) FROM filme WHERE sendung='$sendung' AND anbieter='$anbieter'"
"SELECT * FROM filme WHERE sendung='$sendung' AND anbieter='$anbieter' ORDER BY datum DESC LIMIT ".$page_ab.",15;"
Code:
"SELECT * FROM filme WHERE sendung='$sendung' AND anbieter='$anbieter' ORDER BY datum DESC LIMIT 0,5;"
4.) (TV-Programm aufrufen)
Code:
"SELECT * FROM filme WHERE anbieter='$anbieter' AND art='$typa' AND datum between '$dr 00:00:00' and '$dr 23:59:59' ORDER BY datum ASC";
Hauptsächlich wird die DB "filme" verwendet. Auf die anderen (Kommentare, Login etc.) gehen ich nicht ein!
Die Struktur habe ich an diesen Post per Bild angehängt. Es befinden sich 200000 bis 500000 Einträge (~200MB) in der DB.
Zur my.ini:
Habe ich auch angehängt.
Server:
4GB RAM, WIN Server 2008 R2 Datacenter (64 Bit) + Plesk, zirka 2x 2GHz
Der Server ist sehr leistungsfähig im Vergleich zu den geringen Datenmengen - daran kann es kaum liegen. Trotzdem sind immer mehr "slow querys" im System...
Ich würde mich über nützliche Vorschläge freuen.
Vielen Dank!
==
Angehängte Dateien:
MOD: Bitte immer als Anhang hier im Forum. Danke!
Last edited by a moderator: