Kapazität von normalen Servern
-
nman schrieb:
SeppJ: Bitte gib doch nicht solche Antworten, du weißt doch selbst genau dass hier nicht die Sprache der Flaschenhals ist. Sonst glauben wieder massig Anfänger, dass Webseiten langsam sind, weil sie nicht in C++ geschrieben sind.
Da wäre ich mir garnicht so sicher. Ich würde mal schätzen, dass die Kombination php + SQL es nicht schafft, unter 100ms eine 100K Seite dynamisch zusammen zu bauen. Da wären wir bei 10000 Anfragen schon bei 1000s also 16 Minuten, was mehr als deine 6 Minuten für 5MB Netzwerktraffic wären.
-
Übrigen hätten wir nur 1ms pro Anfrage Zeit, wenn wir 10000 Anfragen in 10 Sekunden schaffen wollen, das wäre sogar für guten C++ Code sportlich.
-
comboboxer schrieb:
Übrigen hätten wir nur 1ms pro Anfrage Zeit, wenn wir 10000 Anfragen in 10 Sekunden schaffen wollen, das wäre sogar für guten C++ Code sportlich.
C++ kommt noch ein wenig weiter als die SQL-Datenbank.
-
fünf? schrieb:
5MB pro Seite? Die muss aber schon voll mit Bildern sein.
Ja, so wie das zB. bei jedem Webshop der Fall ist. Habe gerade einen Webshop gecheckt, bei dem ich vorgestern etwas bestellt habe. Die Startseite wiegt 3.5MB. Die Startseite von amazon.de wiegt 11.5MB. 5MB sind schon ein brauchbarer Wert für einen Webshop.
Ich würde mal sagen der Text macht ca. 100K - 300K aus.
Ich behaupte, dass sich die wenigsten nicht extra auf Größe optimierten modernen Seiten mit 300K Datentransfer rendern lassen.
comboboxer: Wir sprechen von Flaschenhälsen. Wenn der Traffic ohnehin nicht über das Netzwerkinterface hinauskäme, ist das der Flaschenhals – unabhängig davon was dahinter noch passieren könnte. Ich habe häufig mit Seiten mit viel Traffic zu tun und die erste Frage ist _nie_ "In welcher Sprache ist das Backend geschrieben?".
Ich sage nicht, dass die Sprache vollkommen uninteressant ist, aber such doch mal nach "C10K problem". 10000 Clients erschlägst du nicht einfach durch "nehmen wir eben C++ statt PHP", das ist ein hartes Problem. Gleichzeitig wird es bei jedem 0815-Webshop Berge von nicht ausgereiztem Optimierungspotential geben, die auch nichts mit der Programmiersprache zu tun haben.
Versteht mich nicht falsch; ich halte PHP für eine _furchtbare_ Sprache. Aber sie ist nicht der Grund, aus dem "durchschnittliche Server Anfragen von ca. 10000 Usern nicht gleichzeitig verarbeiten" können.
edit: Falsche Tags.
-
nman schrieb:
comboboxer: Wir sprechen von Flaschenhälsen. Wenn der Traffic ohnehin nicht über das Netzwerkinterface hinauskäme, ist das der Flaschenhals – unabhängig davon was dahinter noch passieren könnte. Ich habe häufig mit Seiten mit viel Traffic zu tun und die erste Frage ist _nie_ "In welcher Sprache ist das Backend geschrieben?".
Ich sage nicht, dass die Sprache vollkommen uninteressant ist, aber such doch mal nach "C10K problem". 10000 Clients erschlägst du nicht einfach durch "nehmen wir eben C++ statt PHP", das ist ein hartes Problem.
Ja und ich sage, dass Rechenzeit und DB Zugriffe der engere Flaschenhals sind. Und ich habe auch gesagt, dass es mit C++ schwierig wäre. Da müsste man wahrscheinlich die standard DB schon ganz raus nehmen und sich sehr effiziente Datenstrukturen ausdenken oder eine wirklich gute teure DB verwenden.
-
nman, richtig, PHP ist grausig als Sprache und hat als Interpreter sowieso einen Nachteil. HTML ist für mich der allerletzte Schwachsinn, aber als First Draw irgendwelcher cordhosentragender Ur- Nerds immer weiter ausgebaut worden.
Aber damit hört's ja nicht auf, 10'000 gleichzeitig online ist schon eine Herausforderung (offene files, threads, egal), bereits wenn die connects inaktiv sind, 10'000 requests/s ist Hammer, wenn man mal drüber nachdenkt.
Bei den meisten Leuten gegen Ende 20 setzt der -3 dB- Knick bei etwa 12 kHz ein, was das Gehör anbelangt. Aber den ganzen Kram berechnen und rüberpusten soll gehen?
Mit Kram meine ich die überblähten Seiten, 5 MB ist fast noch zu nieder gegriffen. Ich war eine Zeit lang auf ISDN angewiesen, da bricht mittlerweile fast jede Seite mit Timeout ab. Dabei könnte man die meisten auf ein paar Zeilen handgeschnitztes HTML runterbrechen, ohne viel Bedienkomfort zu verlieren.
Aber es funktioniert halt, wie woanders auch: Jeder eingelernte Depp muß mit einem Homepagebaukasten was Ansehnliches hinkriegen, was ungefähr so aussieht, wie von dicken Firmen gebaut. Und so übel das auch ist, in 90% aller Fälle sind die Ansprüche ja bedient, was interessiert es mich, daß der Laden nicht mehr geht, wenn 100 Leute gleichzeitig drinstecken und üblicherweise so etwa 50 übern Tag verteilt kommen.
Also, 10'000 requests/s ist schon sehr engagiert, da wird alles zum Flaschenhals. Nicht Nur PHP/MySQL.
-
comboboxer schrieb:
Ja und ich sage, dass Rechenzeit und DB Zugriffe der engere Flaschenhals sind.
Ja, aber auf etwas andere Art als du vielleicht glaubst. Wenn du 10k Clients gleichzeitig bedienen möchtest, machst du das nicht mit einer CPU und hast schon sehr sehr viel gecached. DB fällt dabei ohnehin flach und größere Mengen dynamischer Inhalte auch.
Was ich sagen wollte: 10k Clients mit einem Server sind auch für vollkommen statische Files schon eher ambitioniert. Mit genug Ressourcen schaffbar, aber ambitioniert.
Da müsste man wahrscheinlich die standard DB schon ganz raus nehmen und sich sehr effiziente Datenstrukturen ausdenken oder eine wirklich gute teure DB verwenden.
Wirklich gut und teuer gibt es für den Anwendungszweck IMO nicht. Mit mehr Geld kannst du dir dafür höchstens Leute einkaufen, die dir erklären, wie man sowas stemmen könnte.
pointercrash() schrieb:
Also, 10'000 requests/s ist schon sehr engagiert, da wird alles zum Flaschenhals. Nicht Nur PHP/MySQL.
Ack.
-
nman schrieb:
SeppJ: Bitte gib doch nicht solche Antworten, du weißt doch selbst genau dass hier nicht die Sprache der Flaschenhals ist. Sonst glauben wieder massig Anfänger, dass Webseiten langsam sind, weil sie nicht in C++ geschrieben sind.
Ironischerweise wollte ich solch eine Relativierung kurz nach Abschicken meines Beitrags noch reineditieren, aber c-plusplus.net war zu der Zeit dermaßen langsam, dass ich das Vorhaben schließlich aufgab.
-
nman schrieb:
Mit mehr Geld kannst du dir dafür höchstens Leute einkaufen, die dir erklären, wie man sowas stemmen könnte.
Glaube ich nicht, die sagen alle auch nur mehr Server kaufen.
-
ExperteFürExperten schrieb:
Glaube ich nicht, die sagen alle auch nur mehr Server kaufen.
Klar, mache ich auch oft. Weil es oft billiger ist als eine Lawine von Consultingstunden um die gleiche Leistung mit weniger Servern zu bekommen.
SeppJ schrieb:
Ironischerweise wollte ich solch eine Relativierung kurz nach Abschicken meines Beitrags noch reineditieren, aber c-plusplus.net war zu der Zeit dermaßen langsam, dass ich das Vorhaben schließlich aufgab.
Wir kennen beide die PhpBB-Codebase. C++ wäre da auch keine Hilfe.