| SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |

20-01-2012, 20:59
|
|
Marcus-24-D
Registrierter Benutzer
|
|
Registriert seit: Oct 2007
Beiträge: 84
|
|
MySQL crash
Hi!
Ich betreibe einen Windows Root Server.
Auf diesem IIS und Plesk installiert.
Auf dem Webserver läuft ein php Chat.
Was mir neuerdings auffällt, ist das schon bei max 35 chattern der Chat schon
zusammenbricht. Nun hab ich mit diversen Einstellungen in der konfigurationsdatei rumgespielt, mehr query cache zugewiesen,
max connections erhöht und trotzdem bricht er zwischendurch immer wieder
zusammen. Mit fortlaufender fülle der messages Tabelle, bricht er irgendwann komplett zusammen und muss neugestartet werden.
Die CPU Last geht auch auf dauerhafte 100%. Erst nach dem löschen der Tabellen für die Messages läuft der SQL Server wieder halbwegs stabil,
bzw solange bis ich wieder lösche.
Gibts da erstmal soweit Ideen zu was das sein kann?
Kann hier auch mal genauer auf die Konfiguration eingehen.
Das Problem an der Sache ist nur, das ich mit Root Servern erstmal so ziemlich neu bin.
Dabei stellt sich gleich die nächste Frage:
Wieviel Besucher kann denn solche ein Server eigentlich gleichzeitig tragen?
|

20-01-2012, 21:17
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.327
|
|
Ich vermute dass nicht die Datenbank schuld ist, sondern das Script.
|

20-01-2012, 21:48
|
|
Marcus-24-D
Registrierter Benutzer
|
|
Registriert seit: Oct 2007
Beiträge: 84
|
|
okay, was gibts da für möglichkeiten zu überprüfen?
ich habe mal die indizes der tabelle überprüft und habe dort eine kardinalität von zur zeit 92 auf dem primärschlüssel bei 92 einträgen in der tabelle.
|

21-01-2012, 09:52
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
zeig mal deine Tabellen-Struktur
|

21-01-2012, 11:18
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.756
|
|
Zitat:
Zitat von Marcus-24-D
Die CPU Last geht auch auf dauerhafte 100%.
|
Welche Prozesse erzeugen die Last?
__________________
Drelingdo
Krabonse
Simmannamando
|

21-01-2012, 12:12
|
|
hostbar_danny
Registrierter Benutzer
|
|
Registriert seit: Feb 2011
Beiträge: 41
|
|
Was sagen die Logfiles?
|

21-01-2012, 12:42
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
ein
PHP-Code:
EXPLAIN [EXTENDED] SELECT select_options
sollte alle Fragen klären
|

21-01-2012, 21:18
|
|
Marcus-24-D
Registrierter Benutzer
|
|
Registriert seit: Oct 2007
Beiträge: 84
|
|
mysql-nt exe erzeugt die hohe last.
in der fehler log von mysql steht folgendes drin.
hab nur mal einen kleinen teil des auszugs. sonst wirds meter lang.
aber das wiederholt sich eigentlich auch nur noch..
Code:
120121 19:45:33 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:45:44 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:45:45 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:45:50 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:45:53 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:45:57 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:46:02 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:46:03 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:46:11 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:46:14 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:46:15 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:46:19 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:47:21 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
120121 19:47:21 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 7358681.
InnoDB: Doing recovery: scanned up to log sequence number 0 7358681
120121 19:47:22 InnoDB: Started; log sequence number 0 7358681
120121 19:47:22 [Note] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: ready for connections.
Version: '5.0.45-community-nt' socket: '' port: 3306 MySQL Community Edition (GPL)
120121 19:47:46 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:47:51 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:47:57 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:47:59 [ERROR] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Out of memory (Needed 8388580 bytes)
120121 19:49:10 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
120121 19:49:10 InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 7358681.
InnoDB: Doing recovery: scanned up to log sequence number 0 7358681
120121 19:49:10 InnoDB: Started; log sequence number 0 7358681
120121 19:49:10 [Note] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: ready for connections.
Version: '5.0.45-community-nt' socket: '' port: 3306 MySQL Community Edition (GPL)
120121 19:50:41 [Note] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Normal shutdown
120121 19:50:43 InnoDB: Starting shutdown...
120121 19:50:45 InnoDB: Shutdown completed; log sequence number 0 7358681
120121 19:50:45 [Note] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: Shutdown complete
120121 19:52:35 InnoDB: Started; log sequence number 0 7358681
120121 19:52:39 [Note] c:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\bin\mysqld-nt.exe: ready for connections.
Version: '5.0.45-community-nt' socket: '' port: 3306 MySQL Community Edition (GPL)
ich hab außerdem festgestellt, das nicht die message tabelle das problem ist, sondern die user tabelle. wenn ich die leere, läufts wieder solange gut bis in etwa 300 zeilen erreicht sind. dann setzt er manchmal aus bzw wird in
den sql status angezeigt das er pausiert. und das immer länger und irgendwann bricht er dann zusammen.
Zur Tabellenstruktur, die sieht folgendermaßen aus:
User Tabelle:
Code:
Feld, Typ , Kollation , Attribute, Null , Standard, Extra
username, varchar 64,utf8_general_ci,NICHTS,Nein,
userid,varchar 64,utf8_general_ci,NICHTS,Nein,
password,varchar 64utf8_general_ci,NICHTS,Nein,
email,utf8_general_ci,NICHTS,Nein,
avatar,utf8_general_ci,NICHTS,Nein,
user_session,varchar 64utf8_general_ci,NICHTS,Nein,
user_status,utf8_general_ci,NICHTS,Nein,
userIP,varchar 24,utf8_general_ci,NICHTS,Nein,
admin,varchar 24,utf8_general_ci,NICHTS,Nein,
status,varchar 24,utf8_general_ci,NICHTS,Nein,
room,varchar 24,utf8_general_ci,NICHTS,Nein,
ban,varchar 24,utf8_general_ci,NICHTS,Nein,
online_time,varchar 24,utf8_general_ci,NICHTS,Nein,
fontcolor,varchar 24,utf8_general_ci,NICHTS,Nein,#000000
ich hoffe ich hab so erstmal alles wichtige an infos zusammen?! wenn noch was fehlt einfach sagen... dankeschön erstmal.
die sache mit EXPLAIN [EXTENDED] SELECT select_options
schau ich mir gleich mal an
|

22-01-2012, 12:12
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.206
|
|
Wahrscheinlich erzeugt deine Abfrage eine ziemliche große tmp-Tabelle!
|

22-01-2012, 16:27
|
|
Marcus-24-D
Registrierter Benutzer
|
|
Registriert seit: Oct 2007
Beiträge: 84
|
|
mh, ja, das habe ich in der konfiguration auch schon reduziert bzw minimiert.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|