FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  Galeria AvatarówGaleria Avatarów  ZalogujZaloguj
 Ogłoszenie 
Forum archiwalne, nie można zakładać nowych kont.

Poprzedni temat :: Następny temat
  Analiza wydajności
Wersja do druku
tilk Płeć:Mężczyzna


Dołączył: 24 Lip 2003
Status: offline

Grupy:
Alijenoty
PostWysłany: 15-12-2007, 12:30   Analiza wydajności

Rośniemy coraz bardziej, baza jest coraz obszerniejsza, prędzej czy później natkniemy się na problem obciążenia. A że lepiej później, niż wcześniej, przyjrzałem się, co właściwie się dzieje pod maską.

Na początek dobra wiadomość - system cache, który był częścią silnika T-A od zawsze, sprawdza się nadzwyczaj dobrze. Większość trafień na intensywnie używane strony jest odczytywanych z cache'u, co jest zwykle kilka, kilkanaście razy szybsze, niż generowanie z bazy. A czasem nawet...

I tu jest zła wiadomość - setki razy. System cache znakomicie ukrył przed nami i czytelnikami istnienie kilku poważnych korków wydajnościowych.

Pierwszy z nich, powodujący m.in. ekstremalnie powolne generowanie listy ostatnio dodanych recenzji, był spowodowany błędnym działaniem optymalizatora bazy danych, prawdopodobnie z powodu nieaktualnych danych statystycznych o bazie. Aby uniknąć takiego problemu później, wprowadzę automatyczne obliczanie danych statystycznych - powiedzmy, co tydzień.

Drugi okazał się znacznie gorszy - generowanie listy najnowszych komentarzy na stronie głównej trwało... kilkanaście sekund!!! Tutaj wystarczyło nieco zmienić formę zapytania, aby optymalizator lepiej sobie poradził.

Powyższe dwie zmiany skróciły dziesięciokrotnie czas generowania strony tytułowej z bazy. Nieźle.

Największy korek jest zaś na indeksowyszukiwarce. Tutaj liczby są tak potworne, że nawet nie będę ich przytaczał. Poprawienie sytuacji tutaj niestety będzie dość trudne, ale ze względu na to, że właśnie tu idzie najwięcej czasu obliczeniowego - konieczne.
Przejdź na dół Zobacz profil autora
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Odwiedź blog autora Odwiedź galerię autora Odwiedź listę obejrzanych anime / przeczytanych mang
 
Numer Gadu-Gadu
1543661
tilk Płeć:Mężczyzna


Dołączył: 24 Lip 2003
Status: offline

Grupy:
Alijenoty
PostWysłany: 15-12-2007, 13:36   

Jednak problem na indeksowyszukiwarce nie był taki straszny. Dodanie jednego brakującego indeksu poprawiło efektywność stukrotnie! Pwn3d!

Ponieważ pozostałe zidentyfikowane problemy są już niewielkie, mogę z przyjemnością poinformować, że T-A (i przy okazji również T-M) śmiga jak pijany przeciąg i jest gotowe na przyjęcie dziesiątki, a może i setki razy większego obciążenia, niż ma teraz. Więc na jakiś czas będziemy mieli spokój :)
Powrót do góry Zobacz profil autora
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Odwiedź blog autora Odwiedź galerię autora Odwiedź listę obejrzanych anime / przeczytanych mang
 
Numer Gadu-Gadu
1543661
IKa Płeć:Kobieta

Dołączyła: 02 Sty 2004
Status: offline

Grupy:
WIP
PostWysłany: 15-12-2007, 13:39   

A czy to nie spowodowało czasem niewyświetlania komentarzy na TM? Mam komunikat "Brak komentarzy" także.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
tilk Płeć:Mężczyzna


Dołączył: 24 Lip 2003
Status: offline

Grupy:
Alijenoty
PostWysłany: 15-12-2007, 15:08   

IKa napisał/a:
A czy to nie spowodowało czasem niewyświetlania komentarzy na TM? Mam komunikat "Brak komentarzy" także.


Zbyt szybko się cieszyłem.

Opracowanie poprawnej, wydajnej wersji zapytania wymagało wielogodzinnego zaawansowanego kung-fu z optymalizatorem bazy. W końcu się udało, ale to, co wyszło, to niesamowity potworek... Niesamowicie szybko działający potworek, chciałbym dodać - 100 milisekund a 15 sekund to jednak olbrzymia różnica.

Chyba teraz już można się cieszyć ;)
Powrót do góry Zobacz profil autora
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Odwiedź blog autora Odwiedź galerię autora Odwiedź listę obejrzanych anime / przeczytanych mang
 
Numer Gadu-Gadu
1543661
IKa Płeć:Kobieta

Dołączyła: 02 Sty 2004
Status: offline

Grupy:
WIP
PostWysłany: 15-12-2007, 15:18   

łiiihiiiii!
Widać i działa!
strony mkną baaardzo szybko :DDDD
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Crack Płeć:Mężczyzna


Dołączył: 13 Maj 2003
Status: offline

Grupy:
Fanklub Lacus Clyne
PostWysłany: 15-12-2007, 20:44   

Jeszcze mała uwaga: adsense.php to u nas najczęściej wywoływana strona. Jako że zawartość tego pliku jest względnie stała to warto by wstawić tam "stałą" zawartość i nie dołączać init.php. Inicjalizacja jest dla nas dość kosztowna: dołączamy Smarty i łączymy się z bazą danych, razem wczytujemy do pamięci 35 plików (2 MB danych) a serwer nie korzysta z APC czy eAcceleratora.

Może to nam dać znacznie większy zysk na wydajności portalu (z pkt. widzenia serwera) niż wszystkie poprzednie optymalizacje razem wzięte. Biorąc pod uwagę ilość żądań i czas generowania (~100ms) daje nam to na miesiąc jeden rdzeń procesora pracujący przez 20,5h tylko na potrzeby tego pliku.

_________________
One to rule them all, One to find them,
One to bring them all and in peace bind them
Powrót do góry Zobacz profil autora
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Odwiedź galerię autora
tilk Płeć:Mężczyzna


Dołączył: 24 Lip 2003
Status: offline

Grupy:
Alijenoty
PostWysłany: 21-12-2007, 15:27   

Ok, teraz adsense.php jest naprawdę prościutki. Możnaby zredukować go do statycznych plików html, ale chyba nie ma takiej potrzeby.
Powrót do góry Zobacz profil autora
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Odwiedź blog autora Odwiedź galerię autora Odwiedź listę obejrzanych anime / przeczytanych mang
 
Numer Gadu-Gadu
1543661
Crack Płeć:Mężczyzna


Dołączył: 13 Maj 2003
Status: offline

Grupy:
Fanklub Lacus Clyne
PostWysłany: 23-12-2007, 13:48   

Nie trzeba, właśnie o to mi chodziło - prosty, szybki kod, bez dołączania zbędnych plików.

_________________
One to rule them all, One to find them,
One to bring them all and in peace bind them
Powrót do góry Zobacz profil autora
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora Odwiedź galerię autora
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików
Możesz ściągać załączniki
Dodaj temat do Ulubionych


Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group