pdadmin-forum

pdadmin-forum » Information » HowTo's » MySQL Performance Tuning / Query Cache » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): [1] 2 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen MySQL Performance Tuning / Query Cache
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Lars
Moderator


images/avatars/avatar-11.gif

Dabei seit: 20.12.2005
Beiträge: 996
Herkunft: Leipzig

MySQL Performance Tuning / Query Cache Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Hallo,

ich schreibe hier einfach mal zusammen wie man schnell und einfach mehr Performance aus dem MySQL Server heraus holen kann.
Das bei PD-Admin mitgelieferte Packet ist ja weitestgehend Standard.
Man sollte darauf achten die Werte an sein System anzupassen.

Eigentlich handelt es sich nur um 3 kleine Änderungen.
Wenn jemand mehr Tuning Tipps hat, immer her damit. smile
Es wird also zu erst der MySQL Query-Cache aktiviert, die Speichergröße erhöht und die zulässige Verbindungs-Anzahl hoch gesetzt.

Als erstes mit vim o.ä. Editor die MySQL Konfiguration öffnen:
code:
1:
vi /usr/local/pd-admin2/etc/my.cnf


Da sucht ihr nach "# The MySQL server".
Bei vim geht das mit Shift /.
Hier fügt ihr folgende Zeilen ein.
code:
1:
2:
set-variable = query_cache_size=1000000
set-variable = max_connections=2500

Die erste Zeile setzt den Query-Cache auf 1000000 Byte.
Die zweite setzt die Anzahl der max. gleichzeitigen Verbindungen von 100 auf 2500.
Bei einem halbwegs gut gefüllten Host reicht 100 nie und nimmer aus.
Die anderen Werte beliebig erhöhen. Das doppelte pro Wert kann nicht schaden. Je nach dem wie viel Arbeitsspeicher ihr habt.
Achtung! Nicht zu hoch setzen! So wie unten schaut es ungefähr bei mir aus.

code:
1:
2:
3:
4:
5:
6:
7:
8:
set-variable = query_cache_size=1000000
set-variable = max_connections=2500
key_buffer = 64M
max_allowed_packet = 2M
table_cache = 256
sort_buffer_size = 8M
net_buffer_length = 8K
myisam_sort_buffer_size = 8M


So, nun MySQL neu starten.
code:
1:
2:
3:
svc -d /service/mysqld
/usr/local/pd-admin2/bin/mysqladmin \
   -p`cat /opt/pdadmin/etc/mysql_rootpw.conf` shutdown

code:
1:
svc -u /service/mysqld


Und schauen ob der Cache aktiv ist:

code:
1:
mysql -p
Anmelden. Root Passwort wird benötigt
code:
1:
SHOW VARIABLES LIKE 'have_query_cache';
Aha, wenn alles geklappt hat steht hier nun YES. smile
code:
1:
SHOW STATUS LIKE 'Qcache%';
Hier wird nun der Nutzungs-Status angezeigt.
Mit "quit" abmelden.

Das wars so weit. Bei unseren Systemen bringt der Query Cache auf jeden Fall eine Performance Verbesserung.
Feedback willkommen.

weiterführende Links zu dem Thema:

http://dev.mysql.com/doc/refman/4.0/de/m...timisation.html
http://www.heise.de/ix/artikel/2003/02/040/
http://dev.mysql.com/doc/refman/5.0/en/q...aintenance.html
26.01.2006 18:18 Lars ist offline Beiträge von Lars suchen Nehme Lars in Deine Freundesliste auf
Sun
Mitglied


Dabei seit: 19.04.2005
Beiträge: 119

Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Es wäre vielleicht noch Interessant zu wissen auf welcher Hardware und wieviel Hots pro Server du diese Konfiguration einsetzt.
Ansonsten sind die gegebenen Werte eher dafür da seinen Server selbstmörderisch abzuschießen.
29.01.2006 23:54 Sun ist offline E-Mail an Sun senden Beiträge von Sun suchen Nehme Sun in Deine Freundesliste auf
Lars
Moderator


images/avatars/avatar-11.gif

Dabei seit: 20.12.2005
Beiträge: 996
Herkunft: Leipzig

Themenstarter Thema begonnen von Lars
Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Hallo,

exakt diese Werte laufen seit ca. 2 Jahren auf z.b. einem P4 1.7, 2GB Ram sowie auf einem P4 2.8, 2GB Ram und auf diversen anderen Maschinen(Xeon, Opteron) mit angepassten Werten. VHost pro Server max. 100.
Wobei auch wirklich sehr Lasten intensive Portale und Applikationen zum Einsatz kommen.
Wie gesagt, jeder sollte die Werte auf seine Bedürfnisse anpassen.
Die Werte dienen als Beispiel.

Warum man seinen Server somit "selbstmörderisch abschießt" will mir nicht so recht klar werden. Bisher ist das jedenfalls noch nicht geschehen.
Event. sollte man auf die Verbindungsanzahl von MySQL achten, aber da wir unseren MySQL Server nicht nach außen öffnen besteht da schon ein geringeres Risiko eines eventuell. Angriffes o.ä..
30.01.2006 09:53 Lars ist offline Beiträge von Lars suchen Nehme Lars in Deine Freundesliste auf
Sun
Mitglied


Dabei seit: 19.04.2005
Beiträge: 119

Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Hey Lars,
dsa mit dem Selbstmord war darauf bezogen dass ich nicht einfach irgendwelche Werte nehmen kann ohne das Hintergrundwissen deines letzten postes.
Wenn ich beispielweise deine Werte annäherend übernehme dann hab ich eine Load jenseits von gut und böse. Sollte also um gottes willen keine schlechte Kritik sein.
Ganz im Gegenteil. PD-Admin liegt recht schwer im System und so ist es schön wenn man Werte hat die man bisschen tunen kann großes Grinsen
30.01.2006 10:06 Sun ist offline E-Mail an Sun senden Beiträge von Sun suchen Nehme Sun in Deine Freundesliste auf
Lars
Moderator


images/avatars/avatar-11.gif

Dabei seit: 20.12.2005
Beiträge: 996
Herkunft: Leipzig

Themenstarter Thema begonnen von Lars
Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Ne, is klar. smile
Hab ich auch nicht so aufgefasst.
Na hast Du event. mal Vergleichswerte?
Wie gesagt, bisher gab es keine Probleme. Ich habe die Werte damals Schritt-für-Schritt erhöht und irgendwann so gelassen wie jetzt.
30.01.2006 10:15 Lars ist offline Beiträge von Lars suchen Nehme Lars in Deine Freundesliste auf
blowie
Mitglied


Dabei seit: 05.03.2010
Beiträge: 25

Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

wie macht man das wieder aus?!? mein ganzer server spuckt nur noch 504 Gateway Timeout seitdem ich das geändert habe...


rauslöschen der zeilen reicht wohl nicht...


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
port            = 3306
socket          = /usr/local/pd-admin2/var/mysql.run/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_file_per_table

Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von blowie: 26.09.2010 16:25.

26.09.2010 13:44 blowie ist offline E-Mail an blowie senden Beiträge von blowie suchen Nehme blowie in Deine Freundesliste auf
noxray
Mitglied


Dabei seit: 19.12.2005
Beiträge: 177

Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Server schon mal rebootet?
26.09.2010 14:29 noxray ist offline E-Mail an noxray senden Beiträge von noxray suchen Nehme noxray in Deine Freundesliste auf
blowie
Mitglied


Dabei seit: 05.03.2010
Beiträge: 25

Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

ja kommt immer noch
code:
1:
2:
3:
Gateway Time-out

The gateway did not receive a timely response from the upstream server or application.

auch nach einen reboot ist das Noch immer an:

code:
1:
2:
3:
4:
5:
6:
7:
mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+
1 row in set (0.00 sec)

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von blowie: 26.09.2010 16:24.

26.09.2010 14:37 blowie ist offline E-Mail an blowie senden Beiträge von blowie suchen Nehme blowie in Deine Freundesliste auf
Shackattack
Mitglied


Dabei seit: 16.11.2005
Beiträge: 302
Herkunft: Paderborn

Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Schau doch mal in die Logfiles.

Eine der hier beschriebenen Variablen ist nicht mehr gültig.
Vielleicht liefert das Logfile ja nützliche Informationen.
27.09.2010 08:47 Shackattack ist offline E-Mail an Shackattack senden Beiträge von Shackattack suchen Nehme Shackattack in Deine Freundesliste auf
webby
Mitglied


Dabei seit: 27.11.2009
Beiträge: 357

Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Möglicherweise hilft es den Wert wieder auf "0" zu setzten:

query_cache_size=0
query_cache_type=0

Zitat:
Original von Shackattack
Eine der hier beschriebenen Variablen ist nicht mehr gültig.

Auf welchen Wert beziehst Du dich denn?
27.09.2010 16:18 webby ist offline E-Mail an webby senden Beiträge von webby suchen Nehme webby in Deine Freundesliste auf
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
pdadmin-forum » Information » HowTo's » MySQL Performance Tuning / Query Cache

Impressum | Team | Hilfe

Forensoftware: Burning Board, entwickelt von WoltLab GmbH    |    Design entwickelt von You-Online.de