Mysql

Liebe/-r Experte/-in,
Ich habe da mal eine frage, können sie mir sagen, wie ich meine mysal optimal einstellen kann? sobald bei mir mehr als 13-14 user online sind, dauern die abfrage zeiten zu lange. ich bin mir sicher das es an der mysql liegt, bin aber in sachen mysql auch nur google-schlau. kleiner auszug aus meiner mysql:

* Fine Tuning

key_buffer = 50M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 16
skip-external-locking
skip-locking
open_files_limit = 15480
join_buffer_size = 3M
max_connections = 2500
table_cache = 3096
thread_concurrency = 16

* Query Cache Configuration

query_cache_limit = 1M
query_cache_size = 16M

nun ist es so, das sie aber ganz schön hängt, weil merh abfragen sind. kann man es so einstellen, das mehr lasst auf den arbeitspeicher geht? so das die abfragen nicht mehr so lange dauern?
es ist sehr wichtig.
lieben gruß, Kevin

Hallo,

da Du Dich mit Mysql nicht gut auskennst, solltest Du nicht gleich mit der Mysql-Konfig beginnen, als Anfänger kann man die Mysql-Konfig sehr leicht verkonfigurieren, wenn man nicht genau weiss, was man da treibt.

Du solltest zunächst einmal versuchen einzugrenzen, bei welchen Anfragen das System sich so dramatisch verlangsamt.
Denn in vielen Fällen, in denen Mysql sehr langsam erscheint, sind insbesondere die Indizes nicht sinnvoll / optimal eingerichtet.

Sinnvoll wäre es in diesem Zusammenhang auch, einen Blick in das Slow-Queries-Log zu werfen.

Vielleicht willst Du ja mal nähere Infos zu Deinen Tabellen etc. posten.
Gruss
Edison

Hallo leider hilft es mir grade nicht weiter, ich weiß das noch viele indexes fehlen, da sind wir schon dran, aber es muss ja noch ne möglichkeit über die conf. geben. kannst du mir sagen was ich da noch erweitern kann, damit es besser läuft?

Du solltest jetzt überhaupt nicht an der Konfiguration herumfummeln!

Es ist ja bislang noch überhaupt nicht klar, warum die Queries so langsam sind, und wenn Du gar nicht weisst, weshalb die Queries langsam laufen, wie willst Du dann die Konfiguration anpassen können??
Wie soll man Dir einen sinnvollen Tipp geben können, wenn Du überhaupt keine näheren Informationen gibst?

Also nochmal:

Ohne eine genauere Kenntnis Deiner Tabellenstruktur und der vorhandenen (bzw. vermutlich nicht-vorhandenen) Indizes kann man Dein Problem nicht vernünftig lösen!

Normalerweise sind die Mysql-Konfigurationseinstellungen von Haus aus für die meisten Vorhaben vernünftig gewählt, die Ursache Deiner Probleme wird m.E. wohl an den Indizes bzw. Deiner Tabellenstruktur / Abfragestruktur liegen.

Und genau da muss man ansetzen.

Was nützt es Dir, wenn Du z.B. irgendwelche Caches vergrößerst, wenn Du z.B. weiterhin keine Indizes verwendest?

Poste also mal genauere Informationen zu Deinen Tabellen, den verwendeten Queries / Indizes, dann wird man Dir auch weiterhelfen können.
Gruss
Edison

nun ist es so, das sie aber ganz schön hängt, weil merh
abfragen sind. kann man es so einstellen, das mehr lasst auf
den arbeitspeicher geht? so das die abfragen nicht mehr so
lange dauern?

Hallo,

am besten wäre erst mal ein Profiling, also welche Statements lange brauchen (dafür kannst du zum einem das slowquery-log einschalten und auch generell das mysql.log (aber Vorsicht, komplettes Logging kostet Zeit, sollte also nur für die Profiling-Phase benutzt werden), und die dann z.B. mit dem EXPLAIN-Befehl zu analysieren. Eventuell fehlen Dir nur Indizes, die die Abfragen schneller machen.

gruss,
tina

Lese gerade…
…ich weiß das noch viele indexes fehlen, da sind wir schon dran, …
Die Indexierung der DB ist mit bedacht zu wählen. Zu viele Indexierungen sind der Tod einer jeden DB. Ergo hier nach dem Motto vorgehen: „viel hilft viel“.

Hallo

  • das rumspielen an der MYSQL ist nicht unbedingt schlimm, wenn du dir eine sicherheitskopie erstellst, aber trotzdem haben die anderen hier schon recht, du solltest immer vorsichtig sein!!!
    bevor du aber deine einstellung auf größere User einstellst, solltest du die mysql-log mal aktivieren, damit du siehst wo die indexes noch nicht gesetzt sind. wenn das gemacht ist, gibt es ein paar kleine anwendungshilfen, die dir sagen was du an deiner DB verbessern solltest. da fallen mir so einige ein. ich selbst verwende einige perl-scripte, die mir dauerhaft den zustand und die abfragen der mysql anzeigen. ich denke ich kann dir da gerne mal helfen und auch deine mysql deinen anforderungen anpassen.

das beste ist, du hinterlässt mir mal deine email, das ich dir mal eine ts adresse zukommen lassen kann.

Hallo Zusammen,
ich bin mit Sicherheit kein MySQL - Experte, aber ich habe mich auch schon mit Datenbanken und MySQL beschäftigt.
Was man zur Fragestellung sagen kann:
Standardinstallation von MySQL wie sie in vielen Distributionen vorgenommen wurde, anhand von Recherchen prüfen was evtl. für welche Zwecke (Webabfrage?) optimiert werden soll, durchführen, dann sollte alles von MySQL - Seiten der Konfig laufen.
Was die DB angeht: DB - Design ist eine Wissenschaft für sich; wie oben beschrieben sollte man vorher genau überlegen was man benötigt!
Schlechtes DB - Design ist der größte Performance - Killer!!
Es gibt, was die Performance angeht auch Benchmarks für die Datenbank!

Noch eine Frage zum Schluß:
Diese Frage wurde vor nunmehr fast 3 Jahren gestellt.
Läuft die DB immer noch nicht?
Wenn doch, sollte man die Frage (am besten mit Lösung) als geschlossen definieren.

Gruß
Karsten