Технические требования
Общие сведения
Пассворк не требователен к ресурсам. Объемы оперативной памяти, дискового пространства и мощности процессора, а также необходимое количество серверов зависят от числа активных пользователей, объема хранимых данных и требований к отказоустойчивости системы.
Пассворк состоит из двух элементов:
- Сервера приложения (веб-сервер и PHP);
- База данных;
Сервер приложения и база данных могут работать как на одном сервере, так и на разных виртуальных или физических серверах если:
- в целях безопасности требуется разделить сервер приложения и базу данных по разным серверам
- необходимо хранить данные одновременно на нескольких серверах;
- необходимо обеспечить отказоустойчивое решение.
Дополнительные рекомендации
- Показатель IOPS имеет большое значение для скорости работы базы данных, поэтому мы рекомендуем использовать SSD накопители.
- Для Linux c ОЗУ меньше 4 ГБ рекомендуется вклю чить файл подкачки (swap file) на 4 ГБ.
Варианты установки Пассворка
1. Установка на один сервер
Этот вариант подходит для редакций до 500 пользователей при отсутствии особых требований к хранению данных:
| Количество пользователей | RAM | CPU | HDD/SSD |
|---|---|---|---|
| до 50 | 2-4 ГБ и более | 4 | 100 ГБ |
| до 100 | 4-8 ГБ и более | 8 | 150 ГБ |
| до 500 | 8-16 ГБ и более | 8 | 200 ГБ |
2. Установка на разные сервера
В этом случае база данных и сервер приложения ра знесены по разным серверам.
Требования к серверу приложения:
| Количество пользователей | RAM | CPU | HDD/SSD |
|---|---|---|---|
| до 50 | 2 ГБ и более | 4 | 100 ГБ |
| до 100 | 4 ГБ и более | 8 | 100 ГБ |
| до 500 | 8 ГБ и более | 8 | 100 ГБ |
| до 1000 | 16 ГБ и более | 8 | 100 ГБ |
| до 10 000 | 32 ГБ и более | 16 | 100 ГБ |
Требования к серверу базы данных:
| Количество пользователей | RAM | CPU | HDD/SSD |
|---|---|---|---|
| до 50 | 2-4 ГБ | 4 | 100 ГБ |
| до 100 | 4 ГБ | 4 | 150 ГБ |
| до 500 | 8-16 ГБ | 8 | 200 ГБ |
| до 1000 | 16 ГБ | 8 | 200 ГБ |
| до 10 000 | 16-32 ГБ | 16 | 200 ГБ |
3. Несколько серверов баз данных
База данных MongoDB может работать в режиме отказоустойчивости. Выделяется три основных роли серверов в репликационном наборе:
- Primary — основной сервер;
- Secondary — второстепенный сервер в режиме синхронизации;
- Arbiter — сервер не хранящий данных, но участвующий в выборе основного узла в случае падения сервера.
Мы рекомендуем использовать полноценные экземпляры, так как встроенный механизм балансировки MongoDB работает и без арбитра
Возможные варианты реализации
- Три и более сервера: три полноценных сервера баз данных (основной выбирается в процессе голосования). При таких условиях арбитр можно использовать в качестве дополнительного сервера, например когда нужно добиться прогнозируемого переключения основного узла;
- Три сервера: два полноценных сервера баз данных, один из которых выбирается в качестве основного, второй — в качестве второстепенного (
SECONDARY), а третий выступает арбитром. Основной узел переключается автоматически в случае падения текущего основного сервера. Арбитр при этом позволяет сэкономить ресурсы, так как менее требователен.
Минимальное количество членов репликационного набора — три. Иначе при отказе одного из узлов репликационный набор перейдет в режим «только чтение», и Пассворк будет недоступен