Тест продуктивності VPS сервера

Після покупки та налаштування сервера стало цікаво, яке навантаження він може витримувати. Скільки користувачів він зможе витримати. І як сильно ці показники відрізнятимуться від показань звичайного шаред-хостера?

По суті, у мене був SSH-доступ до двох серверів, один в Америці (шаред-хостинг) та інший в Англії (VPS). на обох серверах було встановлено apache, тому було вирішено використовувати утилітуab для створення стрес-навантаження.

Використовувалися такі параметри:

Тест у 500 запитів, з організацією 20 одночасних з'єднань.

При цьому на VPS у мене була можливість провести експеримент ширше, використовувалося кілька варіантів налаштування кешування, про які описуватиму перед подачею результатів тестів. Почнемо?

Спочатку проводив тестування VPS-сервера, на якому було встановлено WordPress. На той час вже була встановлена ​​і знаходилася в робочому стані система кешування XCache, WP-Super-Cache було вимкнено.

Досить добре, 7.56 запиту в секунду. Єдино, відразу стала позначатися проблема нестачі пам'яті. Було витрачено всю оперативну пам'ять, під зав'язку, не залишаючи місця для буферів і кешу. І було заповнено повністю своп. Тобто потрібно більше гігабайта оперативної пам'яті.

Завантаження процесора так само було досить стресовим. Усі 4 ядра процесора були навантажені від 40 до 80%.

Після цього увімкнув розширення WP-Super-Cache, прописав редиректи в nginx для даного розширення. Перезапустив php5-fpm і сам nginx для вивільнення пам'яті. І повторив тест із тими самими параметрами.

Разом тест знову пройдено, але швидкість віддачі вже досягає 14.15 запитів в секунду. При цьому завантаження пам'яті та процесора було аналогічне попередньому тесту.

У файл/etc/nginx/nginx.conf у розділ http додав рядок:

І потім в налаштуваннях домена додав:

Про всяк випадок пройшов з браузера на головну сторінку тестованого блогу, щоб дати можливість прокешувати її. І потім повторив тест із тими самими параметрами, що й раніше.

Приголомшливі 4986,83 запити в секунду! Але що найбільше мене вразило, то це те, що споживання пам'яті і навантаження на процесор залишалися без змін. Тобто це далеко не межа. Швидкість віддачі сторінок з блогу на WordPress стала порівнянною зі швидкістю віддачі звичайного статичного сайту!

Для коректної роботи адмінки блогу доводиться прописувати окремі правила nginx, які відключають цю систему кешування на певних сторінках.

Тобто фактично висока продуктивність і низьке навантаження починають проявляти себе в поганому світлі при використанні самого блогу. Доводиться відмовлятися від багатьох речей або дуже тонко підходити до налаштування даного кешування.

Ну і насамкінець, вирішив протестувати продуктивно хостера justhost.com, на якому останнім часом розміщувався мій сайт. Про всяк випадок не став відключати WP-Super-Cache, використовував самі параметри команди.

Цілком порівняні результати! Показник в 18.4 запиту в секунду, при включеному використанні кеша для apache є досить хорошим результатом. Щоправда, і сервер використовується з 12 гігабайтами оперативної пам'яті. Зрозуміло, що це ділитися на всіляких клієнтів. Але для apache це багато!

І до того ж, у цьому випадку apache лише трохи обійшов за продуктивністю nginx+php-fpm, встановленому на менш потужному сервері.

Залишилося розібратися, як поводитиметься VPS з цими налаштуваннями при тривалих навантаженнях, і якобмежити пам'ять виділені процеси php5-fpm. Але це вже тема інших статей.