"We are back" « oc.at

Performanter Server (Web, usw)

s4c 10.05.2008 - 21:34 3365 31 Thread rating
Posts

s4c

input overrun
Avatar
Registered: Nov 2003
Location: near to vienna
Posts: 1272
Hallo!

Bin jetzt wieder mal auf den Geschmack von Linux gekommen. Muss sagen, je höher die Version desto besser gefällt mir der Umgang mit dem Linux Stuff.

Weiss noch damals unter Mandrake (was ja nicht mehr in dem Sinne gibt => Mandriva). Das war schon recht gut und sehr Benutzerfreundlich, aber seit es Ubuntu gibt Überhaupt die neue 8.04 Version, super und einfach.

Aber zurück zum Thema..
Mich quält die Frage, ob Linux in Sachen immer noch (hab das immer so im Hinterkopf) Serverdienste schneller ist? Zuverlässiger ja Angäblich schon, wobei ich ja mit Server 2003/2008 eig sehr zufrieden bin.

Es geht nur um eine theoretische Schnelligkeit. Angenommen einen Webserver unter Linux (natürlich sehr von der Hardware abhängig, aber sagen wir mal so Standard-HW (2-4GB RAM, C2D 8400 od C2Q 9450 leicht übertaktet auf einem X38er Brettl, eine Raptor Systemplatte und 2x 1TB Datenplatten RAID1)
Also jetzt zu der Aufgabe..
LAMP und so eine Galleriepage von sagen wir 5 Reihen, 20 Spalten (100 Pics) als mittelgroßes "Thumbnail" (200x200 oder so) vorhanden. Und irgendein PHP-Code der die Bilder über die SQL Datenbank abfragt, sonst noch irgend eine SessionID für die Nutzer zuweisst, und pi pa po pipi fein für den WMaster/Admin leicht managbar gecoded.

Wieviele gleichzeitige Zugriffe können, unabhängig von der Leitung drauf - sagen wir GBit, in optimaler Geschwindigkeit zugreifen?! Anwendungszweck zB eine Firma mit Intranet Webpage, Zeitpunkt: Montag morgen und das Gerücht von Freitag das es Montag was super toll neues gibt was man dann im Intranet lesen kann (*fg* :D)

So, Montag 8 Uhr, alle 5000 Leute kommen und schaun gleich mal was das super Tolle jetzt ist.. geht da Server gleich krochn und der IT-Helpdesk springt außn Fenster oder was passier?!

Mit welchem OS lässt sich sowas am besten realisieren?! Debian? Fedora? Ubuntu sicher mal nicht, ist klar... Servercluster wäre natürlich super, spielts aber vom Budget her nicht

Ist alles rein theoretisch, würd mich nur sehr interessieren mit was sich sowas realisiern lassen könnt. Wär natürlich ein Hit wenn SQL- und Fileserver auf einem anderen viell sogar besseren Maschinen laufen würd die mit RAM-Disks ausgestattet sind, usw... aber wie gsagt is nur ein theoretisches Beispiel was ich interessant finden würd und ohne viel finanziellen Aufwand.

Als Beispiel hätte ich auch irgend eine Page auf einer LAN-Party hernehmen können auf denn sich alle 500 User auf einer Site die sich alle 3 Sek refreshed Live-Stats von den ganzen Servern holt oder so, aber dachte das mit der Galleriepage ist fordernder für den Server.

Um aber auch auf die praxis zurückzukommen, es wird natürlich in einem viel kleineren Umfang mit einem UbuntuServerOS probiert und es is beweitem nicht alles so optimal wie im Beispiel

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
Zitat von s4c
Mit welchem OS lässt sich sowas am besten realisieren?! Debian? Fedora? Ubuntu sicher mal nicht, ist klar...

Warum nicht mit Ubuntu?

IMHO ist das OS da relativ egal, Hauptsache die Hardware spielt mit und du kannst möglichst alles aus dem RAM liefern.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3783
Für Server würd ich von der Raptor/SATA Kombination absehen und gleich ein SAS/SCSI RAID bauen, die Zugriffe sind einfach deutlich schneller, und 2TB Kapazität braucht eh kein Webserver. Der Ubuntu Server ist im übrigen eh fast ident zum aktuellen Debian, machst eigentlich nichts falsch damit.

Wegen Performance, durch fehlende GUI und solche Geschichten sparst schon ein paar Ressourcen, wirklich gut kannst du Performance in der Hardwarekonfiguration rausholen, besonders beim Kernel (Ticks etc.). Von dem her würde ich GNU/Linux, BSD und co. schon als deutlich schneller sehen als Windows (vor allem mit IIS, igitt).

s4c

input overrun
Avatar
Registered: Nov 2003
Location: near to vienna
Posts: 1272
Dachte ich mir, wollte nur wissen ob das noch aktuell ist (damals war ja die Windows Server schiene erbärmlich)

Ok, dachte nur Ubunut ist eher so auf Enduser als auf Server-Verwendung ausgelegt. Muss ich mich halt mit der Shell anfreunden :/

Wie gesagt, fürs OS reicht die Raptor und 2-4GB mmn bestens aus und der Rest kommt auf RAM-Disks. Wie gut kann Linux mit mehr als 2 Kernen umgehn?! Server 2003 bzw 08 sind zumindest in der Enterprise Edition ganz gut darauf ausgelegt. Gibts irgendeinen Kernel-Tweak oder so dass die Kerne gleichmäßiger ausgelastet werden oder ist das nicht notwendig?!

Gut also wird zumindest der File- und Webserver einer auf Linux-Basis. DNS möcht ich AC-integriert machen und DHCP is eh wurscht auf welcher Kistn das läuft

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12173
Zitat von s4c
Ok, dachte nur Ubunut ist eher so auf Enduser als auf Server-Verwendung ausgelegt. Muss ich mich halt mit der Shell anfreunden :/
Oehm jo, welcome to the real world. Wenn du einen Server administrierst, musst du dich auch damit auskennen. ;)

Zitat von s4c
Wie gut kann Linux mit mehr als 2 Kernen umgehn?! Server 2003 bzw 08 sind zumindest in der Enterprise Edition ganz gut darauf ausgelegt. Gibts irgendeinen Kernel-Tweak oder so dass die Kerne gleichmäßiger ausgelastet werden oder ist das nicht notwendig?!
Wenn du einen Blick in die TOP500 wirfst, wirst du feststellen, dass alle Maschinen da "ein paar" Kerne unter der Haube haben, und das en grande davon mit Linux als Kernel betrieben wird. Der letztgenannte Spitzenreiter BlueGene hat 73728GB RAM, verteilt auf 106496 Nodes im Cluster (wobei wohl jeder Node mehrere CPUs/Kerne hat). Betrieben wird das ganze mit SuSe Linux Enterprise Server 9; ich wuerd dir allerdings zu einem Debian-Spross raten. Die Basis - der Kernel - ist eh bis auf kleinere Unterschiede die selbe. Also zusammenfassend wuerde ich sagen: ja, Linux kann ganz gut mit mehreren Kernen umgehen.
Wenn du deinen Kernel selbst kompilierst kannst du u. A. genau waehlen, wie viele CPUs im SMP-Modus maximal unterstuetzt werden sollen. Die Lastverteilung auf die Kerne erfolgt durch den Scheduler automatisch fuer sagen wir mal 98% (I just randomly made up a number!) aller realistischen Usage-Szenarien nahezu optimal, mit `taskset` kann man manuell Affinitaeten festlegen und Prozesse (oder Prozessgruppen) verschiedenen CPU-Pools zuweisen. Wirst du aber kaum brauchen.

Wenn du wirklich einen "High Performance Webserver" fuer eine Gallierie haben moechtest, dann ist wohl die Sprache, in der du diese implementierst, der limitierendste Faktor. Ich weisz nicht, ob PHP dafuer ideal ist - evtl. mit einem Bytecode-Compiler. Dann kannst du aber auch Python oder Perl nehmen, oder ein entsprechendes (Fast)CGI in C (oder einer anderen Lowlevel-Sprache; erlang ist toll fuer hohe Parallelitaet) schreiben.

ica

hmm
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9832
Zitat von nexus_VI
Wegen Performance, durch fehlende GUI und solche Geschichten sparst schon ein paar Ressourcen, wirklich gut kannst du Performance in der Hardwarekonfiguration rausholen, besonders beim Kernel (Ticks etc.). Von dem her würde ich GNU/Linux, BSD und co. schon als deutlich schneller sehen als Windows (vor allem mit IIS, igitt).

und deine aussage basiert worauf? gut, du sparst ein paar mb ram ohne gui - und deswegen ist alles andere deutlich schneller?

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3783
Zitat von ica
und deine aussage basiert worauf? gut, du sparst ein paar mb ram ohne gui - und deswegen ist alles andere deutlich schneller?

Den zweiten Satz hast du aber auch gelesen? Ich spüre und sehe allein aufgrund dessen täglich bessere Performance.

spunz

Elder
Elder
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11323
Zitat von nexus_VI
Den zweiten Satz hast du aber auch gelesen? Ich spüre und sehe allein aufgrund dessen täglich bessere Performance.

selbst windows ist ohne gui installierbar, bei aktuellen servern macht es vielleicht 0,1% der performance aus.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3783
Ma, es geht ja gar nicht um die blöde GUI, ich spreche oben von "ein paar Ressourcen", ergänzt bitte "wenigen" oder "unwichtigen" nach Bedarf :)

spunz

Elder
Elder
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11323
Zitat von nexus_VI
Ma, es geht ja gar nicht um die blöde GUI, ich spreche oben von "ein paar Ressourcen", ergänzt bitte "wenigen" oder "unwichtigen" nach Bedarf :)

die standard installation eines linux enterprise produkts bringt mehr unnötiges zeug mit als eine w2k8 installation. die paar extra dienste sind aber sowas von unbedeutend auf server hardware.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3783
Ist mir voll bewußt, ich sprech noch immer von Dingen wie tickless Kernel, Ramdisk, LVM2 etc., alles Performance und/oder Komfortsachen die einfach zu realisieren sind.

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Bei den von s4c angesprochenen Beispielen wie der Gallery gehts imo stark um den Cache - wenn da 5000 Leute gleichzeitig zugreifen und die Seite wird schon beim ersten mal gecached dann gehts nur mehr um die Netzwerkverbindung - da muss nicht mehr viel gerechnet und aus der DB geholt werden..

spunz

Elder
Elder
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11323
Zitat von nexus_VI
Ist mir voll bewußt, ich sprech noch immer von Dingen wie tickless Kernel, Ramdisk, LVM2 etc., alles Performance und/oder Komfortsachen die einfach zu realisieren sind.

aja, dann bitte ich mal um ein paar fakten wo mir ein tickless kernel, ramdisk und lvm in diesem recht einfachen fall einen vorteil bringt - derartige funktionien bringt auch windows mit.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3783
Tickless Kernel bringt in dem speziellen Fall natürlich nichts, LVM bringt eh immer was und von einer Ramdisk könnte man durch die geringen Zugriffszeiten durchaus profitieren. Aber ich mag jetzt nicht unnötig diskutieren.

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12173
Tickless Kernel bringt wohl keine Performanceverbesserungen (es sei denn, das System geht in IRQs unter - aber dann hat man eh andere, groeber Probleme als die miese Performance :)), aber auf jeden Fall (marginal) weniger Energieverbrauch. Wenn man's haben kann - why not? Es schadet nicht, sein System da zu optimieren, wo's einfach geht.

Dieses ganze "ein Server hat keine GUI"-Gefasel ist durchaus berechtigt. Die meisten Neulinge haengen zwar an Ihrem GNOME und X-Server auf einem GNU/Linux-Server, aber das ist alles ein pathologisches Beruhigungsmittel ohne irgendeinen praxisrelevanten Nutzen. Wenn du naemlich $Wichtiger_Dienst zerfickst, dann hilft es dir nichts, nada, niente, Null, wenn du die zerstoerte Konfigdatei in gedit statt in nano reparieren sollst. Einen Browser zur Recherche im WWW krieg ich auch leicht auf einem anderen System auf; das rechtfertigt laengst keinen X-Server, der viele viele tausende Zeilen nichttrivialen Code im Kontext von root, und dir dort fuer DoS und/oder Privilege Elevation ausgenutzt werden koenn(t)en, zur Ausfuehrung bringt. Aus genau diesem Grund pflastert man auch nicht blind jeden Rechner mit einem Paketfilter (netfilter unter Linux) zu - wenn man kein Filtering braucht, erhoeht das nur unnoetigerweise das Risiko durch potenzielle Bugs im Code.

@spunz: kA warum du hier so mit der Brechstange gegen nexus' vorgebrachte Punkte zu argumetnieren versuchst, aber zumindest das Nutzen eines tmpfs fuer die Nutzdaten einer Webapplikation kann sehr wohl in der Praxis etwas bringen, wenn man nicht unbedingt dauernd den ganzen Arbeitsspeicher mit vfs-Cache vollhaben moechte.
Dass ein "(GNU/)Linux Enterprise Produkt" mit allem incl. Kitchen-Sink installierbar ist, ist wohl wahr - im Unterschied zu Windows (und ich schaetze mal, das trifft auch auf diese Augenauswischerei-Edition von Server 2008, die nicht mal mit der Luft zum Atmen aus der Box kriecht) kann ich auch von der vorgesehen Minimalinstallation ausgehend noch einiges durch situationsangepasste Rekonfiguration einsparen, optimieren und rationalisieren. Zweckdienlich ist es vielleicht nicht, aber moeglich ist es.

Ad lvm2: lvm2 bietet mannigfaltige Moeglichkeiten (ro/rw-Snapshots, online-resizing, striping, mirroring, relocation, split/merging, clustering, ...), sich an sich aendernde Betriebsszenarien anzupassen. Die Flexibilitaet, die man dadurch gewinnt, wirkt sich nicht messbar auf die Performance aus - es schadet ganz sicher nicht, sich mit der Technologie vertraut zu machen, wenn man einen performanten und hochverfuegbaren Server betreiben moechte oder soll.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz