У листопаді 2007 року я перевіряв Energine на сервері titan-r. Очікував, що використані в системі технології дадуть перевагу у швидкодії, але отриманий результат мене розчарував.
За моїми тодішніми тестами Energine виявилася повільнішою за Joomla; в тих самих нотатках я згадував і швидші результати phpNuke та Drupal. Водночас вона випередила протестований мною «Бітрікс». Щоправда, обсяг інформації на сайтах був неспівмірним — і це суттєво обмежувало таке порівняння.
Що саме вимірювалося
ApacheBench звертався до головної сторінки i1.kiev.ua. Параметр -n 100000 задавав кількість запитів, а -c 5 — п’ять одночасних запитів. У відповідях сервер представлявся як nginx/0.4.13, довжина документа становила 4023 байти.
Журнал тесту
root@titan-r:~# ab -c 5 -n 100000 http://i1.kiev.ua/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking i1.kiev.ua (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Finished 100000 requests
Server Software: nginx/0.4.13
Server Hostname: i1.kiev.ua
Server Port: 80
Document Path: /
Document Length: 4023 bytes
Concurrency Level: 5
Time taken for tests: 4574.631725 seconds
Complete requests: 100000
Failed requests: 5
(Connect: 0, Length: 5, Exceptions: 0)
Write errors: 0
Non-2xx responses: 5
Total transferred: 446779435 bytes
HTML transferred: 402280850 bytes
Requests per second: 21.86 [#/sec] (mean)
Time per request: 228.732 [ms] (mean)
Time per request: 45.746 [ms] (mean, across all concurrent requests)
Transfer rate: 95.38 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 0 228 106.2 205 1613
Waiting: 0 227 106.1 204 1613
Total: 0 228 106.2 205 1613
Percentage of the requests served within a certain time (ms)
50% 205
66% 228
75% 240
80% 250
90% 296
95% 429
98% 591
99% 726
100% 1613 (longest request)Як читати результат
На 100 000 запитів пішло 4574.631725 секунди, а середня пропускна здатність становила 21.86 запиту за секунду. Половина запитів уклалася у 205 мс, 95% — у 429 мс; найдовший тривав 1613 мс.
Два рядки Time per request описують різні способи усереднення: 228.732 мс враховує рівень паралельності, а 45.746 мс — загальний час, поділений на кількість запитів. Друге число не означає, що окремий відвідувач чекав лише 45.746 мс.
Окремо зафіксовано п’ять невдалих запитів із відмінною довжиною відповіді та п’ять відповідей поза діапазоном 2xx. За підсумковим журналом не можна визначити їхні точні HTTP-коди чи причину зміни довжини. Опис цих полів наведено в документації ApacheBench.
Який висновок я зробив
Очікуваної переваги Energine у цій перевірці я не побачив. Але результат стосується конкретної сторінки, вмісту й серверного оточення 2007 року. Для висновку про самі CMS потрібне зіставлення однакового навантаження й однакових даних, а в моєму порівнянні ці умови не були витримані.
1 коментар:
По определению использование связки XML+XSLT не может быть быстрым
если стоит проблема с производительностью то единственным реальным решением является кеширование
Дописати коментар