title image


Smiley Re: MySQL wird langsam sobald die Threads auf 100 gehen
JA das könnte es sein...



100 Threads sind das was eine SQL Datenbank zum lachen bringt aber niemals darf es eine DB an den Rand des Absturzes bringen.

Ich arbeite mit einem Mittelalterlichen Server mit MySQL und tausenden von Datensätzen.



ICH KENNE DEIN PROBLEM ZIEMLICH WAHRSCHEINLICH!!!!!



Deine Datenbank lacht wirklich über dein Problem.

Dein Problem liegt aller wahrscheinlichkeit im HTML.

Wenn du versuchst alle 100 Threads auf einer HTML Datei auszugeben und hierfür Tabellen verwendest, dann wartet der Browser mit der Darstellung der Tabelle bis alle Threads bereits fertig in der Tabelle stehen. Das kann SEHR SEHR LANGE DAUERN.

Der eigentliche SQL Abruf ist aber in der Tat nur millisekunden lang.



VORSCHLAG 1:

Verwende immer LIMIT und begrenze die Ergebnisse auf 10 oder 30 prod Seite und baue eine Funktion zum Bläätern ein.



Vorschlag 2:

Gehe auf Selfhtml dort gibt es eine Lösung wie die Tabellen sofort aufgebaut werden. Dum must dafür die Breite der Spalten über col.... irgendwas exakt festlegen wenn du die Breite nur über width oder styles definiert muss der Browser nachwievor die tatsächliche Breite selber ermitteln und braucht dafür bei so großen Tabellen Zeit.





Ansonsten Prüfe noch folgendes:

===============================

1. Wie oben erwähnt wird die Datenbank wirklich geschlossen.

2. Prüfe die CPU Belastung und andere Auslastungen wie z.b. den speicher des Servers. Frage dazu deinen Provider ... bei 1und1 geht dies mit Domainname/logs/system

3. Bei Abfragen über mherere Tabellen achte immer darauf, daß Du auf die Schlüsselfelder einen INDEX setzt. als z.B. auf die Thread ID Bei 100 Threads merkst da dabei aber wohl noch keine spürbare Verbesserung bei 3000 allerdings sehr deutlich.

4. Lass mal deinen Server neu booten evt hat sich ein Dienst aufgehangen.

5. Prüfe wieviel CPU Zeit und wieviel RAM Dir dein Provider zugesteht. Meist sind solche Probleme durch zu wenig RAM verursacht.

6. Evt. hast du zu wenig Webspace bitte prüfen.

7. Wenn du z.B. via PHP den Befehl mysql_fetch_array verwendest solltest du IHN so einsetzen: mysql_fetch_array($question,MYSQL_ASSOC) vergißt du das MYSQL_ASSOC dann wird nicht nur ein assoziertes Array sonder auch noch ein numerisches Array erstellt was den doppleten Zpeicher verbraucht.



Mehr fällt mir im Moment auch nicht ein.
Suchmaschinenoptimierung bei www.s-m-o.de

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: