RkBlog

Hardware, programming and astronomy tutorials and reviews.

Liczba zapytań do bazy danych

Benchmarki systemów CMS mierzące ilość wykonywanych zapytań baz danych, średni czas wykonywania jednego zapytania dla popularnych skryptów

Liczba zapytań do bazy danych
Sortowane wg czasu wykonania wszystkich zapytań
Nazwa CMSaLiczba zapytańForma zapytaniaCzas wykonania
wszystkich zapytań
Czas wykonania zapytań
względem najwolniejszego
Czas wykonania 1 zapytania
MiniSite4*database-query0,01262,95%0,0032
jPortal 2.2.217mysq_query0,07116,6%0,0042
LDU 700-1013ldu_mysql_query0,0818,71%0,0062
PHP-Fusion 4.0118*dbquery0,096122,48%0,0053
Drupal 4.4.221*_db_query0,128830,12%0,0061
Xoops 2.0.79xoopsmysqldatabaseproxy-query0,186543, 62%0,0207
e107 0.61650mysq_query0,228853.51%0,0046
RunCMS 1E22database-query0,238655,8%0,0108
Mambo 4.5.1 Beta 435*database->query0,246157,55%0,007
Xoops 2.0.7 logged in - news24xoopsmysqldatabaseproxy-query0,258360,41%0,0108
Postnuke 0.75037adodb_mysql-_query0,270363,21%0,0073
e107 0.616 zalogowany59mysq_query0,283766,35%0,0048
Xaraya 0.9948adodb_mysql-_query0,328976,92%0,0069
ttCMS 3.0559db-query (ezSQL)0,335778,51%0,0057
Postnuke 0.726 zalogowany57adodb_mysql-_query0,385590,15%0,0068
MD-Pro 1.0653adodb_mysql-_query0,415497,15%0,0078
Postnuke 0.750 zalogowany / xanthia57adodb_mysql-_query0,4276100%0,0075
ttCMS 3.05 logged in90!db-query (ezSQL)0,482112,72%0,0054


Czas wykonania 1 zapytania
Nazwa CMSaCzas wykonania
1 zapytania
MiniSite0,00315
jPortal 2.2.20,00417
e1070,0045
PHP-Fusion 4.010,0053
ttCMS 3.05 zalogowany0,0053
Drupal 4.4.20,0061
LDU 700-100,0061
Postnuke 0.726 zalogowany0,0067
Xaraya 0.990,0068
Mambo 4.5.1 B40,0070
Postnuke 0.7500,0073
MD-Pro 1.060,0078
Xoops 2.0.7 zalogowany, newsy, ankieta0,010
RunCMS 1E0,0108

Powyższe dane pochodzą z rezultatów uzyskanych poprzez bibliotekę Xdebug. Jeżeli nie zaznaczono inaczej testowano standardowe instalacje z wylogowanym użytkownikiem. Jeżeli cms używa bezpośrednich zapytań to typ zapytania będzie mysql_query, jeżeli natomiast skrypt używa jakiejść funkcji bądź klasy to zostanie podana odpowiednia nazwa wykorzystanej metody, w skład której (czasowo też) wchodzą normalne zapytania mysql_query.
Celem tego benchmarku nie jest udowodnienie że cmsy typu MiniSite czy jPortal są lepsze od reszty, gdyż wykonują mniej zapytań. Generalnie im większy cms tym więcej wykonuje zapytań i zarazem ma znacznie wieksze możliwości. Wybieraj cmsa po opcjach jakie daje, a jakich ty potrzebujesz a nie po szybkości... (to drugiej kolejności). Jednak pewne wnioski wyciągnąć trzeba...

Wnioski

Popatrz na koniec tabeli... zapytania do bazy obsługuje ADOdb, najwolniejsza abstrakcyjna baza danych w moim benchmarku. Ten i wspomniany test potwierdzają jak słabe okazują się "wielkie znane i lubiane" komponenty i skrypty. To że inni używają ADOdb nie oznacza że my musi go używać... Tworząc małe skrypty dodatki pokroju ADO są za duże i niepotrzebne, przy dużych skryptach zmniejszają ich wydajność. ttCMS wysyła aż 90 zapytań do bazy za pomocą ezSQL, co zajmuje mniejwięcej tyle samo czasu co 60 zapytań pnADOdb w Postnuke.
RkBlog

11 July 2008;

Comment article