---
title: 技术要求
slug: docs.password-manager.cn
docTags: 
createdAt: 2024-04-05T12:34:15.491Z
---

## 一般信息

Passwork 不是资源密集型的。所需的资源量（RAM、CPU、HDD）和服务器数量取决于活跃用户的数量、存储数据的量以及系统的容错要求。

Passwork 由一个应用服务器（Web服务器 + PHP）和一个数据库（MongoDB 4.2+）组成。这两者都可以在一个共享的专用服务器或虚拟服务器上运行。

如果出现以下情况，可能需要多个服务器：

- 安全政策要求应用服务器和数据库分开；
- 需要在多个服务器上同时存储数据；
- 需要容错解决方案（多个应用服务器）。

IOPS 值对数据库的速度非常重要，因此建议使用 SSD 硬盘。

对于 RAM 小于 4GB 的 Linux，我们推荐包含一个 4GB 的交换文件。

**在专用或虚拟服务器上安装 Passwork 的选项**

## 1. 单服务器

通常适用于最多 500 名用户的版本，没有特殊的数据存储要求：

| 用户数量   | RAM                | CPU | HDD    |
| ------ | ------------------ | --- | ------ |
| 最多 50  | 2-4 GB             | 4   | 100 GB |
| 最多 100 | 4-8 GB<br /><br /> | 8   | 150 GB |
| 最多 500 | 8-16 GB            | 8   | 200 GB |

## 2. 应用程序和数据库使用不同的服务器

数据库和应用服务器分布在不同的服务器上

- RAM-1, CPU-1, HDD-1 — 应用服务器。
- RAM-2, CPU-2, HDD-2 — 数据库

Dont change the parameters in table exept that i have translated 

| 用户数量      | RAM-1          | CPU-1    | HDD-1       | RAM-2<br /><br /> | CPU-2    | HDD-2       |
| --------- | -------------- | -------- | ----------- | ----------------- | -------- | ----------- |
| 最多 50     | 2-4 GB<br />   | 4        | 100GB       | 2-4 GB<br />      | 4<br />  | 100GB<br /> |
| 最多 100    | 4-8 GB         | 8<br />  | 100GB<br /> | 4 GB<br />        | 4<br />  | 150GB<br /> |
| 最多 500    | 8-16 GB<br />  | <br />8  | 100GB<br /> | 8 GB<br />        | 8<br />  | 200GB<br /> |
| 最多 1 000  | 8-16 GB<br />  | <br />8  | <br />100GB | 16 GB<br />       | 8<br />  | 200GB<br /> |
| 最多 10 000 | 16-32 GB<br /> | <br />16 | <br />100GB | 16-32 GB<br />    | 16<br /> | 200GB<br /> |

## 3. 多个数据库服务器

MongoDB 数据库可以以“集群”模式运行。在这样的集群中，服务器有三个主要角色：

1. Master — 主服务器；
2. Replica — 拥有数据副本的服务器；
3. Arbiter — 一个特殊的服务器，确保在选择主数据库时投票过程的正确性。

Arbiter 服务器用于自动切换主服务器并提供容错能力。

**可能的情况：**

1. 2台服务器：一台主服务器，积极使用，+ 一台副本服务器，被动存储数据库的副本；
2. 3台服务器：两台全功能数据库服务器，其中一台被选为主服务器，第二台作为副本，第三台作为仲裁服务器，确保主服务器选择过程的正确性。如果当前的主服务器出现故障，主数据库将自动切换。仲裁服务器节省资源，因为它对资源的需求较少；
3. 3台或更多服务器：三台完备的数据库服务器（主服务器在投票过程中被选出）。在这样的情况下，仲裁者也可以作为第三台+服务器使用。在特定的集群中，如果您需要使用预测性的主数据库切换，这可能是必要的。

**仲裁者的技术要求：**

- RAM - 4 GB, CPU - 4, HDD - 100 GB
- 与其它数据库服务器的高速网络连接。

## 4. 多个应用服务器

可以将多个应用服务器并行使用，包括：

- 水平扩展的多个 PHP-FPM 服务器；
- 负载均衡器

**这将允许:**

1. 如果一台服务器宕机，请求会自动重定向到工作中的服务器；
2. 当用户数量很大时（10,000 人及以上），加速应用的操作"

数据存储、备份和日志

上述 HDD 建议不包括备份和日志。我们推荐在单独的服务器或专门的存储设备中存储数据库备份。

归档的数据库备份大约占数据库本身大小的 10%。
