Fórum Root.cz
Hlavní témata => Server => Téma založeno: fotka 03. 02. 2011, 14:34:07
-
Mám hodně procesů ve stavu locked u mého adresáře článků. Je to web stránka, katalog článků a běží na wordpressu, je tam asi 100,000 článků.
Server load 4.42 (8 CPUs)
Memory Used 27.77% (2289780 of 8245744)
Swap Used 12.49% (131292 of 1051064)
Někdy jde load až na 20.0 (8 CPUs) takže jsou stránky nedostupné.
Prosím jak byste mi navrhli zhruba změnit nastavení mysql tak aby se snížil load?
NYNÍ:
[mysqld]
socket = /var/lib/mysql/mysql.sock
safe-show-database
old-password=1
set-variable = max_connections=500
interactive_timeout=100
wait_timeout=600
connect_timeout=30
thread_cache_size=8
key_buffer=32M
join_buffer=8M
max_allowed_packet=512M
table_cache=1024
sort_buffer=32M
record_buffer=8M
thread_cache_size=128
max_user_connections=100
thread_concurrency=4
děkuji
-
http://www.linuxweblog.com/tune-my.cnf (http://www.linuxweblog.com/tune-my.cnf) , sice je to anglicky, ale je tam napsaný vzorec na vypočítání zátěže..
-
Já na ladění mysql používám
http://mysqltuner.pl/
-
thread_concurrency je doporučováno 2x počet jader, pak pokud je využití paměti jen 28% tak povolit víc paměti - jde jen o to najít nejužší místo, kde tu paměť přidat
a ověřit, jestli jsou vhodné indexy, tady hledat dotazy, co dlouho trvají - viz možnost jejich logování
-
a ještě v phpMyAdminovi je stránka STAV, kde je přehled proměnných MySQL serveru a upozornění na hodnoty, které jsou velké včetně návrhu, čím to zlepšit
-
jak logovat dlouho trvající dotazy http://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html
-
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_query_cache_size
-
A je opravdu jediným úzkým hrdle mysql ? Bylo by možné udělat top screenshot při tom zatížení?
-
na prvni pohled
thread_concurrency=8 misto 4 a
key_buffer 32M
je dost blbost, melo by tam byt podstatne vic (mam tam 512MB a to jde o 2GB RAM na VPS)
nejlip na to asi funguje vyse zminovany mysqltuner a taky nepatrne lepsi
https://launchpad.net/mysql-tuning-primer
zbytek se takhle odhadem urcite delat neda
-
v putty napíšu veduci toto:
1: " find / -name 'my-huge.cnf' "
2: "cp /etc/my.cnf /etc/my.cnf.old"
3: "cp /usr/share/mysql/my-huge.cnf /etc/my.cnf"
4: "/etc/init.d/mysqld restart"
v treťom bode "/usr/share/mysql/my-huge.cnf" sa tento path môže líšiť, záleží na tom kde máš inštalované MYSQL filesy.
Podľa tvojho postu vidím, že používaš len málo RAMky, preto máš vysoký LOAD. Servere treba točiť do "červeného" v tomto prípade aby práve RAM mala dostatok priestoru riešiť všetky "poptávky" - sorry keď píšem ako sedlák....
Po reštartovaní MYSQL /4tý bod, by mala RAMka vybehnuť cez 50 percent...aspoň 57, ak sa tak nestane, vymeň hosting lebo nestojí za veľa 8)..../
V podstate každý server má v sebe my-huge.cnf len niektoré spoločnosti ho nemájú až tak "huge"...
a až potom sa začni hrať s http://www.day32.com/MySQL/ - tuning primer
No a nemáš za čo.
Pekný deň