Технические требования

12min

Общие сведения

Пассворк не требователен к ресурсам сервера(-ов). Объемы нужных ресурсов (RAM, CPU, HDD) и количество серверов зависят от количества активных пользователей, объема хранимых данных, а также требований к отказоустойчивости системы.

Пассворк состоит из:

  1. Сервера приложения (веб-сервер и PHP);
  2. Базы данных (MongoDB);

Сервер приложения и база данных могут работать на одном общем выделенном или виртуальном сервере.

Использовать несколько серверов можно при:

  • наличии политики безопасности разделять сервер приложения и базу данных по разным серверам;
  • требовании хранить данные одновременно на нескольких серверах;
  • требовании обеспечения отказоустойчивого решения (несколько серверов приложения).

Общие рекомендации

Показатель IOPS имеет большое значения для скорости работы базы данных, поэтому желательно использовать SSD

Для Linux c RAM меньше 4 ГБ Рекомендуем включить файл подкачки (swapfile) на 4 ГБ.

Варианты установки Пассворка на выделенных или виртуальных серверах

1. Все на одном сервере

Обычно подходит для редакций до 500 пользователей, без специальных требований по хранению данных:

Количество пользователей

RAM

CPU

HDD

до 50

2-4 ГБ

4

100 ГБ

до 100

4-8 ГБ

8

150 ГБ

до 500

8-16 ГБ

8

200 ГБ

2. Сервер приложения и база данных на разных серверах

База данных и сервер приложения разнесены по разным серверам.

RAM-1, CPU-1, HDD-1 — сервер приложения.

RAM-2, CPU-2, HDD-2 — база данных.

Количество пользователей

RAM-1

CPU-1

HDD-1

RAM-2

CPU-2

HDD-2

до 50

2-4 ГБ

4

100 ГБ

2-4 ГБ

4

100 ГБ

до 100

4 ГБ

8

100 ГБ

4 ГБ

4

150 ГБ

до 500

8-16 ГБ

8

100 ГБ

8 ГБ

8

200 ГБ

до 1000

8-16 ГБ

8

100 ГБ

16 ГБ

8

200 ГБ

до 10 000

16-32 ГБ

16

100 ГБ

16-32 ГБ

16

200 ГБ

3. Несколько серверов баз данных

База данных MongoDB может работать в режиме «отказоустойчивости». Выделяется три основных роли серверов в репликационном наборе:

  1. PRIMARY — основной (главный) сервер;
  2. SECONDARY — второстепенный сервер в режиме синхронизации;
  3. ARBITER — сервер не хранящий данных, но принимающий голосование при выборе основной (PRIMARY) ноды.

Мы рекомендуем использовать полноценные экземпляры, так как встроенный механизм балансировки MongoDB работает и без Арбитра.

Возможные варианты реализации:

  1. Три и более сервера: три полноценных сервера баз данных (мастер выбирается в процессе голосования). Арбитр также может быть использован в таких сценариях в качестве дополнительного сервера. Это может быть нужно в специфичных ситуациях, где нужно использовать прогнозируемое переключение PRIMARY ноды;
  2. Три сервера: два полноценных сервера баз данных, один из которых выбирается в качестве основного (PRIMARY), второй — в качестве второстепенного (SECONDARY), и сервер ARBITER. PRIMARY нода переключается автоматически в случае падения текущего основного сервера. ARBITER позволяет сэкономить ресурсы, так как менее требователен.

Минимальное количество членов репликационного набора — три. При использовании двух нод в репликационном наборе, в случае отказа одной из нод, репликационный набор перейдет в режим «только чтение», и Пассворк будет недоступен.

Технические требования для арбитра:

  • RAM — 4 ГБ, CPU — 4, HDD — 100 ГБ;
  • Высокая скорость сетевого соединения с остальными серверами баз данных.

4. Несколько серверов приложений

Возможно использовать несколько серверов приложений в связке:

  • горизонтально несколько PHP-FPM серверов;
  • балансировщик трафика.

Это позволит:

  1. При падении одного сервера запросы автоматически переадресуются на рабочие серверы;
  2. Ускорить работу приложения при большом количестве пользователей (10 000 и более).

Хранение данных, бэкапы и логи

В указанных выше рекомендациях по HDD не учитываются бэкапы и логи. Мы рекомендуем хранить бэкапы базы данных на отдельных серверах или в специализированных хранилищах.

Архивированный бэкап базы занимает примерно 10% размера самой базы.

Оценка размера базы данных (сколько фактически занимает места на диске, без учёта вложений):

Кол-во пользователей

Кол-во паролей

Время в работе

Объем базы

Архив бэкапа

до 100

1000

1 год

0,1 ГБ

10 МБ

до 100

1000

2 года

0,5 ГБ

50 МБ

до 100

1000

3 года

1 ГБ

0,1 ГБ

до 1000

5000

1 год

1 ГБ

0,1 ГБ

до 1000

5000

2 года

5 ГБ

0,5 ГБ

до 1000

5000

3 года

10 ГБ

0,5 ГБ

до 10 000

10 000

1 год

10 ГБ

0,5 ГБ

до 10 000

10 000

2 года

50 ГБ

1 ГБ

до 10 000

10 000

3 года

100 ГБ

2 ГБ



Обновлено 06 Oct 2024
Doc contributor
Doc contributor
Doc contributor
Doc contributor
Doc contributor
Помогла ли вам эта страница?