Рекомендованный хостинг

Выбор хорошего хостинга – залог успеха Вашего сайта. Ниже, мы приведем наши рекомендации, которые помогут выбрать профессиональный хостинг.
Для установки любого из наших продуктов нужен выделенный сервер или VPS или VDS. Обычный shared-хостинг не подходит.
Если Ваш сайт нацелен на определенный географический регион, то лучше выбирать местный хостинг, чтобы сайт загружался и работал быстрее.

Системные требования

Операционная система: Rocky Linux 8+ x64

Минимально мы рекомендуем:

Оперативная память: 4 Gb+
Процессор: 2.4 Ghz+ (2 ядра+)
Объем диска: 30 Gb+
Тип диска: SSD
Тип виртуализации: KVM
Nginx + php-fpm, Apache + mod_php

Настройки сервера:

PHP 7.4 (в зависимости от версии): pdo_mysql, gd, mbstring, pcntl, gettext, curl, apc(u), json, dom, zip, openssl, xmlreader, short_open_tag=On
MySQL 8.0
ionCube Loader 13.0+

Нагрузочное тестирование*

Когда проект растёт и пользователей становится больше, это требует больше ресурсов сервера, чтобы на все операции хватало памяти и вычислительной мощности. Мы следим за тем, чтобы вы знали какие требования к серверу у вашего проекта будут на разных этапах развития.
16 Gb RAM + 8 ядер CPU
1,5 млн
3 млн
~ 50 тыс.
500
16 Gb RAM + 6 ядер CPU
1 млн
2 млн
~ 30 тыс.
300
8 Gb RAM + 4 ядра CPU
500 тыс.
1 млн
~ 15 тыс.
150
4 Gb RAM + 2 ядра CPU
500 тыс.
1 млн
~ 5 тыс.
50
КОНФИГУРАЦИЯ СЕРВЕРА
АКТИВНЫХ ОБЪЯВЛЕНИЙ
ВСЕГО ОБЪЯВЛЕНИЙ
ПОЛЬЗОВАТЕЛЕЙ
В СУТКИ
ОДНОВРЕМЕННЫХ ПОЛЬЗОВАТЕЛЕЙ
* Нагрузочное тестирование выполнялось с помощью системы Tsung:
При тестировании считалось, что сервер справляется с нагрузкой, если время формирования страницы не превышает 2-х секунд.

При дальнейшем увеличении нагрузки увеличивалось время ответа сервера, но отказа в обслуживании не происходило.
Узким местом является БД, ощутимее данный вопрос при росте базы данных более 2-3 млн. объявлений, в качестве решения мы советуем вынос БД на отдельный сервер, а также организацию master-slave архитектуры.

Из коробки созданы все необходимые индексы покрывающие основные запросы к таблицам объявлений.

Также возможна организация хранения сессий с использованием memcached.