Нагрузочное тестирование Tamaranga DO 2.x
Нагрузочное тестирование выполнялось с помощью системы Tsung:
- При тестировании считалось, что сервер справляется с нагрузкой, если время формирования страницы не превышает 2-х секунд.
- При дальнейшем увеличении нагрузки увеличивалось время ответа сервера, но отказа в обслуживании не происходило.
Результаты тестирования
Одновременных пользователей | Пользователей в сутки ~ | Всего объявлений | Количество активных объявлений | Конфигурация сервера |
50 | 5 тыс | 1 млн | 500 тыс | 4Gb + 2CPU, SSD |
150 | 15 тыс | 1 млн | 500 тыс | 8Gb + 4CPU, SSD |
300 | 30 тыс | 2 млн | 1 млн | 16Gb + 6CPU, SSD |
500 | 50 тыс | 3 млн | 1.5 млн | 16Gb + 8CPU, SSD |
- Nginx + PHP-FPM;
- PHP версии 7.0 + расширения:
- Zend OPcache;
- APCu (для кеширования запросов к БД);
- MySQL 5.7;
- Sphinx 2.2.4 (обработка поисковых текстовых запросов);
- Статические файлы проекта, а также изображения объявлений, находятся на отдельном сервере, например сервер Amazon S3 или же отдельный vps/vds.
Узким местом является БД, ощутимее данный вопрос при росте базы данных более 2-3млн. объявлений, в качестве решения мы советуем вынос БД на отдельный сервер, а также организацию master-slave архитектуры.
Из коробки созданы все необходимые индексы покрывающие основные запросы к таблицам объявлений.
Также возможна организация хранения сессий с использованием memcached.