STRIX
FineTuning: Revision 1

Podešavanje performansi sustava

Strix ima mnogo načina da bude brz. Uobičajna je zabluda da je brzina ovisna samo o RDBMS sustavu. U našem slučaju, php je spor, pa koristimo http://eaccelerator.net/ eAccelerator i
http://www.danga.com/memcached/ memcached.

Uključivanje logiranja performansi

php konfiguracijska datoteka ima nekoliko opcija za podešavanje logiranja podataka korisnih kod testiranja performansi:

 $_SQL_debug = true;
 $_SQL_debug_file = "/var/log/strix/plivaweb-sql.log";
 $_SQL_disable_session_cache = false;

 $_log_modtime = true;
 $_log_modtime_file = "/var/log/strix/plivaweb-modtime.log";

Ove dvije skupine direktiva omogućavaju prikupljanje podataka o SQL upitima iz svakog modula, te prikupljanje trajanja izvršenja svakog modula.

Analiza prikuplenih podataka

Za potrebe analiziranja profile podataka, postoje dvije skripte koje se
nalaze u utils/profile direktoriju Strix checkout-a.

profile-sql.pl

Skripta sama pokušava pronaći log file u /var/log/strix/ i ispisuje statistiku upita poredanu po prosječnom vremenu izvršavanja avg:

 $ ./utils/profile/profile-sql.pl
 log file: /var/log/strix/plivaweb-sql.log
 module s:avg total nr lid cat
 mod_weather 170.190 10892.161 64 4895 700
 mod_subscribe_web 82.610 991.316 12 1160 15
 mod_rolling 70.915 140270.028 1978 4726 17955
 mod_subscription 34.587 484.224 14 1156 15

Možemo također i sortirati po bilo kojoj drugoj koloni (total, nr, lid ili cat tako da dodamo parametar skripti. Slijedeći primjer sortira po broju izvršavanja modula:

 $ ./utils/profile/profile-sql.pl nr
 log file: /var/log/strix/plivaweb-sql.log
 module avg total s:nr lid cat
 layout 1.871 31663.900 16928 - 2
 mod_hnav_bottom 11.260 83028.481 7374 4409 2
 mod_navpos 0.723 3966.053 5486 4410 2

Ukoliko želite, možete podatke i filtrirati po jednoj od kolona:

 $ ./utils/profile/profile-sql.pl cat=1
 log file: /var/log/strix/plivaweb-sql.log
 module s:avg total nr lid f:cat
 mod_news 15.439 370.526 24 117 1
 mod_history 12.271 171.787 14 4422 1
 - 8.346 317.144 38 - 1
 mod_login 5.007 70.096 14 4423 1
 mod_hnav_top 4.642 55.699 12 4420 1

Prikazuje SQL performanse samo modula u kategoriji 1. Uvjete možete i kombinirati, pa tako dobivate sortiranje po broju poziva u kategoriji 700:

 $ ./utils/profile/profile-sql.pl nr cat=700
 log file: /var/log/strix/plivaweb-sql.log
 module avg total s:nr lid f:cat
 mod_search3 0.905 193.727 214 784 700
 layout 1.048 80.671 77 - 700
 mod_userlog 0.703 26.697 38 506 700
 mod_hnav_bottom 0.891 32.085 36 789 700

profile-modtime.pl

Ova skripta služi za ispisivanje istog oblika statistika koje smo već vidjeli, ali ovaj puta za vrijeme izvršavanja modula, a ne samo za vrijeme izvršavanja SQL upita (dakle, u ovo vrijeme je uračunat i SQL upit).

 $ ./utils/profile/profile-modtime.pl
 log file: /var/log/strix/plivaweb-modtime.log
 module s:avg total nr lid cat
 mod_weather 2365.205 11826.025 5 4895 700
 mod_blue 1976.867 17791.804 9 1247 1702
 mod_rolling 1390.337 125130.349 90 4726 17955
 mod_orgjed 1196.981 1196.981 1 2235 8000
 mod_subscribe_web 1014.306 1014.306 1 1160 15
 mod_subscription 527.747 527.747 1 1156 15
 mod_news 312.397 312.397 1 117 1
 mod_search3 285.148 3421.772 12 784 700

Moguće je koristiti iste opcije za sortiranje i filtriranje kao kod profile-sql.pl.