2009-04-17 15 views
2

Ich richte einen Webserver für einen Client ein. Sie werden eine Web-App (PHP/LAMP) verwenden, die ich gerade erstelle. Der Server wird lokal in ihrem Netzwerk sitzen. Es wird auch eine MySQL-Datenbank auf demselben Server geben. Die Last auf dem Server wird nur 20-25 gleichzeitige Benutzer sein, aber Verfügbarkeit und Leistung sind immer noch sehr wichtig.Irgendwelche Vorschläge zur Serverkonfiguration für meinen Webserver?

Die Anwendung selbst wird eine Back-End-CMS (TBD) wird unter Verwendung von Inhalt an den Benutzer auf das Front-End und PHP auf dem Back-End mit JQuery anzuzeigen.

Also meine Frage ist: Gibt es eine gute Reihe von Server-Systemanforderungen in Bezug auf CPU, Cache und Speicher (Größe/Typ), um eine relativ billige Lösung zur Verfügung zu stellen, aber immer noch qualitativ hochwertige Leistung.

+0

Die Datenbank wird relativ klein sein - ungefähr 50 Tabellen. Die Tabellen werden durchschnittlich ein paar hundert Datensätze haben, wobei die größten vielleicht nur ein paar tausend Datensätze haben werden. Abfragen sollten nicht so schwer sein. – Bamerza

Antwort

3

Um die Wahrheit zu sagen, Hardware ist nicht der größte Faktor, es ist Codierung. Wenn Sie Ihre Anwendung korrekt und optimal entwickeln, sollten Sie in der Lage sein, mindestens 100 Benutzer gleichzeitig auf einem Rechner mit 1 GHz, 512 MB RAM und einer 5200 U/min-Festplatte auszuführen.

Ich empfehle VMWare mit virtuellen Maschinen zu erstellen und den MySQL-Server vom Web-Server zu trennen. Dies gibt Ihnen auch die Möglichkeit, den Computer zu replizieren, zu migrieren oder zu aktualisieren, ohne ihn neu zu konfigurieren oder neu zu installieren.

Auch führen Sie Ihre LAMP-Konfiguration auf einem Betriebssystem ohne GUI (Debian, Ubuntu, Fedora, usw. ohne X-Window installiert ist). Das sind Server, sie sollten keine Ressourcen verschwenden, die hübsche Fenster anzeigen.

schließlich wie Trent sagte RAID-Konfiguration ist eine großartige Idee, aber RAID ist kein Backup-Lösung. Wenn Sie zwei gleiche Festplatten haben, ist es sehr wahrscheinlich, dass wenn einer scheitert, der andere kurz danach. Immer eine Backup-Lösung (NAS, Tape, DVD, Diskette, was auch immer).

1

Nur sicherstellen, dass Sie 2 von allem haben ... 2 Netzteile 2 Festplatten (RAID 1) oder besser mehr mit RAID 5. Je nachdem, wie wichtig Uptime ist, möchten Sie vielleicht sogar einen ganzen Failover-Server haben. Was die Leistung anbelangt, haben Sie uns nicht genug Informationen gegeben ... wie schwer sind die Abfragen, wie viel Daten in der Datenbank sind.

1

ohne Einzelheiten über die Anwendung zu wissen, die auf dem Server ausgeführt wird, alle spezifischen Empfehlungen (d.h. X GB RAM, Y Prozessor mit Cache-Z) wird bedeutungslos. Das heißt, ich würde dringend empfehlen, nicht auf den RAM zu sparen, vor allem für eine datenbankgestützte Anwendung - je mehr Daten Sie im RAM behalten können, ohne die Festplatte zu schlagen, desto besser wird Ihre Leistung sein. Vergessen Sie als Entwickler jedoch nie, dass umfangreiche Hardware-Ressourcen keinen Ersatz für korrekte Indizes und Code-Optimierung sind!

Ich möchte auch einige der anderen Empfehlungen hier - RAID Ihre Laufwerke (ich habe in der Vergangenheit RAID 10 in der Vergangenheit für Datenbankserver bevorzugt), eine Art von Offlinesicherung (Tape, DVD-R, USB-Laufwerke, usw.) und stellen Sie sicher, dass Sie Backups extern aufbewahren (im Falle von Überschwemmungen, Bränden oder anderen physischen Katastrophen). Und vergessen Sie nicht, regelmäßig die Wiederherstellung von Ihren Backups zu testen - es gibt kein schlechteres Gefühl als zu entdecken, dass Ihre Backups nicht funktionieren, wenn es zu spät ist.

+0

Thx ... Ich habe diesen Absatz: Die Anwendung selbst wird eine Back-End-CMS (TBD) wird unter Verwendung von Inhalten für den Benutzer auf das Front-End und PHP auf dem Back-End mit JQuery anzuzeigen. – Bamerza

Verwandte Themen