Всем здравствуйте. Настало время моего еженедельного отчёта. На прошлой неделе я активно улучшал мой персональный веб-сайт, а на этой неделе я решил провести нагрузочный тест для моего персонального веб-сайта. Предыстория такая: я частенько удивляюсь ценам на облачные сервисы 🌧️💸, и мысленно спрашиваю сам себя: почему нужно столько платить за хостинг для сайтика, который уберётся на одном ARM-компьютере размером со спичечный коробок? И вот в воскресенье я решил проверить, а реально ли мой ARM-компьютер что-то может, или это самообман?
Нагрузочный тест веб-сервера Orange Pi 🍊📊
Провёл такой тест:
-
Сценарий: пользователь заходит своим бразуером в мой блог и
по очереди читает каждый пост
- Всего 61 постов, в каждом посте по несколько картинок
- HTTP-кэш отключен
- Изначально загружаем всё: HTML, CSS, JavaScript, иконки
-
После этого загружаем текст каждого блога и картинки к нему
- Это соответствует реальности, ибо SPA не будет загружать CSS и JS повторно, когда переходим между постами
Результаты получились такие:
-
Блоги: 97 просмотров в секунду
- Запросы: 310 HTTP-запросов в секунду
-
Нагрузка на Orange Pi
-
Процессор: 90%
- Caddy: 30% (прокси веб сервер)
- hinst-website: 30% (моя прога на Go)
- PostgreSQL: 10% (база данных)
- Остальное: 20% (системные процессы и Kubernetes)
- Память: 50% (из 4 ГБ)
- Температура: 75 градусов
-
Процессор: 90%
Выводы:
-
Сайт может выдержать примерно
90 пользователей которые будут одновременно
активно кликать на посты каждую секунду
- Нагрузка зависит от поведения пользователей. Они могут отдыхать: ничего не кликать, а могут напрячься и кликать ещё чаще.
-
Настройки сжатия в Caddy отчасти влияют на
производительность
- Если поднять уровень сжатия c fastest до default, то получим вместо 310 всего лишь 290 запросов в секунду
Такой получился тест. Если буду делать какое-нибудь значительное обновление для моего персонального веб-сайта, то можно будет повторить нагрузочный тест и сравнить: до и после.