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

13min

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

Пассворк не требователен к ресурсам. Объемы оперативной памяти, дискового пространства и мощности процессора, а также необходимое количество серверов зависят от числа активных пользователей, объема хранимых данных и требований к отказоустойчивости системы.

Пассворк состоит из двух элементов:

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

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

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

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

Дополнительные рекомендации

  • Показатель 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 ГБ

4

100 ГБ

до 100

4 ГБ

8

100 ГБ

до 500

8-16 ГБ

8

100 ГБ

до 1000

8-16 ГБ

8

100 ГБ

до 10 000

16-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 может работать в режиме отказоустойчивости. Выделяется три основных роли серверов в репликационном наборе:

  1. Primary — основной сервер;
  2. Secondary — второстепенный сервер в режиме синхронизации;
  3. Arbiter — сервер не хранящий данных, но участвующий в выборе основного узла в случае падения сервера.

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

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

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

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

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

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

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

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

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

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

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

Хранение бэкапов и логов

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

Архивированный бэкап базы занимает около 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 ГБ



Обновлено 27 Jan 2025
Doc contributor
Doc contributor
Doc contributor
Doc contributor
Doc contributor
+1
Помогла ли вам эта страница?