PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skalierung und Konfiguration für mittelgroßes Projekt



shadunbod
17.01.09, 21:56
Hallo an alle,

ich bin relativ unerfahren im Bereich Systemadministration. Meine Welt liegt mehr in der Entwicklung von PHP Applikationen.

Momentan arbeite ich an einem Projekt, dass auf eine Userbasis von 80.000 angelegt ist, mit einem monatlichen Wachstum von ungefähr 30.000 Nutzern. Das ganze basiert technisch auf PHP und MySQL. Ist keine sehr spezielle Anwendung, d.h. es gibt mehr oder weniger die grundlegenden Featues wie Profil und Messagingsystem, was mit verschiedenen dynamischen Daten aus dem Web angereichert ist. Das ganze würde ich nun natürlich gerne online bringen.

Ich wäre für Hinweise und Einschätzungen sehr dankbar, wie ich das ganze servertechnisch am besten hinbekomme. Am wichtigsten wäre, was ihr aus Erfahrung/Wissen glaubt, wieviele Server ich brauche für die PHP Applikation und die Datenbank, um bei dieser Userbasis unterhalb der 200ms Grenze zu bleiben, und wie die Server entsprechend ausgestattet sein sollten. Mich würden auch die Details drum herum interessieren, also wie ich das mit Lastenverteilung am besten für diese Größe hinkriege. Kein Detail ist zu klein Vielleicht kennt jemand sogar geeignete Hoster für dieses Projekt?

Ich habe einige Bücher gelesen zum Thema Skalierung, aber mir fehlen Erfahrungswerte - für Tipps wäre ich wirklich sehr dankbar.

marce
17.01.09, 22:24
interessanter ist eher:
- max. bzw. durchschnittliche parallele User
- wie "teuer" / schwer ist die Seite?
- wie viel DB-Zugriffe und -Zeiten?
- Persistenz notwendig?
...

Lastverteilung und alles weitere hängt teils davon ab.

shadunbod
17.01.09, 22:48
Hi marce, danke für die fixe Antwort. Ich versuch gerade vernünftige Daten für deine Fragen zu finden, mir ist nur nicht ganz klar, was du in diesem Zusammenhang mit Persistenz meinst?

marce
17.01.09, 23:39
müssen z.B. User nach dem ersten Request immer auf dem gleichen Server in einem Pool landen (wenn mal mehrere Server im Spiel sind) oder werden Anmeldeinformationen über den Pool verteilt (Sessions, ...)?

Ach ja - Größe der DB, Verhältnis PI/SQL-Requests, Umfang der SQL-Requests und Größe des Response, Notwendigkeit für Shared Storage / Filesystemabgleiche, ...

derRichard
18.01.09, 00:35
Hallo an alle,
ich bin relativ unerfahren im Bereich Systemadministration.

du solltest das einen fachmann machen lassen.
das ist alles andere als einfach.
da kannst nicht einfach eine dicke maschiene mit einem lamp kaufen und glauben, dass das schon wird...

da wirst mit sicherheit einen cache einbauen müssen.
zb: http://www.danga.com/memcached/

hth,
//richard

Roger Wilco
18.01.09, 01:15
http://serversupportforum.de/forum/dedizierte-server/30319-skalierung-konfiguration-f-r-80-000-a.html

shadunbod
18.01.09, 03:33
Ich habe auch vor, das System von einem Fachmann einrichten zu lassen. Nur hätte ich gerne ein Vorstellung, wie dieses komplette System aussehen müsste.

@marce:
Deine Fragen kann ich momentan nicht ausreichend beantworten. Ich weiß nicht, wieviele User parallel max. online sein werden, wieviel DB Zugriffe ich haben werde, und noch einige mehr Informationen. Mir ist klar, dass ich ohne diese Informationen nur eine sehr ungenaue Aussage bekomme, aber mir geht es wirklich auch nur um eine ungefähre Aussage - wenn man von durchschnittlichen Werten, keinen besonderen Needs, ausgeht. Wovon kann ich *ungefähr* ausgehen? Vielleicht ist so eine Aussage doch irgendwie möglich, wenn auch vage?

bla!zilla
18.01.09, 09:31
Dann hol einen Infrastrukturpartner mit ins Boot, der sich mit sowas auskennt. Dann kannst du dich auf deine Entwicklung konzentrieren und dein Partner macht die Technik. Ich kann dir so ein Vorgehen nur empfehlen.

Wenn nicht, dann brauchen wir trotzdem einige Angaben (marce hat sie schon genannt) und auch dann wirst du niemanden hier auf die technische Machbarkeit hin festnageln können.

marce
18.01.09, 10:28
Das klingt alles danach, als ob die Anwendung noch nicht implementiert ist? Dann weißt Du auch nun, auf was Du bei der Implementierung auch achten musst, um die Applikation möglichst perfomant und skalierbar zu werden.

Man kann Permanceprobleme zwar oft durch Hardware erschlagen - die optimale Lösung ist es aber nicht. Datenbank- und Applikationsdesign sind da meist viel effizienter...

netzmeister
18.01.09, 19:59
Hallo,

durch die Erfahrung mit einigen eigenen Portalen habe ich schon mehrfach mittelgroße
bis große Seiten realisiert. Alle Installationen sind Individualkonfigurationen.
Das muß von Anfang an gut geplant, und dann auch sauber realisiert werden.

Meine größte Installation hat täglich derzeit bis zu 20 Mio. Hits, oft in nur
wenigen Stunden am Tag. Das liegt dort am Thema der Seite.

Die Hardware muß natürlich schon passen, aber die Konfiguration ist noch
viel wichtiger. Dann kann man auch eine Menge Geld sparen.

Oft werden hinter einem Proxy Server mehrere Webserver aufgestellt.
Die Last lässt sich so einfach verteilen, auch die Wartung einzelner Server
ist im laufenden Betrieb möglich.

Der Datenbank läuft fast immer auf mindestens einem eigenen Server, dieser
sollte für hohes I/O optimiert sein. Die Webserver sind bei PHP Projekten hingegegen
für hohe Rechenleistung zu optimieren. Alles beginnt bei der Hardware,
geht über die richtige Wahl des Betriebsystems und endet mit der professionellen
Auswahl und Konfiguration der Softwarekomponenten.

Es gibt viele Details zu beachten ...

Ein Profi wird für die Planung, Installation und In- Betriebnahme sicherlich
eine Woche an Arbeit haben.

Die spannende Frage lautet: Wir mit der Seite Geld verdient?

Viele Grüße

Eicke

bla!zilla
18.01.09, 20:11
Multi-Tier ist immer gut. ;) Webserverfarmen hinter Loadbalancern oder Reverse-Proxies auf jeden Fall zu empfehlen, aber kann auch ein SPoF sein, darauf muss man achten.

Wie sieht es denn mit Hardware aus? Welches Budget liegt vor?

shadunbod
18.01.09, 21:33
@netzmeister:
Ja, mit der Seite wird Geld verdient. Sowohl direkt über Kunden als auch indirekt über Werbung. Wieso ist das für dich die spannende Frage? Und darf ich fragen, wie deine größte Platform servertechnisch bestückt ist?

@bla!zilla:
Das Budget soll ja ermittelt werden, deswegen frage ich eigentlich nach euren Erfahrungen. Noch liegt keins vor, vielmehr hängt es von meiner Beurteilung ab, wie groß das Budget sein wird. Ich habe definitiv vor, bei der Infrastruktur Profis zu beauftragen; nur muss ich eben für ein paar Investoren abschätzen, wie viel Kapital benötigt wird.

netzmeister
18.01.09, 22:32
Hallo,

da sind es derzeit 4-5 Server!

Die Frage nach dem Obulus liegt in der Natur Professionalität einer
solchen Anfrage. Zwischen Tür und Angel gibt es natürlich eine Hausnummer. ;)

Viele Grüße

Eicke