Dimensionierung Webserver

iceview

Lieutenant
Registriert
Jan. 2008
Beiträge
714
Hallo zusammen,

ich hoffe die Frage ist hier richtig.

Ich baue gerade an einem kleinen Webserver auf dem ca. 200 Personen auf einer mySQL und PHP Anwendung rumturnen werden.

Host ist ein ESXi 5.0 auf einem Dell PowerEdge 2950 installiert mit 4GB RAM und 2x SAS 74GB im Raid 1 Verbund.

Als virtuelle Maschine ist ein Windows 7 mit Xampp angedacht. Die Frage ist nun, wieviele der 4 CPU und wieviel RAM sollte man einem solchen Server zuteilen?

Reicht 1 CPU mit 1GB RAM?

Die Maschine ist dort dediziert und läuft alleine auch andere Anwendungen werden dort nicht laufen.

Danke!
 
Kann man nicht sagen. Die Personenanzahl ist für die Performance irrelevant. Relevant ist die Anzahl der Requests die auf deinen Server pro Sekunde einprasseln.

Ich betreue Webanwendungen da brauchst du für 10 Requests/Sekunde Personen 8 Kerne und es gibt Webanwendungen da brauchst du für 100 Requests/Sekunde nicht mal einen Kern. Wichtig ist auch das verhältnis zu dynamischen und statischen content. Statischer-Content braucht praktisch keine Rechenpower.

Ram hängt davon ab wie viele parallele PHP-Prozesse zu ausführen willst und wieviel RAM ein PHP-Prozess belegt.

In der Regel reicht 1 Core + 256 MB RAM für eine Webanwendung aus. Sobald etwas Last auf den Webserver kommt, muss man beobachten, wie sich der CPU und Arbeitsspeicher verhält. Wenn das die einzige VM auf dem Server ist, solltest du dieser natürlich alle Ressourcen zuweisen ;)
 
Virtualisierung macht eigentlich nur Sinn wenn mehrere Server auf einer starken Hardware laufen sollten.
Auf solcher Hardware einen ESX zu installieren und darauf einen Windows 7 als Webserver laufen zu lassen finde ich ein bisschen am Ziel vorbeigeschossen.
Ist der Webserver nur für intern ? Also nicht so tragisch falls der mal ausfällt ? Nichts gegen Windows 7, habe ich selber nebenbei im Einsatz, aber entweder musst du dem mehr Ressourcen geben oder ein anderes besser geeignetes Betriebsystem wählen.
Ich würde 2GB für das Windows alleine wählen und dann den Rest (also 1.5GB oder 2,falls nativ) für die Webanwendung.
Limitiert Windows noch immer TCP Verbindungen ? Oder ist das Vergangenheit ?

Dito zu Enigma. Es kommt drauf an, was du dort hosten möchtest. Wird viel berechnet und auf in die DB geschrieben kann das sehr eng werden, besonders wenn alle gleichzeitig verbinden.

Da das Windows sowiso dediziert läuft würde ich gleich den ESX abräumen und ein Linux (vorzugsweise debian) installieren, was dann auch effizienter läuft, also ESX und Windows Kombination.. Aber ich glaube das wolltest du nicht wissen ;)
 
Nun auf dem ESXi lässt sich eben einfacher sichern und wiederherstellen als auf einem Server mit alleinigem OS.

Und Unix betrifft dies ebenso. Unter Windows lässt sich eben z.B. bei einem XAMPP mal eben via Robocopy alles sichern...
 
Wo is das Problem, bei einem Linux-System n anständiges Backup einzurichten? Da richtet man sich schnell halt mal ein Dirvish ein und lässt es als Cronjob laufen. Kann man wunderbar von zuhause aus machen.

Also von den Ressourcen her ist ein Debian, Ubuntu oder OpenSuse so nem dussligen Win7 doch um Welten voraus. Außerdem ist die Wartung um Welten leichter. Kurz mal apt-get update -> apt-get upgrade, schon ist das GESAMTE System wieder auf dem neusten Stand und, wenns nicht gerade Kernelpatches gab, auch noch ohne Neustart. Nicht wie bei Windows, wo du nach jedem Micropatch neustarten musst. Dazu noch so schöne Tools wie ClamAV, Fail2Ban und RKHunter drauf, schon ist die Kiste stabil, effizient und sicher.
 
Wenn Du dich mit Linux auskennst klar... :)

Ich tu es nicht... und daher ist es einfacher eine VM z.B. über Trilead VMX oder andere Tools zu sichern unf ggf. auch wieder herzustellen.

Auf dem ESX hab ich halt noch Möglichkeiten was daneben zu installieren; was ich ja unabhängig vom OS immer kann.
 
Ändert wenig daran, dass Win7 kein Server-OS ist und fürn Webserver einfach die falsche Wahl ist, insbesondere mit XAMPP. XAMPP ist super Software, aber der Update-Zyklus ist doch etwas arg lang... zu lang für ein Produktivsystem, wie ich finde.
Wenn schon ein Apache/PHP - Server laufen soll, dann als LAMP-Server. Anders kriegt man die Sicherheitslücken und den Ressourcenverbrauch nie in den Griff.

Du kannst ja durchaus die ESXi-Kiste als Host lassen, nur darauf einen Win7-Client zu setzen ist reichlicher Unsinn. Pack n Debian oder Ubuntu als Client drauf, ist schneller, stabiler und sicherer. Backups macht eh die ESX-Maschine von der gesamten VM
 
Boeby schrieb:
Wird viel berechnet und auf in die DB geschrieben kann das sehr eng werden, besonders wenn alle gleichzeitig verbinden.

Vor allem ist auch relevant was berechnet wird: In Richtung Analytics braucht man dann Unmengen Leistung soll es jedoch für die Firma nur ein Tool zur Zeiterfassung sein, braucht es so gut wie gar keine Leistung.

Dem Tenor gegen Windows 7 und Xampp schließe ich mich auch an, vor allem weil die Xampp-Schöpfer auf ihrer Webseite selbst schreiben, dass Xampp nicht für Produktivumgebungen gedacht ist, da muss man dann einigen Stellen noch einiges umkonfigurieren.
 
Wieso weist du der Maschine nicht einfach "1 CPU mit 1GB RAM" zu und wenn du merkst, dass es zu langsam wird, erhöhst du einfach die Werte?! Für was hat man denn VMs?!
 
Bei Win7 ist 1CPU 1GB ganz sicher zu langsam, allein für das reine Betriebssystem...
Deshalb nimmt man ja auch kein aufgeblasenes Desktop-OS für Serverzwecke.
 
Ok ich nehme die Kritik ja auch gerne an und bin auch nicht mit MS verheiratet.

Wir haben bei uns einige OpenSuse Kisten im Einsatz auf denen wir einige Kiosk Anwendungen für die User nutzen.

Was wäre denn eine geeignete Distri? Ich würde mich einfach mal für ein Ubuntu entscheiden, dass habe ich schon einige Male durchinstalliert, auch wenn es immer mal wieder gezickt hat wie z.B. bei der Sprachumstellung auf Deutsch.

Ist denn Lampp oder Xampp für Linux geeignet? Ich würde ungerne alle Komponenten manuell noch installieren wollen.

Wenn die Installation von (X)(L)ampp geschafft ist, dann ist die eigentliche Konfiguration der ini bzw. conf Dateien ja eh auf allen OS identisch.

Richtet man unter Unix dann quasi einen User ein, der dann die Installtion durchführt und die Services anschmeisst oder ist das alles nachher ein "Systemdienst"?
Bei Ubuntu ist doch wenn ich mich recht erinnere der root deaktiviert oder?

Danke für noch einige Tipps


Achso... das "sicher" machen des Servers übernimmt sicherlich größtenteils die davorstehende Astaro...
 
Zuletzt bearbeitet:
iceview schrieb:
Was wäre denn eine geeignete Distri? Ich würde mich einfach mal für ein Ubuntu entscheiden, dass habe ich schon einige Male durchinstalliert, auch wenn es immer mal wieder gezickt hat wie z.B. bei der Sprachumstellung auf Deutsch.
Die einzigen Probleme, die ich je mit Ubuntu hatten, waren selbstverschuldete Einstellungsfehler im Grub... Also das ist kein Gegenargument gegen Ubuntu.
Was die Distri-Wahl an sich angeht: Für ein Produktivsystem würde ich irgend etwas mit Langzeit-Support wählen. Ubuntu (Nicht-LTE) hat mit seinen 6 Monaten eine etwas zu schnelle Evolution. OpenSuse ist nicht übel, aber auch hier ist der Langzeit-Support etwas dünn, ich glaub es waren 2 Jahre.
Debian oder ein Ubuntu LTE wären wohl eine nette Wahl, wobei ich für Produktivsystemen zu Debian tendiere.

Ist denn Lampp oder Xampp für Linux geeignet? Ich würde ungerne alle Komponenten manuell noch installieren wollen.
LAMP: Linux Apache MySQL PHP...
sinngemäß: apt-get install apache2 mysql php5... und fertig.

Du musst schon in etwa wissen, wie du ein Linux-System über die Shell administrierst, sonst wird das nix. Freunde dich schonmal mit Kamerad SSH an, er wird in den nächsten Wochen und Monaten dein ständiger Begleiter sein.
Und nein, es gibt keine Vorkau-Lösung wie XAMPP für Produktivsysteme. Es gibt aber sehr gute Tutorials für, z.B. http://www.howtoforge.com/perfect-server-debian-squeeze-with-bind-and-courier-ispconfig-3 <- nur den Teil speziell für ISPConfig kannste dir da eher schenken, wobei es auch nicht schadet.

Wenn die Installation von (X)(L)ampp geschafft ist, dann ist die eigentliche Konfiguration der ini bzw. conf Dateien ja eh auf allen OS identisch.
Vieles, aber nicht alles, macht die Paketverwaltung. Einiges musst du schon per Hand machen.

Richtet man unter Unix dann quasi einen User ein, der dann die Installtion durchführt und die Services anschmeisst oder ist das alles nachher ein "Systemdienst"?
Bei Ubuntu ist doch wenn ich mich recht erinnere der root deaktiviert oder?
Nö, auch in Ubuntu kann man sich als Root einloggen. Was denkst du, was sudo macht? Es ist nur so, dass der User, der bei der Installation angelegt wird, dasselbe PW wie Root hat.
Und nein, du legst keine User an... zumindest nicht am Anfang. Apache legt z.B. bei der Installation aus dem Repository automatisch einen User www-data an. MySQL bringt auch seinen eigenen verwaltenden User mit. Um die Userverwaltung musst du dich erst ernsthaft kümmern, wenn du mit VHosts arbeiten willst... und dafür gibts eben Tools wie ISPConfig.

Achso... das "sicher" machen des Servers übernimmt sicherlich größtenteils die davorstehende Astaro...
Auf sowas würd ich mich nicht verlassen. Du musst dich ja über SSH auf den Server einloggen können, um ihn verwalten zu können. Dementsprechend könnten das auch andere -> du bist angreifbar für Brute-Force - Angriffe. Da helfen nur gut konfigurierte IPTables und evtl. noch was nettes wie Fail2Ban.
Ein Webserver ist IMMER mit Verantwortung verbunden. Wer diese Verantwortung scheut, der sollte sich mal an einen Hoster seiner Wahl wenden und die paar Kröten im Monat locker machen.
 
Das sind gute Gründe und ein paar gute Argumente die mich dazu bewegen mich tatsächlich mit Unix zu beschäftigen.

Spricht denn etwas gegen openSuse? Ich fand Yast ganz angenehm, wobei es bei Ubuntu schon mit der Umstellung auf Deutsch im Gnome hakte.

Was ist denn der Unterschied zw. Ubuntu und Ubuntu-Server?
 
OpenSuse hat wie ich finde einen zu kurzen Release-Zyklus und zu kurze Update-Verfügbarkeit, um für Produktivserver sinnvoll zu sein.

Die Serveredition spart sich einen Haufen Software, die man in einer Serverumgebung nicht braucht. Niemand braucht z.B. eine GUI fürn Webserver. Dafür ist man hingegen auf einen SSH-Server angewiesen, den Ubuntu Desktop glaub ich nicht standardmäßig mitbringt.
 
Hm.. mir fällt gerade noch das Thema Administrierbarkeit ein.

Schön an Windows ist eben der Remotedektop. Was ist denn für Unix ein probates Tool?
Ich hab mal via Xming und putty das Dektop "nach außen" geholt, aber komfortabel ist das leider nicht gewesen...
 
Das Problem stellt sich nicht, da man auf einem Linux-Server keine GUI hat.
ssh -> shell -> kannst du ALLES machen.
 
Das ist wohl wahr für denjenigen der das wirklich kann ;)

Mir würde eine GUI z.B. für einen Editor bei der Konfiguration wirklich helfen. Die Files mit nem vi zu öffnen ist nicht so bequem...
 
So.. ein kurzer Sachstand bezüglich des Webservers :)

Ich hab Ubuntu auf ner Test VM installiert. Zusätzlich halt Apache, mySQL, php5, phpmyadmin.

Habe dann die Dienste alle auf automatischen Start gesetzt und die Webanwendung installiert.

Hier läuft soweit alles. Auch meine beiden vHosts auf dem lokalen Testsystem laufen und ich kann sie via SSL erreichen.

mySQL-admin als GUI noch nachinstalliert.

ClamAV und Daemon installiert und Update auf alle 30min eingestellt. ClamTK installiert. Nautilus-clamscan installiert --> wird im Kontextmenü nicht angezeigt liegts vielleicht an der 11.10?

SSH Server eingerichtet, komme via putty von "quasi" außen an die Konsole...
Versuche gerade die Tools fail2ban und rkhunter zu verstehen. Mal sehen wie es klappt.

Soweit erstmal von meiner Seite. Ich denke so näher ich mich jetzt meinem Ziel.
Eigentlich könnte der Server so ja bereits in einen Testbetrieb.

ToDo meinerseits ist auf jedenfall --> rkhunter, fail2ban und Sicherungsjobs anlegen (mysqldump oder ähnliches).

@Labtec:

Webmin ist ja anscheinend ein echt mächtiges Tool. Habe es mal angetestet. Scheint interessant zu sein...

VNC Verbindung geht, aber ich habe gelesen, dass es nicht sicher sein soll, da die PW Übermittlung im Klartext geschieht.
Wäre sonst ja irgendwie auch zu einfach gewesen...
 
Zurück
Oben