NoweMedia

Optymalizacja kodu systemu CMS cz I

W ramach rozwoju aplikacji CMS BlueHighway postanowiliśmy się przyjrzeć kodowi PHP i zapytaniom MYSQL. Aby nasze testy wydajnościowe były rzetelne postawiliśmy specjalny wewnętrzny serwer Unixowy, który nie jest obciążony żadnymi innymi procesami. Jako maszynę testową posłużył nam stary komputer, który wcześniej używaliśmy do pracy. Parametry nie zbyt oszałamiające: Celeron 2.6, 1 GB RAM, dysk 120 GB, ale dla naszych testów to nawet lepiej.

Naszym celem jest taka optymalizacja, aby system CMS chodził płynnie dla 100.000 podstron oraz 1.000.000 artykułów, dlatego rozpoczęliśmy pracę od napisania skryptu, który nam wygeneruje taką ilość danych. Wygenerowana baza zajęła około 100MB!

Do testowania wydajności użyliśmy rozszerzenia PHP Xdebug a do analizy wyników aplikacji z pod KDE: kcachegrind. Pierwsze testy wyszły dość pozytywnie, szczerze myślałem, że przy takiej bazie aplikacja będzie działać dużo wolniej. Okazało się, że bez problemu można przeglądać stronę. Ale nie ma róży bez kolców, po obejrzeniu wygenerowanego wykresu obciążenia znaleźliśmy kilka punktów w aplikacji, które zbyt przeciążają system.

wyk

Podczas optymalizacji na bieżąco będę umieszczał wykresy obciążenia aplikacji, czasu zapytań mysql oraz testy apache benchamrk.

Kategorie:   Cms BlueHighway, Nowinki techniczne

Komentarze

WP-SpamFree by Pole Position Marketing