MySQL Performance - zu langsam auf DS209+II.

Status
Für weitere Antworten geschlossen.

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Ich habe alle betreffenden Beiträge hier und im englischen Forum durchgeforstet und habe oft gelesen, dass Performace von MySQL bei Synology nicht berauschend ist. Langsam stoße ich mit meinen Anwendungen gegen die MySQL-Schalgrenze. Es liegt definitiv nicht an dem System. Ich verwende DS209+II 1Ghz, 512Mb Ram, sollte also performant genug sein. Wohlgemerkt gleiche Anwendungen laufen auf dem Intel P-II 300Mhz 256Mb-Ram unter Debian ausreichend schnell. Es liegt also an dem MySQL oder an dem Webserver der Diskstation.

Mein Problem ist - ich muss ca. 10-12 MB große MySQL-Datenbank auf die Diskstation laden, am liebsten mit PHPMyAdmin. Nach 5min. bricht der Import ab. Man könnte die Zeit irgendwo höher stellen, nur ist das nicht die Lösung. Die MaSQL Datenbank auf der DiskStation ist definitiv zu langsam. Auf den VServer geht der Import mit einem Wimpenschlag.

Hat sich jemand damit bereits befasst? Hat jemand die Erfahrung damit? MySQL Konfigurationsdateien (mysql-large.cnf u.ä.) habe ich bereits ohne großen Erfolg ausprobiert.
 
Zuletzt bearbeitet:

Fossidog

Benutzer
Mitglied seit
19. Feb 2010
Beiträge
107
Punkte für Reaktionen
0
Punkte
16
Moin, das "Problem" haste standardmäßig überall. Die Zeit zum Ausführen ist immer begrenzt, zwischen 30-300 sek liegt dieser Wert meistens. Selbst wenn de en root Server mietest ist das so.
Ich glaub in der php.ini kannst den Wert anpassen. Willst das nicht, dann empfehle ich Dir das tool mysqldumper. Damit kannst Datenbanken jeglicher Grösse sichern und einspielen.
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Danke für den Tipp. Den mysqldumper habe ich schon vorher angeschaut aber habe damit noch nicht gearbeitet. Die MySQL-Grössen haben immer klein genug um mit PHPMYAdmin verwaltet zu werden. Den werde ich genauer anschauen. Mich stört aber auch dass, MySQL in der DS allgemein sehr langsam ist und über eigene komische Konfiguration mittels Skripte verwaltet wird.
 

Fossidog

Benutzer
Mitglied seit
19. Feb 2010
Beiträge
107
Punkte für Reaktionen
0
Punkte
16
Mich stört aber auch dass, MySQL in der DS allgemein sehr langsam ist und über eigene komische Konfiguration mittels Skripte verwaltet wird.

mmh, kann ich eigentlich net finden. Hab zum Einarbeiten en vbulletin inkl. cms auf der 710+ installt und grad ma en Backup zum Testen gemacht. Das Sichern von 235 Tabellen mit ~ 43.000 Einträgen und der Größe von ~ 25 MB hat grad ma 14 Sekunden gedauert.
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Bei meiner DS209+II hätte ich dafür 30 Minuten gewraucht, ohne Witz. Dabei war es egal welche Einstellungen ich probiert habe. Wenn MySQL bei den Intel-Prozessoren wirklich so schnell ist sehe ich schon einen Systemwechsel kommen.
 

Fossidog

Benutzer
Mitglied seit
19. Feb 2010
Beiträge
107
Punkte für Reaktionen
0
Punkte
16
Och, das glaub ich net. Klar is ne 710 flotter als ne 209, abba bestimmt net ~100x schneller.
Teste ma den mysqldumper aus. Ich bin bestimmt kein linux-crack, abba den einzurichten is megaeinfach. Hochladen, die config aufrufen und einstellen; fertisch. Dauert keine 5min.
Und die Sicherung erfolgt sozusagen "scheibchenweise", das es keine Probleme mit der Zeitbegrenzung gibt, und sie wird gleichzeitig komprimiert.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich bin mit MySQL auf meiner DS207+ (500MHz, 128 MB) eigentlich sehr zufrieden von der Performance her. Habe einige GB große Datenbanken, zum Teil Volltext indiziert, die ich angenehm schnell abfragen kann.

Itari
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Wie schnell geht der Import, ich sage mal 10MB großen Datenbank über PHPMyAdmin bei einer DS mit intel Atom Prozessor (DS710+, DS1010+)? Ich habe versucht über php.ini die Ausführungszeit über 300Sek einzustellen, das ging nicht. DS hat diese Eingabe in der conf-Datei ignoriert so das es immer zum Abbruch kam. Und allgemein finde ich die Reaktionszeit der Datenbank recht bescheident. Joomla braucht einige Sekunden bis es geladen ist, Antwortzeiten sind für einen Singleuser zu lang. Da wird garantiert der RAM-Speicher nicht optimal verwaltet und Cache nicht optimal genutzt. Für eine CPU dürfte es kien großer Aufwand sein 3-10MB durchzuforsten, wobei diese sogar indeiert sind.

Man sollte eine Testdatei anfertigen und es an den unterschiedlichen Geräten testen. Wenn ich Zeit habe erstelle ich so eine Datei.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Joomla braucht einige Sekunden bis es geladen ist

Ich persönlich bin kein Freund mehr von Joomla, weil es sehr umständlich gecodet ist und ich ja mit meinem cms4ds eh das 'schnellste' CMS entwickelt habe, das auf einer DS laufen kann. :D

Meine Joomla-Erfahrungen auf der DS sind eher so, dass die Programm-Struktur (viele include-Dateien) das CMS ausbremsen. Allerdings hatte ich das mal im internationalen Forum vor mehr als einem Jahr mit einem spanischen User diskutiert und dieser hat mir einen Link auf seine Joomla-Webseite gegeben, die super schnell war ...

Aber zurück zu deiner MySQL-Frage ... mich würde auch sehr interessieren, warum du solche Probleme mit der MySQL-DB hast ... weil ich bislang auch mit sehr großen Datenmengen keine Probleme mit der Performance habe ... vielleicht kannst ja etwas mehr zur Datenstruktur berichten ...

Itari
 
Zuletzt bearbeitet:

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Ich habe auch einige Seiten mit Joomla laufen die superschnell sind. Mit dem Code komme ich mitlerweile gut zurecht. Gut, bei weitem nicht das Beste es kommt aber auf den Verwendungszweck an. Antwortzeiten ~50-200µSek (0,00005 - 0,0002 Sek) bei 15-20Mb MySQL-Datenbank. Mit Joomla kommt meine DiskStation gut klar, jedenfalls bin ich damit zufrieden. Aber MySQL fängt an unter den Ahseln zu drücken.

Komisch ist aber auch das Cache-Verhalten der Diskstation. Sie ist zurzeit immer an. wenn die aber über ca.12 Stunden nicht gefragt wird braucht Joomla bei dem ersten Aufruf ca 10 Sekunden um zu starten. Danach läuft alles flott. Das heißt für mich - DiskStation löscht aus dem Cache (PHP oder MySQL) alles was älter als ca 12 Stunden ist. Mit dem Chachen bei MySQL ist es noch seltsamer. Es scheint überhaupt nicht zu cachen. Sonst kann ich mir so lange Importzeiten bei PHPMyAdmin nicht erklären. Was sind 15Mb Datenbank für eine 1Ghz CPU und 512MB DDR2 Ram? Import über 15 Minuten mit abschließendem Abbruch ist hier definitiv zu viel.

Seit drei Wochen habe ich es noch nicht geschaft einen Online-Backup in ganzen auf DiskStation zu importieren. Der nächste Schritt ist eigentlich mit MySQLdump zu probieren. Dann ist der Webserver mit PHP zumindestens ausgeschloßen. Genau, das probiere ich aus!
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hast du denn mal probiert den Import direkt auf der Kommandozeile zu machen? Ist er dann schneller?
Meine Webseiten brauchen beim ersten Aufruf auch mehrere Sekunden bis sie angezeigt werden. Ich vermute das liegt bei mir am Sleep Mode der Platten. Danach sind alle Abfragen sehr zackig erledigt (habe allerdings kein Joomla, sondern nur ein WordPress)
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Probiert habe ich es noch nicht, werde mich demnächst damit beschäftigen. Aber Sleepmod schein es, zumindest für mich nicht zu sein. Habe so 3-5 Varianten derselben Homepage am Laufen (Entwicklung), wenn ich mit einer Variante arbeite und auf die andere nach langer Pause zugreife braucht sie trotzdem ihre Zeit um zu erwachen obwohl sie einige Stunden davor gelaufen hat.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Festplatten können auch die Leseköpfe parkieren, wenn du nichts dazu im DSM eingestellt hast. Du müsstest mal akustisch hören, ob - wenn eine Anfrage so lange geht - die Festplatten so "Aufwachgeräusche" machen bzw hochdrehen
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Das hat aber garantiert nichts mit so einer langen Importzeit bei MySQL zu tun. Und wie gesagt, zur gleichen Zeit läuft eine andere Installation flott.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Das hat aber garantiert nichts mit so einer langen Importzeit bei MySQL zu tun. Und wie gesagt, zur gleichen Zeit läuft eine andere Installation flott.
Stimmt.
Bei der langen Importzeit habe ich eher php Einstellungen im Verdacht. Max Script Time oder Max Execution Time wäre Kandidaten. Auch die maximal erlaubte Grösse eines Uploadfiles könnte hineinspielen.
Ich denke mehr können wir hier sagen, wenn du einen direkten Vergleich Import PMA und Import Konsole hast
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Dank eurer Hilfe habe ich den Fehler gefunden. Ich habe bisher immer die Backupdateien von Plesk (Online-Server) importiert. PHPMyAdmin verarbeitet sie zwar langsam aber sicher. MySQLDumper konnte mit diesen Dateien gar nicht umgehen. Daraufhin habe ich einen Bakup von dem Onlineserver mittels PHPMyAdmin gemacht, der ja in den Plesk-Packeten dabei ist und versucht diese Datei zu importieren. Das funktioniert recht schnell, 15MB in 1,5 Minuten.

Einziger bemerkenswerter Unterschied zwischen den Dateien ist, dass die großen Tabellen (ca. 10MB) bei dem Backup über PHPMyAdmin Zeilenumbrüche nach jedem Datensatz haben und in ca. 200-400 einzelne Befehle "INSERT INTO" unterteilt sind. Bei der Datei von Plesk sind es nur ca. 10 Befehle "INSERT INTO" und es gibt keine Zeilenumbrüche zwischen den Datensätzen, 2MB sind also in einer Zeile geschrieben.

Unter dem Strich:
  • Gleiche Datenbank, ca. 15MB,
  • Große Tabelle (10MB) unterteil in ca. 200-400 "INSERT INTO" mit Zeilenumbrüchen (50kb pro Befehl) - Import 1,5 Minuten.
  • Gleiche Tabelle (10MB) unterteilt in ca. 10 "INSERT INTO" Befehle (2MB pro Befehl), ohne Zeilenumbrüche - DB Import über 10MB nicht möglich (DB bis 10MB Import ca. 12-15Min.)

Die großen Intel-Xeon Prozessoren mit viel Cache können solche Dateien warscheinlich besser händeln. Für die CPU der DiskStation (Sparbirne) sind 2MB pro Befehl zu viel.

Einige werden sich fragen wovon ich hier rede - Webhosting, Webserver.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat