ďťż
 
Optymalizacja MySQL ďťż
 
Optymalizacja MySQL
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Optymalizacja MySQL



Bald - 24-12-2006 00:36
Optymalizacja MySQL
  Rzecz dzieieje sie na serwerze dedykowanym: PIII 1000 Mhz, 512 MB RAM, na
ktorym
jest sobie MySQL, Apache i PHP (standardzik). Problemem jest wydajnosc
sewisu ktory
sobie dziala na tej konfiguracji. W ciagu dnia jest super, wszystko dziala
jak powinno. Jednak
wieczorem przy wzmozonym ruchu zaczynaja sie schody, strony generuja sie
niekiedy po kilka jak
nie kilkanascie sekund (caly serwis oparty jest o PHP + MySQL).

Obciazenie serwera nie przekracza (albo rzadko kiedy) 90% (load average:
5.42, 6.35, 6.54) natomiast
RAMu brakuje (obecnie gdy pisze te slowa) 80 MB zzera SWAP. Sam Apache jest
w stanie obsluzyc 1000 zadan na sekunde gdy strona jest statyczna. Jak juz
pisalem
moj serwis opiera sie w calosci na PHP i MySQL i wydaje mi sie ze tutaj lezy
przyczyna :/
Oczywiscie indeksy sa pozakladane, zapytania sa zoptymalizowane (tak mi sie
wydaje - jak
pisalem wszystko dziala szybko w godzinach rannych i popoludniowych), ale
niekiedy
proste zapytanie SELECT czy UPDATE potrafi wykonywac sie 30 sek (sytuacja
losowa - normalnie wykonanie takiego zapytania trwa 0,0001 sek). Nie wiem
gdzie szukac przyczyny. Za malo ramu? Moze zmienic cos w samej konfiguracji
co moze przyspieszyc dzialanie bazy? Zwiekszylem key_buffer do 32M ale nic
to nie daje :/

Teraz o samej bazie: zajmuje ponad 300 MB, srednia ilosc zapytan to 6/sek
(czyli nie tak zle) w godzinach wieczornych skacze do 15. Prawie 50% to
zapytania SELECT, 7% - UPDATE, 2% - INSERT. Hmm, silnik tabel to MyISAM. Nie
wiem - cos jeszcze powinienem napisac?

Wolalbym uniknac upgreadowania sprzetu,

Pozdrawiam





Maciek Dobrzanski - 24-12-2006 00:36

  "Bald" <bald@spam.epf.pl> wrote in message
news:elk7df$5ca$1@achot.icm.edu.pl...

> Obciazenie serwera nie przekracza (albo rzadko kiedy) 90% (load average:
> 5.42, 6.35, 6.54) natomiast
> RAMu brakuje (obecnie gdy pisze te slowa) 80 MB zzera SWAP. Sam Apache
> jest

Najpierw musisz zdiagnozowac co tak naprawde jest przyczyna nadmiernego
obciazenia. Optymalizować w bazie danych można jak wiadomo co i czy w ogóle
potrzeba.

Maciek




Bald - 24-12-2006 00:37

  > Najpierw musisz zdiagnozowac co tak naprawde jest przyczyna nadmiernego
> obciazenia. Optymalizować w bazie danych można jak wiadomo co i czy w
> ogóle potrzeba.

Podejrzewam ze nadmierne obciazenie w stosunku do mozliwosci sprzetowych :P
Ale tak na powaznie, problemem sa w glownej mierze zapytania typu UPDATE
albo INSERT.
Banalne, takie ktorych czas wykonywania nie powinien przekraczac 0,001
(czasem tak jest), niekiedy
wykonywane sa po 30 sek!! Srednio jednak po 0,2 sek! To nie jest do konca
normalne. Zgoda - baza
troche zajmuje, ale tabele na ktorych dokonywane sa operacje UPDATE oraz
INSERT (przypominam
ze te zapytania stanowia ok 9% ogolu zapytan MySQL) nie przekracza 5 MB.
Skad biora sie takie opoznienia
w aktualizacji bazy?

--
Pozdrawiam!




Maciek Dobrzanski - 24-12-2006 00:37

  "Bald" <bald@spam.epf.pl> wrote in message
news:em3g82$45n$1@achot.icm.edu.pl...

> Ale tak na powaznie, problemem sa w glownej mierze zapytania typu UPDATE
> albo INSERT.

To może być, i pewnie jest, tylko efekt, nie zaś przyczyna. Należy
doprowadzić do takiej konfiguracji serwera by swap nie był wykorzystywany w
ogóle i wówczas robić jakiekolwiek analizy. Inaczej to się troche mija z
celem.

Maciek
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lisinski.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com