my.conf Optimierung

my.conf Optimierung

am 20.03.2007 10:52:36 von Nook

Hallo zusammen,

ich habe einen AMD1210 Server mit 1GB Ram, auf dem hauptsächlich
das Joomla CMS läuft - also sehr PHP und MySQL lastig. Die Plesk-Statistik
sagt, dass die durchschnittliche Auslastung nur bei rund 30% (CPU) und 20%
(RAM)
liegt.

Apache und PHP habe ich schon "flottbekommen", aber als MySQL Newbie
bitte ich die Profis hier um einen kurzen Blick auf meine my.cnf:

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock

key_buffer_size = 128M
sort_buffer_size = 4M
join_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
max_allowed_packet = 16M
thread_cache_size = 8
table_cache = 256
query_cache_type = 1
query_cache_size = 32M
query_cache_limit = 1M
thread_concurrency = 8
local-infile = 0
long_query_time = 4
log_slow_queries
log_long_format
myisam_recover

thread_concurrency = 4

skip-locking
skip-networking
skip-name-resolve
skip-external-locking

log-bin
sync_binlog = 1
max_binlog_size = 10M
expire_logs_days = 7
server-id = 1

[safe_mysqld]
err-log=/var/lib/mysql/mysqld.log

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer_size = 4M
write_buffer_size = 4M

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer_size = 4M
write_buffer_size = 4M

[mysqlhotcopy]
interactive-timeout

Ich weiss, dass es eine echte Kunst ist, MySQL zu optimieren, aber
vielleicht
hat doch jemand den ein oder anderen Tipp aus dem virtuellen Nähkästchen ;-)

Vielen Dank!

M.

Re: my.conf Optimierung

am 20.03.2007 15:53:53 von Christian Kirsch

Michael Maus schrieb:
> Hallo zusammen,
>
> ich habe einen AMD1210 Server mit 1GB Ram, auf dem hauptsächlich
> das Joomla CMS läuft - also sehr PHP und MySQL lastig. Die Plesk-Statistik
> sagt, dass die durchschnittliche Auslastung nur bei rund 30% (CPU) und 20%
> (RAM)
> liegt.
>
> Apache und PHP habe ich schon "flottbekommen", aber als MySQL Newbie
> bitte ich die Profis hier um einen kurzen Blick auf meine my.cnf:

schnipp

> Ich weiss, dass es eine echte Kunst ist, MySQL zu optimieren, aber
> vielleicht
> hat doch jemand den ein oder anderen Tipp aus dem virtuellen Nähkästchen ;-)
>

Bin kein Profi, hab' aber trotzdem raufgeguckt. Und nu? Was ist Deine
Frage? Tippfehler habe ich keine gesucht, aber das war vermutlich auch
nicht Deine Frage. Wenn also irgendwas "zu langsam" läuft - was? Was
sagt der slow query log in dem Fall? Oder fragst Du "nur mal so"?

Re: my.conf Optimierung

am 20.03.2007 17:08:52 von Nook

> Bin kein Profi, hab' aber trotzdem raufgeguckt. Und nu? Was ist Deine
> Frage? Tippfehler habe ich keine gesucht, aber das war vermutlich auch
> nicht Deine Frage. Wenn also irgendwas "zu langsam" läuft - was? Was
> sagt der slow query log in dem Fall? Oder fragst Du "nur mal so"?

Mir geht es darum, an welchen Stellschrauben man in der my.cnf drehen kann,
wenn CPU / RAM nur rund zu 1/3 ausgelastet sind und man die MySQL Abfragen
beschleunigen möchte.

Slow Queries gibt es keine beachtenswerten. Da die Abfragen zu 80%
Lesezugriffe
sind, müsste man doch z.B. durch Caching die Performance verbessern können.

Ich verwende Apache 2.0.54 mit PHP 4.4.x und MySQL 4.1.x auf einem Suse
10.0.

Gruß,

M.

Re: my.conf Optimierung

am 20.03.2007 18:06:33 von Christian Kirsch

Am 20.03.2007 17:08 schrieb Michael Maus:
>> Bin kein Profi, hab' aber trotzdem raufgeguckt. Und nu? Was ist Deine
>> Frage? Tippfehler habe ich keine gesucht, aber das war vermutlich auch
>> nicht Deine Frage. Wenn also irgendwas "zu langsam" läuft - was? Was
>> sagt der slow query log in dem Fall? Oder fragst Du "nur mal so"?
>
> Mir geht es darum, an welchen Stellschrauben man in der my.cnf drehen kann,
> wenn CPU / RAM nur rund zu 1/3 ausgelastet sind und man die MySQL Abfragen
> beschleunigen möchte.
>

Sind sie denn zu langsam?

> Slow Queries gibt es keine beachtenswerten. Da die Abfragen zu 80%
> Lesezugriffe
> sind, müsste man doch z.B. durch Caching die Performance verbessern können.
>

Guck' mal, außer Dir kennt niemand Deine Anforderungen. Und Du
verrätst sie nicht - Du willst nur irgendwie optimieren und sagst noch
nicht mal, ob es einen Grund dafür gibt.

Wenn die CPU nicht ausgelastet ist, dann muss das ja nicht bedeuten,
dass sie die MySQL-Anfragen schneller beantworten *könnte*. Abgesehen
davon gibt's sicherlich ganz andere Dinge, das Tempo viel mehr
beeeinflussen - nota bene die Platten.

Wenn Du das Gefühl hast, dass bestimmte Queries zu langsam sind, dann
lass sie Dir EXPLAINen. Oder guck mal mit einem brandneuen MySQL
(5.0.37, http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html),
ob Dir das Profile helfen kann.

Aber ich verstehe nach wie vor nicht, warum man etwas optimieren
möchte, an dessen Geschwindigkeit es nichts auszusetzen gibt.