Technische Anforderungen
Übersicht
Passwork ist nicht ressourcenintensiv. Die benötigte Menge an RAM, Festplattenplatz und CPU-Leistung sowie die erforderliche Anzahl von Servern hängen von der Anzahl aktiver Benutzer, dem Volumen der gespeicherten Daten und den Anforderungen an die Ausfallsicherheit des Systems ab.
Passwork besteht aus zwei Elementen:
- Anwendungsserver (Webserver und PHP);
- Datenbank;
Der Anwendungsserver und die Datenbank können auf demselben Server oder auf verschiedenen virtuellen oder physischen Servern betrieben werden, wenn:
- aus Sicherheitsgründen der Anwendungsserver und die Datenbank auf verschiedene Server getrennt werden müssen;
- Daten gleichzeitig auf mehreren Servern gespeichert werden müssen;
- eine ausfallsichere Lösung erforderlich ist.
Zusätzliche Empfehlungen
- Die IOPS-Metrik ist sehr wichtig für die Datenbankleistung, daher empfehlen wir die Verwendung von SSD-Laufwerken.
- Für Linux mit weniger als 4 GB RAM wird empfohlen, eine Swap-Datei von 4 GB zu aktivieren.
Passwork-Installationsoptionen
1. Einzelserver-Installation
Diese Option eignet sich für Editionen mit bis zu 500 Benutzern ohne besondere Anforderungen an die Datenspeicherung:
| Anzahl der Benutzer | RAM | CPU | HDD/SSD |
|---|---|---|---|
| bis zu 50 | 4 GB oder mehr | 4 | 100 GB |
| bis zu 100 | 6 GB oder mehr | 8 | 150 GB |
| bis zu 500 | 12 GB oder mehr | 8 | 200 GB |
2. Installation auf separaten Servern
In diesem Fall befinden sich die Datenbank und der Anwendungsserver auf verschiedenen Servern.
Anforderungen an den Anwendungsserver:
| Anzahl der Benutzer | RAM | CPU | HDD/SSD |
|---|---|---|---|
| bis zu 50 | 4 GB oder mehr | 4 | 100 GB |
| bis zu 100 | 6 GB oder mehr | 8 | 100 GB |
| bis zu 500 | 12 GB oder mehr | 8 | 100 GB |
| bis zu 1000 | 16 GB oder mehr | 8 | 100 GB |
| bis zu 10.000 | 32 GB oder mehr | 16 | 100 GB |
Anforderungen an den Datenbankserver:
| Anzahl der Benutzer | RAM | CPU | HDD/SSD |
|---|---|---|---|
| bis zu 50 | 2-4 GB | 4 | 100 GB |
| bis zu 100 | 4 GB | 4 | 150 GB |
| bis zu 500 | 8-16 GB | 8 | 200 GB |
| bis zu 1000 | 16 GB | 8 | 200 GB |
| bis zu 10.000 | 16-32 GB | 16 | 200 GB |
3. Mehrere Datenbankserver
Die MongoDB-Datenbank kann in einem ausfallsicheren Modus betrieben werden. Drei Hauptserverrollen werden in einem Replica Set zugewiesen:
- Primary — Hauptserver;
- Secondary — sekundärer Server im Synchronisationsmodus;
- Arbiter — ein Server, der keine Daten speichert, aber an der Auswahl des primären Knotens bei Serverausfall teilnimmt.
Wir empfehlen die Verwendung von vollständigen Instanzen, da der eingebaute Balancing-Mechanismus von MongoDB auch ohne Arbiter funktioniert.
Mögliche Implementierungsoptionen
- Drei oder mehr Server: drei vollständige Datenbankserver (der Primary wird durch Abstimmung gewählt). In diesem Fall kann der Arbiter als zusätzlicher Server verwendet werden, zum Beispiel wenn ein vorhersagbares Primary-Node-Failover benötigt wird;
- Drei Server: zwei vollständige Datenbankserver, von denen einer als Primary, der zweite als Secondary (
SECONDARY) gewählt wird, und der dritte als Arbiter fungiert. Der primäre Knoten wechselt automatisch, wenn der aktuelle primäre Server ausfällt. Der Arbiter hilft, Ressourcen zu sparen, da er weniger anspruchsvoll ist.
Die Mindestanzahl der Replica-Set-Mitglieder beträgt drei. Andernfalls wechselt das Replica Set bei Ausfall eines Knotens in den „read-only"-Modus, und Passwork ist nicht verfügbar.
Technische Anforderungen für den Arbiter
- RAM — 4 GB, CPU — 4 Kerne, HDD/SSD — 100 GB;
- Hochgeschwindigkeits-Netzwerkverbindung mit anderen Datenbankservern.
4. Mehrere Anwendungsserver
Sie können mehrere Anwendungsserver in einem Cluster verwenden, bestehend aus:
- mehreren PHP-FPM-Servern (horizontale Skalierung);
- einem Traffic-Load-Balancer.
Dies ermöglicht:
- Automatische Umleitung von Anfragen an andere Server bei Ausfall eines Servers.
- Beschleunigte Anwendungsleistung bei einer großen Anzahl von Benutzern (10.000 oder mehr).
Sicherung und Protokollspeicherung
Die nachstehenden Empfehlungen zum Festplattenvolumen beinhalten keine Sicherungen und Protokolle. Wir empfehlen, Datenbanksicherungen auf separaten Servern oder spezialisiertem Speicher aufzubewahren.
Eine archivierte Datenbanksicherung nimmt etwa 10% der Datenbankgröße ein.
Sie können die tatsächliche Datenbankgröße (ohne Anhänge) anhand der folgenden Tabelle abschätzen:
| Anzahl der Benutzer | Anzahl der Passwörter | Nutzungsdauer | Datenbankgröße | Sicherungsarchiv |
|---|---|---|---|---|
| bis zu 100 | 1000 | 1 Jahr | 0,1 GB | 10 MB |
| bis zu 100 | 1000 | 2 Jahre | 0,5 GB | 50 MB |
| bis zu 100 | 1000 | 3 Jahre | 1 GB | 0,1 GB |
| bis zu 1000 | 5000 | 1 Jahr | 1 GB | 0,1 GB |
| bis zu 1000 | 5000 | 2 Jahre | 5 GB | 0,5 GB |
| bis zu 1000 | 5000 | 3 Jahre | 10 GB | 0,5 GB |
| bis zu 10.000 | 10.000 | 1 Jahr | 10 GB | 0,5 GB |
| bis zu 10.000 | 10.000 | 2 Jahre | 50 GB | 1 GB |
| bis zu 10.000 | 10.000 | 3 Jahre | 100 GB | 2 GB |
Unterstützte Webbrowser
Die Client-Seite von Passwork wird in den folgenden Webbrowsern und Mindestversionen korrekt angezeigt und funktioniert.
| Webbrowser | Mindestversion |
|---|---|
| Google Chrome | 110 und höher |
| Microsoft Edge | 110 und höher |
| Mozilla Firefox | 115 und höher |
| Safari | 16.0 und höher |
| Opera | 96 und höher |