Нагрузочное тестирование 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.