Jump to content

Ankündung Softwareupdate


Elrond

Recommended Posts

Habt ihr schon mal über die mysql-Konfiguration als Ursache nachgedacht? Für Parameter-Änderungen dürfte es aber jetzt auch zu spät sein. Was sagt denn das Slow Query Log?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die mysql Konfiguration ist eigentlich ausreichend dimensioniert. Der Server hat 4 GB RAM und die Datenbank ist myisam. Delayed Key Write ist bereits eingeschaltet. Die Posting Tabelle hat ca. 1.5 Mio Eintraege mit rund 2.1 GByte Daten und 1.3 GByte Indices.

 

Hier mal der relevante Part, ich bin froh ueber eine zweite Meinung.

 

key_buffer			  = 512M
max_allowed_packet	  = 384M
thread_stack			= 256K
max_connections		 = 600 
table_cache			 = 32k 
sort_buffer_size		= 16M 
read_buffer_size		= 8M  
myisam_sort_buffer_size = 1024M
thread_cache			= 64   
wait_timeout			= 60   
interactive_timeout	 = 300  
open-files-limit		= 65534
myisam_max_sort_file_size = 8G
tmp_table_size		  = 2G
max_heap_table_size	 = 2G
myisam-recover		  = BACKUP,FORCE
query_cache_limit	   = 4M
query_cache_size		= 32M

 

Die Config ist auf

 

- Queries moeglichst aus dem Cache beantworten

- maximale Anzahl gleichzeitiger Verbindung

- bloss kein "Repair with Keycache" riskieren

- keine tmp_tables auf Platte

 

ausgelegt.

 

Im Slow Log tauchen bei einer Grenze von 5 Sekunden keine Slow Queries auf und auch keine Abfragen ohne Index Unterstuetzung.

bearbeitet von Elrond
Link zu diesem Kommentar
Auf anderen Seiten teilen

Was ist IPS? :ninja:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaube nicht, dass es am mysql-Server liegt. Die Konfiguration schaut soweit gut aus. Man könnte den key_buffer noch höher drehen aber bei mysql bin ich mit kurzfristigen Konfigurationsänderungen eher vorsichtig.

 

Wahrscheinlicher finde ich, dass die Software zu viele Zeilen fetcht und den Speicher nicht wieder frei gibt. Dafür würde sprechen, wenn die Server-Load entsprechend nach oben geht. Wie läuft denn die Konvertierung? Werden die alten Daten gefetcht, dann in der SW konvertiert und in eine zweite Datenbank geschrieben oder bleibt alles innerhalb einer Datenbank? Weißt du, ob die SW die Konvertierung vornimmt oder der SQL-Query? Letzteres ist wahrscheinlich schneller. Aber wenn IPS das Problem von der SW weg schiebt, kannst du eh nicht viel machen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Invision Power Services, der Hersteller der Software.
Aha. Die Meldung ist auch schon wieder verschwunden... :ninja:
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich wuerde davon ausgehen, dass der Key Buffer keinen Einfluss auf die Performance bei der Konvertierung hat, weil jedes Posting nur einmal angefasst wird und vorher ohnehin nicht im Key Cache lag.

 

Die Konvertierung laeuft so, dass die 250 Postings aus der Datenbank selektieren (mit einem SELECT mit Limit und einem Left Join), in der Software konvertieren und jedes Posting einzeln per UPDATE wieder in die Datenbank zurueckschreiben. Danach wieder 250 Postings usw. Der Memory Leak tritt nur dann auf, wenn wirklich konvertiert wird, dann verliert er pro 250 Postings rund 100 KByte.

 

Habe testweise schonmal den FULLTEXT Index ueber die Postings ausgeschaltet um die Vermutung zu ueberpruefen, dass das UPDATE nicht teuer ist, sondern die mannigfaltigen Indices zu aktualisieren das Problem ist. Das hat aber keinen Einfluss.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Konvertierung laeuft so, dass die 250 Postings aus der Datenbank selektieren (mit einem SELECT mit Limit und einem Left Join), in der Software konvertieren und jedes Posting einzeln per UPDATE wieder in die Datenbank zurueckschreiben. Danach wieder 250 Postings usw. Der Memory Leak tritt nur dann auf, wenn wirklich konvertiert wird, dann verliert er pro 250 Postings rund 100 KByte.

PHP? Ich kenne aus einer ähnlichen Migration das gleiche Phänomen. Die einfachste Lösung ist wahrscheinlich, pro Durchlauf des Migrationsskripts nur 10.000-50.000 Postings zu konvertieren. Auf diese Art machen wir auch recht umfangreiche Migrationen mit über 5 Mio. Zeilen von einer DB in eine andere.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Genau, das ist auch mein Ansatz. Aber da man den Konverter nicht parametrisieren kann, muss ich daneben sitzen *ARGH*

Link zu diesem Kommentar
Auf anderen Seiten teilen

Genau, das ist auch mein Ansatz. Aber da man den Konverter nicht parametrisieren kann, muss ich daneben sitzen *ARGH*

Elrond-Job-Queue 2.0 :ninja:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Neu erstellen...