Discussion:
Haha, Felix ist mit seiner Hybris gnadenlos baden gegangen
(zu alt für eine Antwort)
Warum Nicht
2003-10-19 11:26:26 UTC
Permalink
Ja, ja, "mein Webserver enthält keinen Bloat, der überlebt auch ein
Slashdotting". Arschlecken, Felix, war wohl nix, genauso in die Knie
gegangen wie jeder 08/15-Server auch. Diese Lektion in Bescheidenheit
war dringend nötig, hoffentlich lernt er daraus.
Thomas Weiland
2003-10-19 12:19:16 UTC
Permalink
Hi,
Post by Warum Nicht
Ja, ja, "mein Webserver enthält keinen Bloat, der überlebt auch ein
Slashdotting". Arschlecken, Felix, war wohl nix, genauso in die Knie
gegangen wie jeder 08/15-Server auch. Diese Lektion in Bescheidenheit
war dringend nötig, hoffentlich lernt er daraus.
kann jemand mal den Leuten die das hier nicht verstehen erklären um was es
da geht? Ich verstehs nämlich nicht.

Gruß
Thomas
--
This is my mail-adress - don't remove the word "nospam"!
Dies ist meine korrekte Mailadresse - das Wort "nospam" bitte nicht
entfernen!
Philipp Schulte
2003-10-19 12:28:08 UTC
Permalink
Post by Thomas Weiland
Post by Warum Nicht
Ja, ja, "mein Webserver enthält keinen Bloat, der überlebt auch ein
Slashdotting". Arschlecken, Felix, war wohl nix, genauso in die Knie
gegangen wie jeder 08/15-Server auch. Diese Lektion in Bescheidenheit
war dringend nötig, hoffentlich lernt er daraus.
kann jemand mal den Leuten die das hier nicht verstehen erklären um was es
da geht? Ich verstehs nämlich nicht.
http://developers.slashdot.org/developers/03/10/19/0130256.shtml?tid=106&tid=130&tid=185&tid=190

Was der anonyme Vorposter sagen wollte, erschließt sich mir aber
nicht wirklich. Der Webserver war für mich gut erreichbar.
Dennis Bliefernicht
2003-10-19 12:45:15 UTC
Permalink
Post by Philipp Schulte
Was der anonyme Vorposter sagen wollte, erschließt sich mir aber
nicht wirklich. Der Webserver war für mich gut erreichbar.
Ack, tut er auch jetzt problemlos mit 88kiB/sec Minimum. Da woltle wohl
wer schneller schadenfroh sein als ging ;)
Dennis Knorr
2003-10-20 00:05:09 UTC
Permalink
Post by Philipp Schulte
Was der anonyme Vorposter sagen wollte, erschließt sich mir aber
nicht wirklich. Der Webserver war für mich gut erreichbar.
Für mich war er nicht erreichbar(zwischen 19.00 und 20.00). Mittlerweile
schon.
Horst Laschinsky
2003-10-19 12:31:26 UTC
Permalink
Post by Thomas Weiland
kann jemand mal den Leuten die das hier nicht verstehen erklären um was es
da geht? Ich verstehs nämlich nicht.
Fefes Webserver ging wohl in die Knie, nachdem auf Slashdot ein Link
zu nem Artikel auf dem Webserver gepostet wurde, in dem Fefe ueber
skalierbare Netzwerkprogrammierung schreibt. Titel "Scalable Network
Programming - Or: The Quest For A Good Web Server (That Survives
Slashdot)"
Klassisches Eigentor, sozusagen... :-)

Ciao,

Horst
--
Horst Laschinsky
Universitaet Erlangen-Nuernberg - Physikalisches Institut I
Erwin-Rommel-Str. 1, Room: 206, 91058 Erlangen - Tel: ++49 9131 85-27061
http://www.antares.physik.uni-erlangen.de/~htlaschi/index.php
Michael Holzt
2003-10-19 17:10:26 UTC
Permalink
Post by Warum Nicht
Ja, ja, "mein Webserver enthält keinen Bloat, der überlebt auch ein
Slashdotting".
Auf bulk.fefe.de läuft nur gar kein fnord, sondern irgendwas anderes:
Server: Gatling/0.3.


-kju
--
everything done. Thank you for downloading a media file containing
proprietary and patentend technology.
--- Meldung von 'mmsclient' nach Download eines mms://-Streams
Andreas Krennmair
2003-10-19 20:14:33 UTC
Permalink
Post by Michael Holzt
Post by Warum Nicht
Ja, ja, "mein Webserver enthält keinen Bloat, der überlebt auch ein
Slashdotting".
Server: Gatling/0.3.
http://bulk.fefe.de/scalability/:
"The slashdotting also revealed a problem in gatling or Linux, I can't
tell yet: sendfile (although on a non-blocking socket, or so it should
be) suddenly blocks, which blocks the whole server. I will investigate
further... ;)"

mfg, ak
--
Post by Michael Holzt
Write Secure Code: a summary: Don't use system(), and be careful with
buffers.
Brain Surgery: a summary: open skull, and poke around with a stick.
-- seen on slashdot.org
Felix von Leitner
2003-10-20 00:41:21 UTC
Permalink
Post by Andreas Krennmair
Post by Michael Holzt
Server: Gatling/0.3.
"The slashdotting also revealed a problem in gatling or Linux, I can't
tell yet: sendfile (although on a non-blocking socket, or so it should
be) suddenly blocks, which blocks the whole server. I will investigate
further... ;)"
gatling ist mein neuer experimenteller Webserver.
Während auch fnord mit dem Ziel geschrieben wurde, ein Slashdotting zu
überleben, habe ich nie ein "echtes" gehabt. Ich bin mal erwähnt
worden in den Kommentaren, und da sind dann auch Leute gekommen und
haben bei www.fefe.de geclickt, aber so richtig Load war da nie.

Jetzt habe ich halt einen nicht forkenden Webserver geschrieben und ihn
gatling getauft. Das ist dann halt komplexer aber hat das Potential auf
bessere Skalierbarkeit. Und um das mal live zu testen, nachdem er
einige Tests überlebt hatte, habe ich den mal auf einem "Traffic kostet
nicht so viel" Server installiert, da eine interessante Story
draufgetan, und das bei Slashdot submitted.

Natürlich hätte ich mich gefreut, wenn gatling das auf Anhieb problemlos
überstanden hätte, aber es haben sich noch zwei Bugs eingestellt, die
ich dann während des Slashdottens debuggen mußte:

a) epoll kann unter Last schon mal in einem Batch das selbe Event
mehrfach melden. Das ging so aus der Dokumentation nicht hervor.
Meine Datenstruktur innerhalb Gatlings geht davon nicht aus und hat
einen Next-Zeiger als Teil des States für jeden Deskriptor. Der
Effekt war, daß der Next-Pointer am Ende auf den selben Record
zeigte, und Gatling auf der Suche nach dem Listenende stehen blieb.

b) aus einem bislang unklaren Grund wurden Deskriptoren manchmal nicht
auf non-blocking gesetzt. Der Effekt war, daß sendfile stehenblieb
und gatling keine anderen Verbindungen mehr bedient hat. Das habe
ich noch nicht vollständig debugged, woran das jetzt genau lag.

Das sind halt die Nachteile, die man von neuen bleeding edge APIs und
state machine basierten Servern hat. Mit fnord wäre beides kein Problem
gewesen, aber das war ja der Sinn der Übung -- gatling mal in live unter
Last zu sehen. Ach ja, und es ist auch echt interessant, mal so ein
Slashdotting zu beobachten. multilog rotiert hier so alle zehn Minuten
ein 1 MB Logfilesegment weg, am Anfang war es sogar alle 3 Minuten.
Insgesamt hat die Aktion bislang gut 6 GB Traffic verbraten.

Während der ganzen Zeit war gatling nie deutlich über 100 parallen
Verbindungen, was mich ja verwundert. Das hätte auch fnord locker
hingekriegt. Außerdem leckt da anscheinend noch Speicher und sogar
Deskriptoren. Es gibt da also noch viel zu tun. Aber immerhin läuft
der Prozeß seit sieben Stunden durch und wird aus allen möglichen
Richtungen geslashdottet. Für einen experimentellen Webserver finde ich
das gar keine schlechte Leistung. Insbesondere scheint die URL gerade
durch alle möglichen Quake- und Counterstrike-Webforen zu laufen, und
natürlich über die diversen BSD-Mailinglisten. Auf Linux-kernel hat es
aber offenbar noch keiner angesprochen. Naja, kann noch kommen.

Besonders erstaunlich finde ich ja die ganzen OpenBSD-Leute, die jetzt
bei mir aufschlagen, um mir zu erklären, daß sie OpenBSD ja wegen der
Security nehmen und nicht wegen der Skalierbarkeit. Muß ein Reflex sein.

Felix
Andreas Krennmair
2003-10-20 05:49:32 UTC
Permalink
Post by Felix von Leitner
Besonders erstaunlich finde ich ja die ganzen OpenBSD-Leute, die jetzt
bei mir aufschlagen, um mir zu erklären, daß sie OpenBSD ja wegen der
Security nehmen und nicht wegen der Skalierbarkeit. Muß ein Reflex sein.
Ach ja. :-))

Ich habe ja ehrlich gesagt instinktiv mit so einer Reaktion aus dem
OpenBSD-Lager, und deswegen in gmane.os.openbsd.misc reingeschaut. Und was
entdecke ich da? Lauter OpenBSD Fanboys, die sich ausweinen, wie boese
Fefe nicht waere, und dass der gesamte Benchmark nichtssagend ist, weil
das ja auf einem Notebook gemacht wurde, und die Hardware zaehlt extrem.
Auf die Frage, ob sie denn wirklich meinten, bessere Hardware (z.B. eine
Dual Xeon Maschine *g*) wuerde den beobachteten Aufwand im Benchmark
verringern, bekommt man nur die Antwort, man waere ein Troll.

Amuesant war auch ein Posting, wo einer meinte, der Benchmark wuerde so
wichtige Sachen wie Robustheit (*rofl*), Sicherheit und Dokumentation
nicht beruecksichtigen. Naja, ich kann zur persoenlichen Unterhaltung
nur empfehlen, da auch einmal reinzuschauen, denn lachen ist
bekannterweise gesund.

mfg, ak
--
Post by Felix von Leitner
Write Secure Code: a summary: Don't use system(), and be careful with
buffers.
Brain Surgery: a summary: open skull, and poke around with a stick.
-- seen on slashdot.org
Loading...