Welche Hardware für Server

Joshua

Well-Known Member
Nabend,

ich würde gern einen Server mit Apache 1.3, PHP4 und mySQL aufsetzen. Also eigentlich nix besonderes, der Knackpunkt ist nur, dass in Spitzenzeiten etwa 3000 bis 4000 User gleichzeitig darauf zugreifen sollen (d.h. es soll nur eine einzige Datenbank drauf und alle greifen auf diese eine Datenbank zu).

Meine Frage also: Wieviel Leistung brauche ich, damit das Ganze vernünftig läuft? Reicht ein "popeliger" Pentium 1000 mit 256 MB? Oder braucht es deutlich mehr?

MfG
Joshua
 
Also 300-4000 Leute gleichzeitig klingt viel aber wieviele sind das genau? 20000 in der stunde oder wieviel sind das?
Ich wuerde dir empfehlen wenn das ein produktions server is dann wuerde ich ihm mindestens ein RAID1 wenn nich sogar nen RAID5 spendieren mit SCSI laufwerken. 1. Performance und 2. Schutz gegen ausfall. 1-2GB wuerde ich ihm an RAM auch geben und wenn dann sollte es auch schon min. nen pentium4 sein.
Wir haben hier nen produktions server. Da kommen so um die 5000-6000 zugriffe pro minuten zu spitzen zeiten tags ueber. Das ist nen Dual Xeon 3GHZ, 4GB Ram und RAID5 SCSI mit 5 Laufwerken a 146GB. Soviel muss es natuerlich nich sein aber der laeuft dann schon mit nehm load von 5-8.
Am ende wenn geld ne rolle spielt kannste dir auch nen dell anschauen mit nehm pentium4 und 1gb ram. bekommste schon fuer 800-900euro.
cu marvin
 
Sun x64 oder HP, auf jeden Fall Opteron ;-)

Ausfallsicherheit, Flexibilität, Speicherplatz, Langlebigkeit, Kosten?

=> redundante Lüfter und Netzteile, Slots für HDDs, SCSI/SATA/SAS, Dual-Board, max. RAM, Modelllaufzeit, Marke und Modell, Rack, USV, Klimaanlage usw.?

Frag sonst noch in einer der FreeBSD-Mailinglisten ISP, Database, Performance und Questions.
 
Also 300-4000 Leute gleichzeitig klingt viel aber wieviele sind das genau? 20000 in der stunde oder wieviel sind das?
Naja, eben so, dass im "schlechtesten" Fall 3000-4000 Zugriffe gleichzeitig erfolgen können (also auch 3000-4000 Datenbankabfragen). "Gleichzeitig" heisst dabei schon innerhalb weniger Sekunden.

Vielleicht sollte noch ich dazu sagen, dass der Server dann im Internet stehen soll. Ich hab jetzt auch mal bei zwei grösseren Providern angefragt, die waren beide der Meinung, dass ein normales Hosting-Paket auf einem shared Server dafür ausreicht. Kann ich aber irgendwie nicht so ganz glauben, das müssen dann schon die ultimativen Wahnsinns-Server sein, oder? Egal, shared Server fällt eigentlich sowieso aus. Aber muss es wirklich gleich ein Pemtium 4 oder Opteron sein? Mir fehlt hier ein bisschen die Orientierung: Sind 4000 Zugriffe für Apache/mySQL denn noch "wenig", oder kann man das schon als "viel" bezeichnen?

wenn geld ne rolle spielt
schwer zu sagen, vielleicht wird die Sache auch wieder komplett abgeblasen :zitter:

Also ich hab noch einen Celeron D mit 2.8 GHz mehr oder weniger übrig. Dem würde ich 1 GB und zwei SATA-Platten spendieren. Was meint ihr? Nen Versuch wert, oder viel zu schwach?
 
Zuletzt bearbeitet:
Joshua schrieb:
Mir fehlt hier ein bisschen die Orientierung: Sind 4000 Zugriffe für Apache/mySQL denn noch "wenig", oder kann man das schon als "viel" bezeichnen?
4000 in wenigen Sekunden würde ich nicht mehr als wenig bezeichnen. Und meist bleibt es ja bei einem Seitenaufruf nicht gleich bei einem Datenbankaufruf. Was sind das für Datenbankaufrufe, wie gross ist die Datenbank?

Deine Angaben sind nicht wirklich aussagekräftig, um dafür eine wirklich Aussagen treffen zu können.
Du sagst MySQL, also Datenbank, das klingt mir bisschen nach CMS und somit Dynamische Seiten. Da sind 4000 Zugriffe schon was ganz anderes als bei Statischen Seiten. Werden Grafiken berechnet wird das ganze noch viel spanender ;-)
Sprich wodrauf kommt es an, auf IO Leistung, auf reine CPU Leistung etc..

Also um eine Aussage dazu treffen zu können was Du an Hardware brauchst, müsst's Du sehr viel genaue spezifizieren was der Server genau zu tun hat.

Gruß paefchen

PS.: Wenn es dann wirklich um grössere Datenbankabfragen geht und davon gleich 4000 Stück in wenigen Sekunden wird dein Celeron mit 1GB Ram es mit sehr hohen LoadAvgs Dir danken ;-)
 
wie kommst du eigentlich auf die rechnung mit den 3000 leuten? sind das zu erwartende kunden? angestellte? oder normale surfer, die sich eine "willkommen" seite reinziehen muessen?
wieviel budget hast du?

sonst gebe ich dir auch noch den tipp dir nicht einen einzigen server zu holen, sondern vier. und load balancing zu machen.
dann werden aus 4000 leuten mal eben schnell 1000. das problem bei einem derartigen ansturm wird dann naemlich auch irgendwann nicht nur die cpu sein, sondern die netzwerkkarte.
 
das klingt mir bisschen nach CMS
genau, das soll so eine Art CMS werden.

wie kommst du eigentlich auf die rechnung mit den 3000 leuten?
ich hab als vorgabe dass später mal 3000-4000 leute (genauer gesagt schüler) gleichzeitig darauf zugreifen können sollen. Das ganze sollte eigentlich auf meinen bestehenden Server mit drauf, aber der würde wahrscheinlich dann zusammnenbrechen. Was die 4000 Leute aber letztendlich genau machen werden weiss ich auch noch nicht so richtig.

wieviel budget hast du?
ich soll den Server dann "nur" administrieren, das Budget hängt also nicht von mir ab. Ich muss mal mit dem Betreiber sprechen, wie gesagt, vielleicht hat es sich schon erledigt wenn ich sage dass ein eigener Server dafür her muss .. Vielleicht fange ich doch erst einmal klein an mit dem Celeron und 1 GB Speicher wenn der in die Knie geht muss eben was grösseres her.

Also danke erstmal!
 
für 3000-4000 simultane zugriffe brauchst du nicht nur ne dicke kiste (oder mehrere), du musst auch die datenstruktur gut planen und vor inkonsistenzen schützen.
ich denke übrigens auch, dass PostgreSQL besser geeignet wäre als MySQL, da es viel ausgereifter und stabiler ist.

auf bald
oenone
 
hmm PgSQL via MySQL ist lange Zeit wohl wirklich für PgSQL ausgegangen, gerade auf BSD-Systemen. Seit der MySQL 4.1 Version hat sich aber auf der Seite einiges getan. PgSQL ist durchaus eine sehr gute Datenbank aber MySQL hat sich sehr gemausert und ist wirklich sehr Stabil (und schnell) geworden!
Ich denke ohne nicht ganz spezielle Gründe für eine Seite zu haben zu haben, ist das Heute doch noch eher eine Glaubensfrage als Wirklichkeit.
 
Zuletzt bearbeitet von einem Moderator:
Joshua schrieb:
Nabend,

ich würde gern einen Server mit Apache 1.3, PHP4 und mySQL aufsetzen. Also eigentlich nix besonderes, der Knackpunkt ist nur, dass in Spitzenzeiten etwa 3000 bis 4000 User gleichzeitig darauf zugreifen sollen (d.h. es soll nur eine einzige Datenbank drauf und alle greifen auf diese eine Datenbank zu).

Weiter unten schreibst Du, dass es sich um Schüler handelt. Ich vermute also, dass das mit einer Schule oder einer entsprechenden Organisation zusammenhängt, die insgesamt rund 4000 Schüler hat.

Da kannst Du davon ausgehen, dass dort *keine* 4000 Nutzer gleichzeitig drauf zugreifen. Nie!
4000 wirklich gleichzeitige Zugriffe (also 4000 Seitenabfrufe pro Sekunde) haben noch nicht mal die ganz großen. Nehme nur mal 1000 pro Sekunde, das sind 3,6 Millionen Seitenabrufe pro Stunde, und wenn Du das auf einen Monat hochrechnest ...

Zum Vergleich: Spiegel Online oder Heise Online haben nur einen Bruchteil davon, nämlich 140 und 300 Millionen, Rekordhalter ist T-Online mit 1,7 Milliarden, weil jeder Depp das mit seinem T-Online-Account als Startseite bekommt:

http://ivwonline.de/ausweisung2/suchen.php


Ich nehme an, dass Ihr rund 4000 Schüler habt. Wenn es gut läuft (!) habt Ihr dann einen Seitenabruf pro Sekunde (dazu kommen natürlich noch Bilder, CSS usw) -- das ist schon viel, aber wenn die dynamischen Seiten nicht ganz schlecht gemacht oder extrem aufwändig sind kein Problem. Aber: ohne die Applikation zu testen kriegst Du das nicht raus. Die typische dynamische Seite sollte in 100 Millisekunden generiert sein.

Tipp: mehr RAM im Server hilft meist mehr als ein schnellerer Prozessor!


Ansonsten, zu PHP/MySQL: Vorsicht, diese Kombination ist oftmals ein Hinweis auf langsame Software. Oder anders gesagt: wer sich nicht sehr gut mit MySQL auskennt, dem fliegt das schnell um die Ohren wenn etwas größeres gemacht wird (ich sag nur: MyISAM, Datenintegrität). PostgreSQL ist da deutlich genügsamer und bietet -- wenn man sich denn auch mal tiefer auskennen will -- viele erweiterte Features.

Ich bin auch kein PHP-Fan sondern arbeite mit Perl/mod_perl und echten Apache-Handlern -- wenn es wirklich auf Performance ankommt bringt das viel. Aber das ist auch viel Geschmackssache.


Letztendlich ist der Teil, an dem Du zuerst ansetzen solltest, die Software. Wenn die ohne entsprechenden Aufwand nicht mehr weiter optimiert werden kann, dann kann man auch dickere Hardware hinstellen -- was das Problem aber auch nur verschiebt.

Bei einem größeren Projekt sollte man sich *immer* ganz genau überlegen, wie man was implementiert. Irgendwas schnell mit PHP/MySQL hinzuhacken kann man sich ja noch für die Sachen aufheben, die einfach so vom Himmel gefallen kommen und wo man sich nichts dabei denkt ;-)


Ciao
Alvar
 
Zurück
Oben