Requisitos técnicos
Descripción general
Passwork no requiere muchos recursos. La cantidad de RAM, espacio en disco y potencia de CPU, así como el número necesario de servidores, dependen de la cantidad de usuarios activos, el volumen de datos almacenados y los requisitos de tolerancia a fallos del sistema.
Passwork consta de dos elementos:
- Servidor de aplicaciones (servidor web y PHP);
- Base de datos;
El servidor de aplicaciones y la base de datos pueden ejecutarse en el mismo servidor o en diferentes servidores virtuales o físicos si:
- por razones de seguridad, es necesario separar el servidor de aplicaciones y la base de datos en diferentes servidores;
- es necesario almacenar datos simultáneamente en múltiples servidores;
- se requiere una solución tolerante a fallos.
Recomendaciones adicionales
- La métrica IOPS es muy importante para el rendimiento de la base de datos, por lo que recomendamos usar unidades SSD.
- Para Linux con menos de 4 GB de RAM, se recomienda habilitar un archivo swap de 4 GB.
Opciones de instalación de Passwork
1. Instalación en servidor único
Esta opción es adecuada para ediciones de hasta 500 usuarios sin requisitos especiales de almacenamiento de datos:
| Número de usuarios | RAM | CPU | HDD/SSD |
|---|---|---|---|
| hasta 50 | 4 GB o más | 4 | 100 GB |
| hasta 100 | 6 GB o más | 8 | 150 GB |
| hasta 500 | 12 GB o más | 8 | 200 GB |
2. Instalación en servidores separados
En este caso, la base de datos y el servidor de aplicaciones se encuentran en diferentes servidores.
Requisitos del servidor de aplicaciones:
| Número de usuarios | RAM | CPU | HDD/SSD |
|---|---|---|---|
| hasta 50 | 4 GB o más | 4 | 100 GB |
| hasta 100 | 6 GB o más | 8 | 100 GB |
| hasta 500 | 12 GB o más | 8 | 100 GB |
| hasta 1000 | 16 GB o más | 8 | 100 GB |
| hasta 10 000 | 32 GB o más | 16 | 100 GB |
Requisitos del servidor de base de datos:
| Número de usuarios | RAM | CPU | HDD/SSD |
|---|---|---|---|
| hasta 50 | 2-4 GB | 4 | 100 GB |
| hasta 100 | 4 GB | 4 | 150 GB |
| hasta 500 | 8-16 GB | 8 | 200 GB |
| hasta 1000 | 16 GB | 8 | 200 GB |
| hasta 10 000 | 16-32 GB | 16 | 200 GB |
3. Múltiples servidores de base de datos
La base de datos MongoDB puede operar en modo tolerante a fallos. Se asignan tres roles principales de servidor en un conjunto de réplicas:
- Primary — servidor principal;
- Secondary — servidor secundario en modo de sincronización;
- Arbiter — un servidor que no almacena datos pero participa en la selección del nodo principal en caso de fallo del servidor.
Recomendamos usar instancias completas, ya que el mecanismo de balanceo integrado de MongoDB funciona sin un árbitro también.
Posibles opciones de implementación
- Tres o más servidores: tres servidores de base de datos completos (el primario se selecciona mediante votación). En este caso, el árbitro puede usarse como servidor adicional, por ejemplo, cuando se necesita una conmutación predecible del nodo primario;
- Tres servidores: dos servidores de base de datos completos, uno de los cuales se selecciona como primario, el segundo como secundario (
SECONDARY) y el tercero actúa como árbitro. El nodo primario cambia automáticamente si el servidor primario actual falla. El árbitro ayuda a ahorrar recursos ya que es menos exigente.
El número mínimo de miembros del conjunto de réplicas es tres. De lo contrario, si un nodo falla, el conjunto de réplicas cambiará al modo «solo lectura» y Passwork no estará disponible.
Requisitos técnicos para Arbiter
- RAM — 4 GB, CPU — 4 núcleos, HDD/SSD — 100 GB;
- Conexión de red de alta velocidad con los demás servidores de base de datos.
4. Múltiples servidores de aplicaciones
Puede utilizar múltiples servidores de aplicaciones en un clúster que consiste en:
- varios servidores PHP-FPM (escalado horizontal);
- un balanceador de carga de tráfico.
Esto permite:
- Redireccionamiento automático de solicitudes a otros servidores si uno falla.
- Rendimiento acelerado de la aplicación con un gran número de usuarios (10 000 o más).
Copias de seguridad y almacenamiento de registros
Las recomendaciones de volumen de disco a continuación no incluyen copias de seguridad ni registros. Recomendamos almacenar las copias de seguridad de la base de datos en servidores separados o almacenamiento especializado.
Una copia de seguridad archivada de la base de datos ocupa aproximadamente el 10% del tamaño de la base de datos.
Puede estimar el tamaño real de la base de datos (excluyendo archivos adjuntos) utilizando la siguiente tabla:
| Número de usuarios | Número de contraseñas | Tiempo de uso | Tamaño de la base de datos | Archivo de copia de seguridad |
|---|---|---|---|---|
| hasta 100 | 1000 | 1 año | 0,1 GB | 10 MB |
| hasta 100 | 1000 | 2 años | 0,5 GB | 50 MB |
| hasta 100 | 1000 | 3 años | 1 GB | 0,1 GB |
| hasta 1000 | 5000 | 1 año | 1 GB | 0,1 GB |
| hasta 1000 | 5000 | 2 años | 5 GB | 0,5 GB |
| hasta 1000 | 5000 | 3 años | 10 GB | 0,5 GB |
| hasta 10 000 | 10 000 | 1 año | 10 GB | 0,5 GB |
| hasta 10 000 | 10 000 | 2 años | 50 GB | 1 GB |
| hasta 10 000 | 10 000 | 3 años | 100 GB | 2 GB |
Navegadores web compatibles
El lado del cliente de Passwork se muestra y funciona correctamente en los siguientes navegadores web y versiones mínimas.
| Navegador web | Versión mínima |
|---|---|
| Google Chrome | 110 y superior |
| Microsoft Edge | 110 y superior |
| Mozilla Firefox | 115 y superior |
| Safari | 16.0 y superior |
| Opera | 96 y superior |