marce
24.11.04, 10:54
Liebe Gemeinde,
folgende Situation:
Server mit Suse 8.2, MySQL von Suse, Doppel-Xeon 2.8, 2GB Speicher. Die DB hat ca. 500MB (konstante Daten, da ändert sich vermutlich nichts mehr)
16 Clients (Application-Server), die auf die DB nur lesend zugreifen.
Load momentan ca. 2
System ist noch nicht kritisch, aber im Moment sind die Zugriffe auf einen jahreszeitlichen Tief, werden ab Januar ansteigen und vermutlich um ca. 50% zunehmen.
Gefunden habe ich bisher folgende Tipps:
- MySQL selber kompilieren mit --static
- external locking abschalten
my.cnf ist die my-huge.cnf, die SuSE mitliefert.
An der DB rumschrauben und Tabellen optimieren ist nicht möglich - zahlt keiner.
Frage nun: an welchen Stellen lohnt es sich zu schauen? Doku zu MySQL gibt leider nicht allzuviel her (selber kompilieren mit static und locking ausschalten habe ich von dort).
Sollten noch Infos nötig sein, kein Problem...
die my.cnf:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
set-variable = key_buffer=384M
set-variable = max_allowed_packet=1M
set-variable = table_cache=512
set-variable = sort_buffer=2M
set-variable = record_buffer=2M
set-variable = thread_cache=8
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
log-bin
server-id = 1
[safe_mysqld]
err-log=/var/lib/mysql/mysqld.log
[mysqldump]
quick
set-variable = max_allowed_packet=16M
[mysql]
no-auto-rehash
[isamchk]
set-variable = key_buffer=256M
set-variable = sort_buffer=256M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[myisamchk]
set-variable = key_buffer=256M
set-variable = sort_buffer=256M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[mysqlhotcopy]
interactive-timeout
Danke schon mal für Tips ;-)
Edit: Freundlichkeit: "Danke" vergessen
folgende Situation:
Server mit Suse 8.2, MySQL von Suse, Doppel-Xeon 2.8, 2GB Speicher. Die DB hat ca. 500MB (konstante Daten, da ändert sich vermutlich nichts mehr)
16 Clients (Application-Server), die auf die DB nur lesend zugreifen.
Load momentan ca. 2
System ist noch nicht kritisch, aber im Moment sind die Zugriffe auf einen jahreszeitlichen Tief, werden ab Januar ansteigen und vermutlich um ca. 50% zunehmen.
Gefunden habe ich bisher folgende Tipps:
- MySQL selber kompilieren mit --static
- external locking abschalten
my.cnf ist die my-huge.cnf, die SuSE mitliefert.
An der DB rumschrauben und Tabellen optimieren ist nicht möglich - zahlt keiner.
Frage nun: an welchen Stellen lohnt es sich zu schauen? Doku zu MySQL gibt leider nicht allzuviel her (selber kompilieren mit static und locking ausschalten habe ich von dort).
Sollten noch Infos nötig sein, kein Problem...
die my.cnf:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
set-variable = key_buffer=384M
set-variable = max_allowed_packet=1M
set-variable = table_cache=512
set-variable = sort_buffer=2M
set-variable = record_buffer=2M
set-variable = thread_cache=8
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
log-bin
server-id = 1
[safe_mysqld]
err-log=/var/lib/mysql/mysqld.log
[mysqldump]
quick
set-variable = max_allowed_packet=16M
[mysql]
no-auto-rehash
[isamchk]
set-variable = key_buffer=256M
set-variable = sort_buffer=256M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[myisamchk]
set-variable = key_buffer=256M
set-variable = sort_buffer=256M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[mysqlhotcopy]
interactive-timeout
Danke schon mal für Tips ;-)
Edit: Freundlichkeit: "Danke" vergessen