Kosten eines Root-Servers

Hardwarespezifische Dinge
moris
Posts: 6
Joined: 2008-10-16 14:59

Kosten eines Root-Servers

Post by moris »

Hi @ all !!!

Ich bin Newbie in diesem Forum UND ich bin auch ein absoluter Grünschnabel in Sachen Server-Hardware.

Hier meine Eckdaten:
+ Ich habe eine Event/Community - Plattform in Java entwickelt (dh. viele Fotos und geschätzte 100 - 300 User online).
+ Auf dem Server soll laufen ==> Apache, Tomcat (inkl. Java), MySQL, ein eMail-Server, FTP und ein Batchprogramm
+ MySQL soll schon ordentlich GB bekommen.
+ Der Tomcat mit Java braucht ca. 1,5 GB
+ Backup ist natürlich auch sinnvoll

Hier meine Frage:
+ Welche Hardware würdet Ihr vorschlagen?
+ Mit welchen von - bis Kosten muß ich rechnen?

Ich will keinen SUPER - Server ...nicht für den Anfang ;-) Aber das Ding soll schon sicher und stabil laufen.

Danke & lG Moris
Last edited by moris on 2008-10-16 17:02, edited 1 time in total.
moris
Posts: 6
Joined: 2008-10-16 14:59

Re: Kosten eines Root-Servers

Post by moris »

matzewe01 wrote:
Moris wrote:Ich entschuldige mich gleich für event. blöde Fragen oder noch fehlende Angaben. Komme von der Entwickler-Seite und habe mir vorher noch nie einen Server zugelegt. Jetzt will ich aber versuchen damit Geld zu verdienen und brauche dementsprechend passende Komponenten.
-> Unter dieser Vorraussetzung, lass es jemanden machen, der davon Ahnung hat.
-> Den Server Betrieb.

Sonst verdienst Du damit sehr schnell kein Geld mehr sondern zahlst böses Lehrgeld.
2. Verfügst Du über genügend Erfahrungen speziell Sicherheit um mit einer Community Lösung zum Geld verdienen online zu gehen?

-> Es gab schon eine ganze Reihe von Sicherheitsexprten und TV Stards auf dessen Webseite man Monatelang Kreditkarteninformationen dessen Kunden herunterladen konnte.

Also nimm das nicht auf die leichte Schulter.


Gruss Matthias
Lieber Matthias!

Danke für Deine besorgten Worte. Aber zur Beruhigung: Ich habe nicht vor Kreditdaten oder sonstig ähnlich wichtige Daten zu verwalten. Außerdem werde ich natürlich einen Linux-Admin einzustellen (um meine fehlenden Kenntnisse in diesem Bereich abzudecken). Bitte mir keine Tipps zu geben wie ich mein Geschäft aufziehen soll. Tritt der Fall ein, daß ich kein Geld damit verdiene, dann ist es halt nur beim Versuch geblieben.

Würde mich jedoch trotzdem freuen wenn Ihr mir zu meinen zwei oben gestellten Fragen Antwort geben könntet.

Wie Ihr ja sicher wißt, ist man immer gut beraten sich von mehreren Seiten Auskunft einzuholen. Und nicht nur "JA" und "Amen" zu dem Experten zu sagen der vor einem steht ...oder? :wink:

lG Moris
moris
Posts: 6
Joined: 2008-10-16 14:59

Re: Kosten eines Root-Servers

Post by moris »

matzewe01 wrote:Nachschlag.

Keine Garantie, das die obige Konfiguration für dich ausreicht.
Daher macht man für die Abschätzung Performance Tests.

Eine solche Frage stellt vielleicht jemand, der gerade mal Java in 21 Tagen fertig gestellt hat aber niemand, der wirklich Erfahrung in umfangreichen Webanwendungen hat.
Sonst wäre Ihm (Entwickler) klar, dass er sich einen Rechner her nimmt, und mal die Userzahlen durchspielt / simuliert die er erreichen will bevor er blindlings mal blöde frägt...

Mit welchem Pferd gewinne Ich ein Derby?
-> Mit einem 150 Kilo Jokey, keines.


Daher ist Deine Frage sinnlos.
Wohl nicht ganz ...ich habe einen PIII- Rechner (mit 1GB RAM) unter Debian im Netz hängen. Mit dem hab ich die ersten Performance-Tests gemacht. Die Leistung hat nicht ausgereicht. Liegt größtenteils an dem RAM. Außerdem ist kein eMail-Server drauf. So der PIII ist also zu langsam und hat zu wenig RAM ...Schlußfolgerung ich muß mir einen neuen "besseren" Rechner/Server kaufen. Und jetzt die Frage die ich auch schon oben gestellt habe: Was würdet Ihr mir empfehlen :-D .

Ich habe momentan leider keinen schnelleren PC/Server zu Verfügung, darum muß ich einen Kauf in Erwägung ziehen.

Es ist immer wieder interessant wie Menschen Dinge zu beurteilen versuchen dessen Gesamtumfang Sie gar nicht kennen. Eine dementsprechende Meinungsbildung ist dann das Resultat. Ich wollte auf meine 2 Fragen eine Antwort ...keine Beurteilung wie schlecht oder gut ich "mein Projekt" auf die Beine stelle. Oder willst Du Dich beteiligen :wink:

Also Friede jetzt und trotzdem Danke!

Hat sonst noch wer Idee/Vorschläge ...ich bin dankbar für jeden.

lG Moris
User avatar
daemotron
Administrator
Administrator
Posts: 2639
Joined: 2004-01-21 17:44

Re: Kosten eines Root-Servers

Post by daemotron »

Ich versuche noch mal zu subsummieren, wie umfangreich die Serverlast werden könnte:
  • Durchschnittlich 300 parallele Sessions mit geschätzten 20 min. Dauer, 20 Komponenten (HTML, CSS, Grafiken) pro Page und einer Verweildauer von 2 Minuten pro Seite => 20 * 300 * 10 = 60k Hits / 20min => 50 Hits pro Sekunde
  • Werden die Gallerie-Bilder als statischer Content ausgeliefert oder dynamisch erzeugt/bearbeitet/skaliert?
  • Wie stark beansprucht die Anwendung den DB-Server (Queries pro Page)? Schon bei nur 3 Queries pro Seite käme ich bei den o. g. Werten auf 7 - 8 Queries pro Sekunde
  • Sind die genannten Werte Durchschnitts- oder Spitzenwerte? Ein System, das nur auf den Durchschnitt ausgelegt ist, verkraftet die Häufung zu Spitzenzeiten (meist Abend/Wochenende) nicht, und die User sind verärgert, weil gerade zur Hauptnutzungszeit die Antwortzeiten ekelhaft hoch sind.
Wenn die Größenordnung sich tatsächlich wie oben geschätzt bewegt, brauchst Du zwei dedizierte Server für die Datenbank in einem Master-Slave-Setup (dediziert aus Performance-Gründen, Replikation aus Redundanz-Gründen zur Absicherung des Betriebs). Dazu dedizierte Applikationsserver für Tomcat (ebenfalls zwei aus Redundanzgründen) und für die Auslieferung des statischen Contents ebenfalls einen Server (dessen Betrieb notfalls von einem der App-Server übernommen werden könnte, hier kann man also eine Maschine einsparen).

Wie groß die DB-Server werden müssen, hängt davon ab, was und wie viel Du in der Datenbank speicherst, wie Deine Queries aufgebaut sind (Full Table Scans, Volltext-Suche, etc - eben alles, was einem RDBMS richtig zu schaffen macht). Um ~10 Queries pro Sekunde wegzustecken, müsste die DB schon RAM-gesättigt laufen und einen Großteil der Abfragen aus den Caches bedienen können - sonst dauert es länger, und Du musst die lesenden Anfragen auch noch auf beide Server verteilen. Die CPU ist bei DB-Servern nicht so wichtig - Doppelkern reicht, würde ich sagen. RAM ist wichtiger, und eine gesunde Festplatten-Basis (mindestens RAID1, besser RAID10, SATA2 oder SAS) ebenfalls. Hier würde ich also auf 64 Bit (auch im OS) gehen und mindestens 8 GiB RAM in jede Maschine stecken.

Die Applikationsserver sollten ebenfalls genügend RAM haben (Java ist trotz Garbage Collector einfach nur gierig) - wenn die Applikation bereits in Deinem Test-Setup 1,5 GB wegzischt, solltest Du mindestens 3 GiB vorhalten. Erstens wird die Anwendung unter "echter" Last (Stichwort "Spitzenzeiten") wahrscheinlich mehr RAM benötigen, und zweitens musst Du nicht gleich neues Blech hinstellen, wenn Deine Community noch mal ein bisschen wächst. Bei unter 4 GiB RAM würde ich bei der Wahl des OS im 32-Bit-Bereich bleiben, das ist effizienter.

Für den statischen Content (so Du denn welchen hast - aber ich würde Grafiken - wenn denn eine automatisierte Bearbeitung notwendig ist - lieber per Cron-Job verfrühstücken und als statischen Content ausliefern, als on-the-fly zu rechnen und mir damit eine immense Last zu den Spitzenzeiten aufzuhalsen) reicht eine kleinere Maschine (kleiner Doppelkern-Prozessor) mit 2GB RAM vermutlich aus. Mit einem schlanken Webserver wie Lighttpd kann die wahrscheinlich >= 20 Hits pro Sekunde bedienen. Den Mailserver kannst Du hier wahrscheinlich auch noch mit unterbringen - je nachdem, was der so leisten soll (Anzahl Postfächer, Spamfilter = Ressourcenkiller!) oder wie geschäftskritisch der ist, müsstest Du aber noch mal in zwei dedizierte Maschinen investieren.

Insgesamt kämst Du also auf 5 - 7 Maschinen, die alle über ein zweites NIC (für Cluster-Heartbeat) verfügen sollten. Das günstigste ist wahrscheinlich, ein ganzes (kleines) Rack anzumieten und noch einen Switch mit reinzustecken, damit der ganze interneTraffic (App-Server <=> DB-Server, Backups) nicht über die Switches des Providers laufen muss. Damit sparst Du Traffic (insbesondere beim Backup), hast vermutlich den schnellere Zugriff (da der Switch nicht durch Dritte ausgelastet werden kann) und verbirgst Deine Backend-Server obendrein noch hinter dem App-Cluster (erhöht die Sicherheit und spart öffentliche IPs).

Was jetzt noch fehlt ist die Infrastruktur für Backups - Datenbanken, statischer Content und die Postfächer müssen regelmäßig gesichert werden. Wenn der Provider dafür keine Infrastruktur bereithält, benötigst Du ebenfalls noch mal eine Maschine. CPU und RAM sind hier sekundär (alles was man heute kaufen kann hat eh zwei Kerne und mindestens ein GB RAM), aber bei den Platten muss auf jeden Fall Redundanz her. RAID 1 (Minimum) oder RAID 5 (Optimum) sind also Pflicht.

Wenn Du ganz paranoid bist, spannst Du vor Deinen Webcluster noch eine dedizierte Firewall (keinen billigen Paket-Dropper, schon was höherwertiges), mit der Du Deine Investition vor (D)DoS-Angriffen schützen kannst und die sich im Bedarfsfall zum Loadbalancer für die App-Server aufrüsten lässt.
moris
Posts: 6
Joined: 2008-10-16 14:59

Re: Kosten eines Root-Servers

Post by moris »

matzewe01 wrote:
Moris wrote: Ich habe momentan leider keinen schnelleren PC/Server zu Verfügung, darum muß ich einen Kauf in Erwägung ziehen.

Es ist immer wieder interessant wie Menschen Dinge zu beurteilen versuchen dessen Gesamtumfang Sie gar nicht kennen. Eine dementsprechende Meinungsbildung ist dann das Resultat. Ich wollte auf meine 2 Fragen eine Antwort ...keine Beurteilung wie schlecht oder gut ich "mein Projekt" auf die Beine stelle. Oder willst Du Dich beteiligen :wink:
Von uns weiss niemand wie in welchem Umfang und mit welchen Frameworks Deine Anwendung gestrickt wurde und daher kommt.
Daher kann niemand diese Frage ac hoc beantworten. Und damit meine Ich den 150 Kilo Jokey.
Dir bringt das beste Pferd nichts, wen die SQL Statement eine Katastrophe sind diese sich mit zunehmenden Daten erst auswirken.

Auf welche Zahlen Concurrent User bist Du mit Deinem System zirka gekommen?
Hast Du dann bei ca. 80 - 90 % der Auslastung die Konfiguration verändert und optimiert um das Ergebnis zu steigern?
Also kann man davon ausgehen, dass Dein System optimal konfiguriert ist.

Wie sehen die Settings aus, Mysql, Java etc.
Erst mit den Zahlen, und das könntest Du dann auch, ist man in der Lage grob abzuschätzen wohin die Richtung geht.

Oder soll Ich mal gekonnt zurück fragen ob eine von mir Bekannte Anwendung auf 100 Sun Fire E4900 Server läuft?
Wieviele Transaktionen bekomme Ich da mit 2 Konkurrent Usern durch?
Wenn ich Dir diverse Daten liefern würde, kannst Du noch immer die Behauptung aufstellen:

+) Du kennst die diversen Konfigurationen der Programme nicht
+) Der Source Code und die SQL-Abfragen sind auch eine Unbekannte
+) ...und, und, und...

Das ist natürlich alles richtig und ein Faktor ...aber... wieso ist das bei den anderen Hardware-Anfragen in diesem Forum nicht auch so ein Problem? Ich sehe einige andere Beiträge die sich genau mit diesem Thema beschäftigen ...und die habe auch alle Antworten bekommen ohne 100% genau Ihr System und Ihre Notwendigkeiten bekannt zu geben. Im Gegenteil ich habe versucht noch ein bissl genauer auf mein System einzugehen. Darum hab ich einen eigenen Beitrag erstellt. Die Idee war wohl nicht so gut.

Heißt das, das auch alle anderen Anfragen bezüglich dieses Themas sinnlos sind? Ich will ja keine Garantie und außerdem wollte ich nur eine ungefähre Angabe wie ein mittelmäßiger Server auszusehen hat. Komm ich mit 2000,- aus oder sollten es eher 3000,- bis 4000,- sein ...was sollte unbedingt an Hardware enthalten sein.

Naja, schwer schwer :(
lG Moris
hornox
Posts: 139
Joined: 2005-09-22 23:09

Re: Kosten eines Root-Servers

Post by hornox »

Es gibt zurzeit mindestens einen großen Serveranbieter der Server mit nur einem Monat Vertragslaufzeit und ohne Einrichtungsgebühr anbietet, IMHO ist es am einfachsten sich da einen oder zwei zu mieten und dann ggf aufzustocken wenn es einen wirklichen Mehrbedarf gibt. Spart jede Menge Rechnerrei/Schätzerrei und meist ist es billiger Probleme mit mehreren leistungsfähigen 0815 Servern zu umgehen als mit zeitintensiver Optimierung und Speziallösungen zu beheben solange nicht klar ist ob das Projekt lange überlebt.
Abgesehen davon gibt es doch auch genügend J2EE/JEE Hosting Angebote, sollange du keine Sonderwünsche hast sollte sowas billiger sein als ein extra Admin.
matzewe01 wrote:Bei 64 BIt halbiert sich (verglichen mit 32 BIT) der Speichervorteil.
4GB 32 BIT entspreche dann grob 8 GB 64 BIt.
AFAIK machen sich die 64 Bit Adresswerte nur negativ beim 1st Level Cache bemerkbar, beim Arbeitsspeicher überwiegen die Nutzdaten (deren Größe sich natürlich nicht verändert) so deutlich das der Unterschied nicht spürbar ist.
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Kosten eines Root-Servers

Post by oxygen »

matzewe01 wrote:Kann ich so nicht bestätigen.
Bei einem aktuellen Systemumzug 2 GB auf 4 GB. Gleiches Os Opensue10.3 auf Opensuse10.3 64 Bit war nach dem Umzug der Speicherverbauch Prozentual nahezu identisch.
Nachdem wir das Os wieder durch eine 32 Bit Version getauscht haben, konnten wir vom Speicher merklich profitieren.
Wobei spamassassin an der Stelle der grösste Speicherfresser war.
Dir sollte bekannt sein, dass man aus dem "Speicherverbrauch" bei einem modernen Betriebsystem keine Rückschlusse treffen kann.

Es ist zwar wahr, dass durch die 64bit ein gewisser Overhead entsteht, aber sicherlich nicht eine Verdoppleung des Verbrauchs. Auch wenn sich das vermuten ließe, immerhin sind einige primitiven Datentypen tatsächlich doppelt so groß, insbesondere natürlich die pointer ( long z.B. auch). Das macht idR aber nur einen eher kleinen Teil des Speicherverbrauchs der durch Anwendungen verursacht wird aus und wird dafür meist durch andere Vorteile mehr als ausgeglichen. Insbesondere wenn man z.B. Ubuntu oder Debian verwendet, hat man durch die Optimierung auf modernere Architekturen spürbare Vorteile. Anwendungen wie Datenbank-Server profitieren häufig auch direkt durch die größeren Register.

Man kann z.b. mal die Größe von 32bit und 64bit Binarys vergleichen, meist gibt es da einen Unterschied zwischen 10% und 30%. In dem Rahmen wird sich meist auch der zusätzliche Speicherverbrauch bewegen.

Weitere Infos wie sich 64bit aus sich des Programmieres auswirkt z.b. hier: http://www.unix.org/whitepapers/64bit.html
moris
Posts: 6
Joined: 2008-10-16 14:59

Re: Kosten eines Root-Servers

Post by moris »

jfreund wrote:Ich versuche noch mal zu subsummieren, wie umfangreich die Serverlast werden könnte:
  • Durchschnittlich 300 parallele Sessions mit geschätzten 20 min. Dauer, 20 Komponenten (HTML, CSS, Grafiken) pro Page und einer Verweildauer von 2 Minuten pro Seite => 20 * 300 * 10 = 60k Hits / 20min => 50 Hits pro Sekunde
  • Werden die Gallerie-Bilder als statischer Content ausgeliefert oder dynamisch erzeugt/bearbeitet/skaliert?
  • Wie stark beansprucht die Anwendung den DB-Server (Queries pro Page)? Schon bei nur 3 Queries pro Seite käme ich bei den o. g. Werten auf 7 - 8 Queries pro Sekunde
  • Sind die genannten Werte Durchschnitts- oder Spitzenwerte? Ein System, das nur auf den Durchschnitt ausgelegt ist, verkraftet die Häufung zu Spitzenzeiten (meist Abend/Wochenende) nicht, und die User sind verärgert, weil gerade zur Hauptnutzungszeit die Antwortzeiten ekelhaft hoch sind.
Wenn die Größenordnung sich tatsächlich wie oben geschätzt bewegt, brauchst Du zwei dedizierte Server für die Datenbank in einem Master-Slave-Setup (dediziert aus Performance-Gründen, Replikation aus Redundanz-Gründen zur Absicherung des Betriebs). Dazu dedizierte Applikationsserver für Tomcat (ebenfalls zwei aus Redundanzgründen) und für die Auslieferung des statischen Contents ebenfalls einen Server (dessen Betrieb notfalls von einem der App-Server übernommen werden könnte, hier kann man also eine Maschine einsparen).

Wie groß die DB-Server werden müssen, hängt davon ab, was und wie viel Du in der Datenbank speicherst, wie Deine Queries aufgebaut sind (Full Table Scans, Volltext-Suche, etc - eben alles, was einem RDBMS richtig zu schaffen macht). Um ~10 Queries pro Sekunde wegzustecken, müsste die DB schon RAM-gesättigt laufen und einen Großteil der Abfragen aus den Caches bedienen können - sonst dauert es länger, und Du musst die lesenden Anfragen auch noch auf beide Server verteilen. Die CPU ist bei DB-Servern nicht so wichtig - Doppelkern reicht, würde ich sagen. RAM ist wichtiger, und eine gesunde Festplatten-Basis (mindestens RAID1, besser RAID10, SATA2 oder SAS) ebenfalls. Hier würde ich also auf 64 Bit (auch im OS) gehen und mindestens 8 GiB RAM in jede Maschine stecken.

Die Applikationsserver sollten ebenfalls genügend RAM haben (Java ist trotz Garbage Collector einfach nur gierig) - wenn die Applikation bereits in Deinem Test-Setup 1,5 GB wegzischt, solltest Du mindestens 3 GiB vorhalten. Erstens wird die Anwendung unter "echter" Last (Stichwort "Spitzenzeiten") wahrscheinlich mehr RAM benötigen, und zweitens musst Du nicht gleich neues Blech hinstellen, wenn Deine Community noch mal ein bisschen wächst. Bei unter 4 GiB RAM würde ich bei der Wahl des OS im 32-Bit-Bereich bleiben, das ist effizienter.

Für den statischen Content (so Du denn welchen hast - aber ich würde Grafiken - wenn denn eine automatisierte Bearbeitung notwendig ist - lieber per Cron-Job verfrühstücken und als statischen Content ausliefern, als on-the-fly zu rechnen und mir damit eine immense Last zu den Spitzenzeiten aufzuhalsen) reicht eine kleinere Maschine (kleiner Doppelkern-Prozessor) mit 2GB RAM vermutlich aus. Mit einem schlanken Webserver wie Lighttpd kann die wahrscheinlich >= 20 Hits pro Sekunde bedienen. Den Mailserver kannst Du hier wahrscheinlich auch noch mit unterbringen - je nachdem, was der so leisten soll (Anzahl Postfächer, Spamfilter = Ressourcenkiller!) oder wie geschäftskritisch der ist, müsstest Du aber noch mal in zwei dedizierte Maschinen investieren.

Insgesamt kämst Du also auf 5 - 7 Maschinen, die alle über ein zweites NIC (für Cluster-Heartbeat) verfügen sollten. Das günstigste ist wahrscheinlich, ein ganzes (kleines) Rack anzumieten und noch einen Switch mit reinzustecken, damit der ganze interneTraffic (App-Server <=> DB-Server, Backups) nicht über die Switches des Providers laufen muss. Damit sparst Du Traffic (insbesondere beim Backup), hast vermutlich den schnellere Zugriff (da der Switch nicht durch Dritte ausgelastet werden kann) und verbirgst Deine Backend-Server obendrein noch hinter dem App-Cluster (erhöht die Sicherheit und spart öffentliche IPs).

Was jetzt noch fehlt ist die Infrastruktur für Backups - Datenbanken, statischer Content und die Postfächer müssen regelmäßig gesichert werden. Wenn der Provider dafür keine Infrastruktur bereithält, benötigst Du ebenfalls noch mal eine Maschine. CPU und RAM sind hier sekundär (alles was man heute kaufen kann hat eh zwei Kerne und mindestens ein GB RAM), aber bei den Platten muss auf jeden Fall Redundanz her. RAID 1 (Minimum) oder RAID 5 (Optimum) sind also Pflicht.

Wenn Du ganz paranoid bist, spannst Du vor Deinen Webcluster noch eine dedizierte Firewall (keinen billigen Paket-Dropper, schon was höherwertiges), mit der Du Deine Investition vor (D)DoS-Angriffen schützen kannst und die sich im Bedarfsfall zum Loadbalancer für die App-Server aufrüsten lässt.
Hallo jfreund, DANKE für Deine ausführliche Antwort!

Ich werde nächste Woche nochmal meinen alten Rechner (Pentium III) ordentlich "stressen" um Dir/Euch noch genauere Werte zu liefern. Was ich Dir aber jetzt schon sagen kann:

+) Ich speichere keine großen Daten in der DB (weder binäre also Blobs - noch zu große Text Felder)
+) Viel wird über über Index und Bool/Int/Long-Felder gesucht - selten über Text (und fast nie mit dem "Like" SQL-Statement)
+) Ich habe bei meinem Test mit dem Pentium III Java nicht 1,5 GB gegeben (das ist ca. die Grenze was man in Java für eine VM unter 32-Bit überhaupt vergeben kann) - aber ich habe es im Echtbetrieb vor. Beim jetztigen Test mit dem Pentium III muß ja auch noch ein bissl für MySQL bleiben.
+) Wieviel Zugriffe ich pro Seite habe kann ich Dir erst nach dem Test sagen ...die habe ich noch nie gezählt... aber ist ein guter Punkt! Es läuft einiges/vieles im Cache. Soll heißen, daß einige Zugrife nicht immer durchgeführt werden.
+) Ich habe nur statische Bildinformationen (die die User uploaden können). Kein Bild wird wärend der Laufzeit verändert.

Vorab nehme ich folgendes mit:
+) Für die DB nehme ich einen eingen 64Bit-Rechner mit viel RAM (braucht nur Dual-Core sein) mit RAID10 ...reicht ein Prozessor 2,5GHz aus?
+) Ich werde mit 2 Tomcat im Cluster starten ==> beide 32Bit-Rechner mit 2GB RAM (Java kann bei 32-Bit nur ca. 1,5 allokieren) ...wieviel GHz würdest Du empfehlen? Und macht hier ein Dual-Core Sinn?
+) Den Apachen spanne ich vor den Tomcat-Cluster. Der Apache wird auf einem der Tomcat-Rechner installiert.

Danke & lG Moris
User avatar
daemotron
Administrator
Administrator
Posts: 2639
Joined: 2004-01-21 17:44

Re: Kosten eines Root-Servers

Post by daemotron »

Ich wollte mit o. g. Beispiel-Rechnung eigentlich nur demonstrieren, wie stark die Auswirkungen der erwarteten Last auf die Gesamtkonfiguration ist, und wie weit man es mit der Redundanz treiben kann, je nachdem, welche Ausfälle man einplant und welche Risiken man in Kauf zu nehmen bereit ist.

Ich würde an Deiner Stelle jetzt erst mal mit einer Maschine anfangen (Doppelkern und min. 4 GB RAM) und beobachten, wie stark die Serverlast aussieht und ob die Einkommenseite weitere Investitionen überhaupt zuließe - schließlich gehst Du ja mit dem Anmieten ein geschäftliches Risiko ein. Hast Du eigentlich vor, selbst zu kaufen und zu housen, oder willst Du mieten? (eine Maschine, da die DB nach Deiner Beschreibung eigentlich nicht übermäßig gequält werden dürfte und auch keine Image Manipulation läuft => also ein mittelmäßig gelangweilter mysqld und ein RAM-fressender Tomcat sollten nicht zu viel für einen (guten) Server sein).

Wenn Du sauber konfigurierst und die Dienste trennst (z. B. Jails, Xen, Zones o. ä.), kannst Du dann immer noch problemlos einen Dienst auf eine andere Maschine verschieben, wenn die Situation es erforderlich macht - oder eben ein Fallback-System aufbauen, je nach Bedarf.
Moris wrote:Vorab nehme ich folgendes mit:
+) Für die DB nehme ich einen eingen 64Bit-Rechner mit viel RAM (braucht nur Dual-Core sein) mit RAID10 ...reicht ein Prozessor 2,5GHz aus?
+) Ich werde mit 2 Tomcat im Cluster starten ==> beide 32Bit-Rechner mit 2GB RAM (Java kann bei 32-Bit nur ca. 1,5 allokieren) ...wieviel GHz würdest Du empfehlen? Und macht hier ein Dual-Core Sinn?
+) Den Apachen spanne ich vor den Tomcat-Cluster. Der Apache wird auf einem der Tomcat-Rechner installiert.
2 x 2,5GHz sollten für die DB locker ausreichen - wahrscheinlich langweilt sich der Rechner sogar, wenn tatsächlich nur "kleine" Queries laufen (saubere Index-Struktur, wenige/keine Full Table Scans, kein Fulltext search, keine LIKE statements). RAID10 lohnt sich v. a., wenn die DB schreib-intensiv ist, ansonsten tut's auch RAID1 und sorgfältig konfigurierte DB Caches.

Für die Tomcat-Maschinen kann ich die benötigte Prozessorleistung nur schwer abschätzen (setze Tomcat selber nicht ein, bin eher Python-Fan :wink:), ich kann also nur versuchen, Dir ein paar Anhaltspunkte zu geben. Auf der Maschine ohne Apache läuft außer einigen Systemprozessen nur Tomcat. Tomcat nutzt Multithreading, allerdings weiß ich nicht, wie Java Threads implementiert sind (User- oder Kernel-Threads). Ist letzteres der Fall, kann der OS-Scheduler die Threads auf die verschiedenen CPU-Kerne verteilen. Handelt es sich jedoch um User Threads, besteht der einzige Vorteil von SMP darin, dass ein Kern dediziert für den Tomcat-Prozess reserviert werden kann. Wie das genau ist, kannst Du mit ps -eLf nachprüfen. Wenn Du unterhalb von Tomcat mehrere Threads sehen kannst, kann der Kernel sie auch sehen und entsprechend mit dem Scheduler auf verschiedene CPU-Kerne verteilen.

Beim Apache Webserver hast Du je nach gewähltem MPM-Modul mehrere Prozesse (Prefork) oder mehrere Prozesse, die jeweils wiederum Threads starten können (Worker). In beiden Fällen werden mehrere CPU-Kerne genutzt, ein Dual Core ist also für die Maschine mit Tomcat und Apache in jedem Fall sinnvoll.

Was die Gigahertz-Zahl angeht, würde ich sagen, dass vermutlich jeder moderne Prozessor (Xeon, Core2, Opteron, etc) mehr als genug Rechenleistung mitbringt. Wirklich belastet wird die CPU durch Webanwendungen eigentlich kaum.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: Kosten eines Root-Servers

Post by Roger Wilco »

matzewe01 wrote:Wenn er auf die Idee kommt seine jsps pro Request zu kompilieren. (Und ja manche Frameworks erzwingen genau sowas) Dann reicht auch ein Quadcore bei den oben genannten Zahlen nur bedingt.
Öhm, das ist so ziemlich das hirntoteste, was ich von einem Java-Webstack bisher gehört habe. Bei welchem Framework ist das denn der Fall?
moris
Posts: 6
Joined: 2008-10-16 14:59

Re: Kosten eines Root-Servers

Post by moris »

matzewe01 wrote:Wenn er auf die Idee kommt seine jsps pro Request zu kompilieren. (Und ja manche Frameworks erzwingen genau sowas) Dann reicht auch ein Quadcore bei den oben genannten Zahlen nur bedingt.

Eine vernünftig geschriebene Anwendung könnte die gewünschten Zahlen mit von mir genanntet Hardware erreichen.
Hornox hat einen nicht unwesentlichen Tipp gegeben. Er sollte sich ein - zwei Maschinen besorgen, schauen ob und in welchem Umfang das ganze flutscht und ob die Userzahlen passen.

(Wenn jemand in der Grössenordnung 1000 - 2000 EUr / Monat kalkuliert aber nur eine:
System 1 GHz Pentium 3
1 GB RAM

Kiste zum entwicklen / Testen zur Verfügung hat, dann Falle Ich ohnehin schon vom glauben ab.

Ich habe hier eine Dual Core 4 GB RAM Rechner mit 2,33 GHz.
Der hat mich vor gut 1,5 Jahren knappe 1000.- EUR gekostet.

In der konstallation Liferay, Oracle und Eclipse zum entwicklen ist mir die Kiste schon deutlich zu lahm.
Starte ich ein Websphere oder gar Bea Weblogic Projekt wird es nicht besser.
Für mich klingt es schlicht weg nicht plausibel, was der Kollege da von sich gibt.

'Aber egal, Liferay (also Tomcat mit Mysql) bekommt man auch auf einem embedded System ala 1 GHz und 512 MB locker zum laufen.
Hi!
Bin gerade (zu späterer Stunde) in das Forum eingestiegen und habe kurz die Neueinträge überflogen ...werde mir morgen alles nochmals genauer zu Gemüte führen. 8-[

Allerdings um eines komm ich nicht umhin...
Lieber matzewe01, ich weiß Du magst mich vermutlich nicht sehr, aber unterstelle mir bitte nicht, daß ich 1000,- bis 2000,- im MONAT ausgeben will. Was ich will ist max. bis 4000,- für Hardwareanschaffung ausgeben. Würde ich das im Monat berappen wollen, bräuchte ich einen Sponsor. Wo wir wieder beim alten Thema wäre: Du willst Dich anscheinend doch beteiligen :wink:

Ich weiß, Du hast mein Geschreibsel falsch aufgefaßt aber denk doch mal nach: 2000,- im Monat ==> das ist nur für Hardware sehr viel - und sollte ich Hardware inkl. einen Mitarbeiter gemeint haben, dann ist der arme Kerl entweder in Bezug auf Hardware nicht mehr vom Fach als ich selbst oder aus Indien importiert. Ich brauch Euch ja unter anderem deswegen, weil ich ned auf einen Haufen Geld sitze und 20 PC's kaufen kann.

Danke für Eure Beiträge!
sleep well Moris

ps.
Ich habe nicht vor bei jedem Request zu kompilieren ...da würde ich dann Deine Sun Fire - Rechner brauchen :) Das Webportal soll halt nicht abschwirren wenn mal was los ist. Darum saug ich mir von hier Infos - um gelebte Erfahrungen zu bekommen und für mich eine Kauftendenz ermitteln zu können.
silent85
Posts: 117
Joined: 2006-10-22 16:02

Re: Kosten eines Root-Servers

Post by silent85 »

Kurz gesagt niemand hier kann dir sagen wieviel Leistung 100-300 User bei dir dir machen,denn wir wissen nicht was sie machen und wie deine Seite Arbeite.
Verschiedene Seiten, verschiedene Lasten.

Beschreibungen zu systemen wurden zu genüge gemacht und nun musst du entscheiden.

Ausserdem sagst du selber das du zwar einen Server hast aber dich nicht so gut auskennst.. Ein Admin einstellen wirst du sicher nicht. Eher jemand aus dem "Internet-Bekanntenkreis" deer sich vieleicht ein wenig besser auskennt.

Denk immer daran das es im Internet tausende gibt die die Arbeit von anderen zerstören wollen.

Übrigens Thema Datenschutz ist nicht nur bei Kreditkarten notwendig...