У листопаді 2007 року я вирішив перевірити поширене твердження: чи справді стандартні CMS працюють швидше за індивідуально розроблені сайти? Для цього запустив тривалий тест головної сторінки osan-koeln.net на сервері titan-r.
Умови перевірки
ApacheBench виконав мільйон запитів із паралельністю 5. Головна сторінка мала довжину 33326 байтів, а сервер представлявся як nginx/0.4.13. Це перевірка однієї адреси, без переходів між розділами й відтворення різних дій відвідувачів.
Повний журнал тесту
root@titan-r:~# ab -c 5 -n 1000000 http://osan-koeln.net/
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 osan-koeln.net (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Finished 1000000 requests
Server Software: nginx/0.4.13
Server Hostname: osan-koeln.net
Server Port: 80
Document Path: /
Document Length: 33326 bytes
Concurrency Level: 5
Time taken for tests: 5252.648192 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Total transferred: -646738368 bytes
HTML transferred: -1033738368 bytes
Requests per second: 190.38 [#/sec] (mean)
Time per request: 26.263 [ms] (mean)
Time per request: 5.253 [ms] (mean, across all concurrent requests)
Transfer rate: -120.24 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 4
Processing: 12 25 45.3 23 10587
Waiting: 11 23 40.7 22 10581
Total: 12 25 45.3 23 10587
Percentage of the requests served within a certain time (ms)
50% 23
66% 26
75% 29
80% 31
90% 37
95% 43
98% 51
99% 60
100% 10587 (longest request)Що показали цифри
Прогін тривав 5252.648192 секунди — приблизно 87,54 хвилини. Середній результат становив 190.38 запиту за секунду. У журналі немає невдалих запитів або помилок запису.
Медіанний час відповіді становив 23 мс; 95% запитів уклалися у 43 мс, 99% — у 60 мс. Водночас найдовший запит тривав 10587 мс, тобто понад десять секунд. Тому однієї середньої швидкості замало, щоб описати всі затримки.
Від’ємні значення обсягу переданих даних і швидкості передавання є аномаліями лічильників. Вони не описують реальний від’ємний трафік; причину в збереженому виводі не встановлено. Журнал залишено з цими значеннями.
Порівняння зі стандартними CMS
Тоді я записав, що більшість перевірених мною CMS були швидшими, «Бітрікс» — повільнішим, а Joomla випереджала цей сайт приблизно в півтора раза. Проте в цій нотатці немає парного журналу Joomla з тотожними даними та налаштуваннями. Саме наведений прогін не дозволяє перевірити таке співвідношення.
Моя початкова гіпотеза була проста: масове рішення може вигравати завдяки більшій увазі до налагодження й оптимізації. Але сам факт індивідуальної розробки нічого не говорить про якість її оптимізації. На результат впливають реалізація сторінки, запити до бази, кешування та серверне оточення.
Висновок для вибору системи
Цей тест дав числовий результат для конкретного сайту у 2007 році, але не встановив переможця між усіма готовими CMS та індивідуальними рішеннями. Для такого порівняння потрібні однакові дані, сценарії й умови роботи. Метод читання показників описано в документації ApacheBench.
Немає коментарів:
Дописати коментар