Hlavní navigace

Fakta o faktech Microsoftu

Michal Kára 16. 11. 2004

Jeremy Allison ze Samba týmu říká: "Existují tři druhy lží - lži, úplné lži a benchmarky". Winston Churchill prý zase říkal: "Nevěřím žádné statistice, kterou si sám nezfalšuji". A Microsoft před nedávnem spustil svou kampaň "Get the facts", v jejímž rámci se chlubí výsledky studie, která změřila, že Windows/IIS mají cca 3x vyšší výkon než Linux/Apache. Pojďme si probrat některá fakta oné studie.

Předně je nutno říci, že pokud jde o výsledky studie, tak Microsoft docela slušně „mlží“. Je sice pravda, že IIS mělo o 276 % vyšší maximální hodnotu propustnosti než Apache. Ale na statickém obsahu. A každý, kdo se ve WWW serverech trochu vyzná, ví, že Apache není vhodný server pro statický obsah. Apache je naopak dělán jako jednoduše rozšiřitelný server a vysoký výkon (na statických stránkách) nebyl nikdy jeho primárním cílem.

Od toho jsou tu jiné servery, například TUX, který byl do testu také zahrnut. V porovnání s ním byl výkon IIS vyšší maximálně o 51 %, což sice není nikterak lichotivé číslo pro Linux, ale také to není 276 %


Když už jsme u oné kampaně – je pikantní, že banner, který ji propaguje, je vlastně lživý. Tvrdí totiž, že onoho poměru bylo dosaženo na dvouprocesorové konfiguraci. Přitom ve skutečnosti to byla konfigurace čtyřprocesorová. Nicméně to není zas až tak podstatné.

Pojďme ale dále. Podstatnou informací je fakt, že studie byla sponzorována Microsoftem. Ten i dodal Windows 2003 Server. Red Hat byl získán standardní cestou bez „nadstandardního“ kontaktu s dodavatelem. Nutno říci, že firma provádějící test se při problémech s 8-procesorovou konfigurací pokoušela Red Hat kontaktovat skrze uživatelskou pdoporu, nicméně nebyla úspěšná.

Testovány byly Red Hat 8.0 s Apache (2.0.40), TUX běžel na Red Hat Advanced Server 2.1. Ten obsahoval kernel 2.4.9. Nad tímto faktem jsem nějakou dobu bádal. Kernel 2.4.9 sám o sobě byl totiž v době konání testu (duben 2003) již 20 měsíců starý, aktuální byl tehdy kernel 2.4.20, který je nesrovnatelně lepší. Nicméně Red Hat do kernelu částečně backportuje věci z novějších kernelů, a není tedy vůbec jednoduché zpětně říci, které tam byly a které ne.

Přitom aktuálnost verzí je dosti podstatná. V rámci testu byl porovnáván i Apache 1.3.23 na (výše zmíněném) Red Hat kernelu 2.4.9 versus Apache 2.0.40 na Red Hat 8.0 (verze kernelu nebyla ve studii uvedena). Novější Apache přitom dosáhl o 40 % vyššího výkonu než starší verze.

V dokumentu se popisuje poměrně podrobně nastavení systému. K němu bych měl následující výhrady:

  1. Pro Windows se nastavuje maximální TCP port na 65536. Pro Linux se podobné nastavení neprovádí. Tak Linux mohl obsloužit méně aktivních spojení než Windows.
  2. Pro Windows se nastavuje velikost bloku na filesystému na 64 respektive 32 kilobajtů. U Linuxu bylo ponecháno standardní nastavení (zřejmě 4 kB). Toto nastavení přitom může hodně ovlivnit výkon systému souborů.
  3. Nikde jsem nenašel, že by se linuxový svazek připojoval s nastavením „-o noatime“. To má, podle mých zkušeností, významný vliv na výkonnost systému při čtení mnoha souborů z disku. Za normálních okolností se totiž při každém přístupu k souboru aktualizuje jeho access time v inode, který se musí zapsat na disk. Toto nastavení aktualizaci vypne.

Mohl bych mít ještě další výhrady, ale myslím, že tři výše uvedené plus částečně zastaralý SW (v porovnání s „horkou“ RC2 verzí Windows 2003 Server) mohly bohatě způsobit onen poloviční rozdíl ve výkonu.

Pro další testy (CGI a SSL) platí výše uvedené v plném rozsahu a připojují se další otazníky. Testovat CGI na výkon je, dle mého názoru, zcela nesmyslné. Tam, kde opravdu jde o výkon, se CGI skripty nepoužívají.

Výkon SSL ovlivnila ještě jedna věc. Zatímco IIS používal šifru RC4 se 128bitovým klíčem, na Linuxu byl použit 3DES se 168bitovým klíčem, který je až čtyřikrát pomalejší.

Teď bych ještě rád řekl něco obecně o podobných testech. Ačkoli se to nezdá, podobný test může být dokonce argumentem pro použití Linuxu. Nevěříte? Podívejte se na jeho výsledky. Ty říkají, že Apache na Linuxu na jednoprocesorovém PIII Xeonu na 900 Mhz zvládne přes šest tisíc dotazů za sekundu. Pokud počet dotazů na váš server bude řádově nižší (což na 99.9 % bude), můžete si v klidu vybrat, co chcete, podle dalších kritérií – cena, znalost prostředí, otevřenost, … A jestliže v těchto kritériích zvítězí Linux, můžete studii použít jako důkaz, že to zvládne i výkonově :-)

Podobné studie je totiž nutno brát s rezervou. Vždy platí, že testují nějaký konkrétní případ. A pro vás mají takovou cenu, jak moc se vaše situace přibližuje onomu konkrétnímu případu. Když provozujete server, který poskytuje krátké statické soubory, pak pro vás může být tato studie zajímavá – s přihlédnutím k chybám, pochopitelně.

Jestliže ale máte dynamický web, který sice obsluhuje jen pár desítek dotazů za sekundu, ale přesto nestíhá kvůli přenosu dat z disku, není takováto studie pro řešení vašeho problému přínosem.

Další otázkou je i kvalita studie – jak rozdíly v konfiguraci systému, tak v metodice. Například metodiku WebBenche, použitého v této studii, já osobně považuji za poněkud spornou, jelikož nemodeluje věrohodně zátěž. Ve zkratce: Měří maximální hodnoty propustnosti, místo aby zkoumala, kdy přestane server stíhat.

Dále od dobré studie nechtějte jen naměřené hodnoty. Dobrá studie by měla i analyzovat, proč jednotlivé měřené servery přestávají stíhat. Zda je problémem nedostatek paměti, vyčerpání CPU, nebo je úzké hrdlo v datových přenosech z disku či po sběrnici. Nebo jestli není omezení výkonu způsobeno nějakým nastavením systému (nedostatek file deskriptorů, …). To mi třeba v kritizované studii zcela chybí.

A nakonec ještě odkaz na PDF se studií.

P.S.: Děkuji všem autorům z konference, kteří se zúčastnili diskuse o testu, jmenovitě pak Jakubovi Urbancovi a Adamovi Přibylovi.

Našli jste v článku chybu?

24. 1. 2005 10:50

Milhauz (neregistrovaný)

Tak si čtu a nestačím se divit... KLasika..tábor zastánců Windows a tábor zastánců unix/linux...
Každý je přesvědčen o své pravdě a ten druhý o své..
Kouknu na to ze své strany ... Jsem uživatel widlí a snažím se přejít na Linux... (čistě z finančních důvodů) Nemám na to abych si kupoval už jen Windows na kterém ted jedu,tak si pokouším přejít na Linux... Pro mě je to jen otázka ceny. Ale taky mám chuť se učit (a čas) něco nového. Je spusta uživatelů kteří prostě nemají na to aby do toho šli..…

2. 1. 2005 17:13

jirig (neregistrovaný)

No jeje! to neni prasecina, nastrkat do konfiguraku 6000 URL ze aby se pomohlo statickejm strankam? Povsimnete si ze uz nepisou, ze by to pro zkousky s CGI vyhodili. Predstavte ti, kdyz pak dazdy request parsuje tech 6000 radek pro nic za nic. No a to CGI (mimochodem, to v porovnani podavanych cisel nevychazi tak hrozne spatne), nepisou jake - byly to prelozene CGI, nebo treba PERL skripty? A kdyz predvadeji ISAPI, proc treba nedelaji srovnani s prelozenym PHP? I ty formulace o tom, jak nastavov…

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat