Skocz do zawartości
Zaloguj się, aby obserwować  
matt

Optymalny my.cnf

Polecane posty

Mam prosbe do bardziej obeznanych w temacie, a dokladniej chodzi o optymalne ustawienie mysql. Oto moj config:

 

[mysqld]
local-infile=0
skip-locking
skip-innodb
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=100
connect_timeout=10
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=2
myisam_sort_buffer_size=64M
server-id=1

[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqlhotcopy]
interactive-timeout

 

Na maszynie sa dwa fora jedno na phpbb3, drugie na vb oraz dwa cms ... srednia ilosc osob online na obu forach lacznie to ok 200 userow, a na obu stronach to ok 150 userow online. 

 

Z gory dziekuje za pomoc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pominięto tu ważniejszy aspekt niż ilość userów - będące do dyspozycji hardware, a szczególnie RAM.

 

Optymalizacja serwera MySQL możliwa jest praktycznie w warunkach produkcyjnych, oto dosyć genialne narzędzie:

 

wget http://day32.com/MySQL/tuning-primer.sh -O- | sh

 

 

pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Oczywiście trudno tu o gotową receptę, ale chciałbym w tym miejscu przybliżyć logikę podejścia do sprawy.

Moim skromnym zdaniem należało by:

 

ilość userów online - powiedzmy ze 150-ciu 70%, czyli ok 100 utrzymuje aktywne child-y (te kończą swoje życie jak się nie mylę po 300 sekundach przy standardowych ustawieniach conf apache). Każdy child, to średnio 10 MB RAM-u, czyli 1 GB idzie tylko na http.

Pozostałe 500 MB rozparcelować można na wszystkie "cache" i "buffer" widniejące w my.cnf. Jeżeli ich suma będzie wyższa, system zacznie swapować, co go znacznie spowolni.

Po mniej więcej takiej wstępnej konfiguracji użyć można wymienionego skryptu, oraz obserwować swap. Dalsze postępowanie zależne jest od wyników obserwacji.

 

Odnośnie poszczególnych parametrów mysql w my.cnf - niestety moja wiedza na ten temat nie pozwala mi na jakieś sugestie, na pewno podział cache i buffer-ów zależy od charakteru baz danych oraz z nich korzystających aplikacji, tutaj niestety kapituluję...

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×