s4c
input overrun
|
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*  ) 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
|
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!
|
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
|
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
AdministratorGNUltra
|
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.  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
|
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!
|
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
ElderElder
|
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!
|
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
ElderElder
|
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!
|
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
|
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
ElderElder
|
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!
|
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
AdministratorGNUltra
|
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.
|