Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej Rozumiem

Testy wydajności 10 systemów CMS

Przeprowadziliśmy testy wydajności 10 znanych i popularnych systemów CMS opartych o system bazy danych MySQL oraz działajacych na silniku PHP 5 na serwerach Apache. Aby ułatwić porównanie, do testów zakwalifikowaliśmy jedynie systemy dostępne do pobrania za darmo.

Wyniki naszego benchmarku systemów cms prezentują się następująco:

WINDU-TEST
 
Specyfikacja maszyny testowej
  • Procesor - Core i 5 3550 @ 3,30 GHz
  • RAM - 8GB 1600 MHz
  • HDD - SSD Intel 80GB
 
Środowisko testowe
  • System operacyjny - Windows 8
  • Oprogramowanie serwera - UW AMP z silnikiem Apache 2.2.22
  • Wersja PHP - 5.4.15
  • Standardowa konfiguracja z wyłączonymi akceleratorami typu opCache czy zend optimalizer
  • Program testowy Apache Benchmark
 
Parametry testu
  • Ilość odpytań serwera - 1000
  • Liczba klientów odpytujących na raz - 5
 
Testowane systemy CMS Testowaliśmy najnowsze wersje stabilne systemów na dzień publikacji tego artykułu. Instalowaliśmy je na naszej maszynie lokalnej uruchamiając na silniku bazy danych MySQL. Testy odbywały się po przez uruchomienie strony głównej serwisu z domyślnymi ustawieniami oraz standardowym szablonem graficznym dostępnym po instalacji.

Wyniki
Im krótszy czas i więcej odpytań serwera tym lepiej. Wynik taki oznacza, że maszyna zdołała wywołać stronę więcej razy w danym czasie, dzięki czemu cały test trwał krócej.

 
Nazwa CMSa Całkowity czas Liczba odpytań
Contao 89,8 s 11,1
Joomla 83,8 s 11,9
Concrete 5 68,5 s 14,6
Wordpress 54,6 s 18,3
Cms made simple 51,5 s 19,4
ModX 46,2 s 21,6
Drupal 39,8 s 25,1
Windu 21,6 s 46,2
PHP Fusion 15,8 s 63,1
Textpattern 11,7 s 84,8
Windu + Cache 11,1 s 89,7

Wnioski
Jak widzimy najlepsze rezultaty miał... Windu CMS z włączonym cache, jednak z uwagi na warunki testu (które zakładały testowanie CMSa na domyślnych ustawieniach) nasz rodzimy CMS jest dopiero na 3 pozycji (domyślnie w Windu cache jest wyłączony). Wyprzedzają go 2 inne systemy. Textpattern jest bardzo prosty i oferuje znacznie mniejsze możliwości od Windu, podobnie jest w przypadku PHP Fusion, który - napisany inlinowo - jest swojego rodzaju reliktem przeszłości (choć trzeba przyznać, że wciąż popularnym).

Daleko w tyle zostały "wielcy gracze" jak Joomla czy Wordpress - są odpowiednio 4 i 2,5 razy wolniejsze od Windu. Całkiem nieźle wypadł Drupal oraz ModX z czasami około 2 razy gorszymi od Windu.

W tym miejscu konieczny jest komentarz redakcji: z uwagi na wyniki możnaby pomyśleć, że testy są tendencyjne. Nic z tych rzeczy -  każdy może je powtórzyć w domu, w dowolnych warunkach (jak to zrobić opisywaliśmy już na łamach naszego portalu - jak przeprowadza się testy przy pomocy Apache Benchmark); wyniki będą zapewne analogiczne. 

Osobiście sami byliśmy zaskoczeni aż tak dobrymi wynikami. Z początku myśleliśmy, że wynika to z zastosowania bazy danych SQLite - jednak po przeprowadzeniu testu ponownie (już finalnie na bazie MySQL) wyniki okazały się bardzo zbliżone. Dalsza analiza wykazała, że zastosowanie nowatorskiej metody cachowania permanentnego pewnych wyników operacji PHP, które najbardziej obciążały system było strzałem w dziesiątkę! Metoda działania jest bardzo prosta: operacje najbardziej obciążające dla serwera, które nie musza być odświeżane każdorazowo, zrzucamy do pliku *.tmp w formie zserializowanej tablicy. W kolejnym odświeżeniu strony system nie musi liczyć wszystkiego na nowo - wystarczy że odczyta wynik operacji z odpowiedniego pliku.

Warto zobaczyć też porównanie wydajności Windu CMS na przestrzeni różnych rewizji. W kolejnych etapach dodawaliśmy taki typ cachowania dla kolejnych części silnika.
http://devboard.pl/porownanie-wydajnosci-windu-cms