Linux E X P R E S

Facebook

Test serveru Silent Nehalem od firmy Thomas-Krenn

nehalem.jpg

Na českém trhu se servery se objevil nový hráč: německá společnost Thomas-Krenn.AG. Nabízí poměrně širokou škálu serverů, virtualizačních systémů, storage řešení a dalšího hardwaru i softwaru. Hardwarovou konfiguraci serverů si lze před nákupem zvolit pomocí konfigurátoru v internetovém obchodě, a to buď ze všech dostupných komponent, anebo z těch, které jsou certifikovány pro požadovaný operační systém.


Pro každého, kdo uvažuje o nákupu serveru, je však důležité, jaký výkon servery poskytují, za jakou pořizovací cenu a v neposlední řadě i s jakou spotřebou energie. V následujících odstavcích se můžete dočíst, jak dopadl jeden ze serverů Thomas-Krenn.AG ve všestranném testu.

Server Silent Nehalem Server Silent Nehalem

K testu byl vybrán Tower Server Intel Single-CPU SR108 Silent Nehalem s procesorem Intel Xeon 4-Core X3440 2,53 GHz, operační pamětí 8 GB DDR3 (2 x 4 GB, Registered ECC), čtveřicí disků Western Digital Raid Edition III (320 GB, SATA II) zapojených jako RAID 1+0 prostřednictvím řadiče 3Ware 9690SA (s BBU modulem), to vše na desce Supemicro X8SIL-F se dvěma síťovými rozhraními (1 Gb/s) a integrovaným modulem pro vzdálenou správu (IPMI). Server je napájen zdrojem Fortron 600 W s certifikací 80 PLUS a chladí ho sada tichých ventilátorů (Silent Kit). Na server byl předinstalován operační systém GNU/Linux, konkrétně v podobě distribuce Debian Lenny se speciální verzí jádra (obsahující potřebné ovladače).

Základní cena testovaného serveru v srpnu 2010 byla 649 eur, v testované konfiguraci potom 2007 eur. Na konkrétní cenu má zásadní vliv množství osazené paměti (rozdíl mezi 1 GB a 8 GB je přes 300 eur) a hlavně instalace řadiče pro RAID (téměř 440 eur; komu stačí obyčejný disk nebo použije software RAID, může velmi významně ušetřit).

Server na první pohled

Dodané balení obsahuje samozřejmě server, dále pak složku s brožurami a informačními letáky, CD-ROM s ovladači k základní desce (pro Windows a Linux) a sadu montážních dílů (kabely, redukce, šrouby atd.) pro možnost pozdějšího rozšiřování výbavy serveru.

Server samotný váží přibližně 33 kg, což je s ohledem na výbavu poměrně dost. Bez otevření skříně nelze zjistit, kde se skrývá podstata této hmotnosti, nicméně již z toho, co je vidět zvenčí, lze usuzovat na velmi robustní konstrukci s řadou výztuh a s dostatečnou tloušťkou použitého plechu. Manipulace se serverem je tedy poněkud obtížnější, na druhou stranu dává konstrukce serveru dobré šance na absenci nežádoucích zvukových projevů (velmi rozšířených u strojů z „papírového plechu“) a i při méně opatrné manipulaci se serverem se není třeba obávat poškození důležitých komponent.

Otevřená dvířka Otevřená dvířka

Metodika výkonnostních testů

Pro maximální vypovídací hodnotu testů je třeba použít přesně definovanou metodiku, která umožňuje jejich reprodukovatelnost a možnost srovnávání se stejnými testy prováděnými na jiných strojích. V tomto případě obecně platí, že každý test byl proveden vždy třikrát a výsledné hodnoty jsou aritmetickým průměrem oněch tří měření. Kromě explicitně zmíněných případů navíc ostrým testům předcházelo vždy jedno spuštění „nasucho“ (bez využití výsledků měření), aby se co nejvíce omezily vnější vlivy, například vliv načítání testu z disku.

Veškeré testy probíhaly s aktivním HyperThreadingem, proto se procesor tvářil, jako by měl osm jader. Ve skutečnosti šlo samozřejmě o čtyři fyzická jádra rozdělená virtuálně na dvě poloviny.

Optimální ze srovnávacího hlediska by byly například benchmarky SPEC nebo TPC, kde existuje rozsáhlá výsledková základna a lze tedy velmi snadn

o porovnávat různé servery. Ovšem cena licencí k těmto benchmarkům je vysoká (každý test se pohybuje řádově na úrovni ceny testovaného serveru), proto je třeba si vystačit si s jinými testy.

OpenSSL speed test

Tento test zjišťuje výpočetní výkon pro kryptografické algoritmy a je standardní součástí sady nástrojů OpenSSL, proto umožňuje snadnou reprodukovatelnost prakticky kdekoliv. Spočívá ve spuštění openssl speed. Ohledně porovnávání výsledků mezi testovanými stroji je určitý problém v tom, že mezi některými verzemi knihovny OpenSSL došlo k modifikaci (zrychlení) některých kryptografických funkcí a srovnání je tedy korektně možné jen za předpokladu použití stejné verze knihovny.

Není nutné testovat všechny algoritmy. Stačí zvolit některé z nich - typicky ty, které se v praxi často používají. Takovými jsou například algoritmy MD5, SHA256 a AES-256 CBC. Program měří pro dané algoritmy rychlost opakovaného zpracování dat různých velikostí (od 16 do 8192 B). Tato tabulka zachycuje naměřené hodnoty (jsou uvedeny v MB/s):

16 B

64 B

256 B

1024 B

8192 B

MD5

33,9

107,8

261,4

405,2

484,2

SHA256

20,2

47,6

82,3

101,4

108,6

AES-256 CBC

98,4

103,8

105,1

105,5

105,5

Pro účely srovnávání je třeba vzít v úvahu, že tento test zatíží jen jediné procesorové jádro. Zajímavý proto bude i test, kdy se toto měření spustí na všech jádrech. Dojde tedy k vytížení celého systému a projeví se i vliv přístupu ke sdíleným prostředkům. Hodnoty jsou aritmetickým průměrem procesů běžících na všech procesorových jádrech.

16 B

64 B

256 B

1024 B

8192 B

MD5

17,6

59,5

160,9

280,7

356,4

SHA256

10,4

22,9

38,8

46,9

49,9

AES-256 CBC

51,1

54,2

54,9

55,1

55,2

Výsledky z obou tabulek jsou pro větší názornost zobrazeny v následujícím grafu. Jak z tabulek, tak z grafu je vidět závislost výkonu na velikosti bloku dat a také to, jak klesne rychlost algoritmů na jednom jádře, když se zatíží všechna jádra. V zásadě klesá tato rychlost na polovinu, výjimkou je pouze algoritmus MD5, u něhož se s rostoucí velikostí bloku poměr zlepšuje.

OpenSSL speed test OpenSSL speed test

Zajímavé je porovnání s jinými stroji. Následující tabulka a graf ukazují hodnoty pro algoritmus AES-256 CRC - byť ne pro konkrétní servery, ale alespoň pro konkrétní procesory.

16 B

64 B

256 B

1024 B

8192 B

Testovaný server

98,4

103,8

105,1

105,5

105,5

Athlon 64 X2 2,2 GHz

76,1

78,8

80,6

81,1

81,2

Pentium 4 2,66 GHz

40,3

67,5

82

85,7

88,4

Xeon 5160 3 GHz

117,4

122,8

122,9

123,5

123,4

OpenSSL speed test, srovnání OpenSSL speed test, srovnání

Zpracování HTTP požadavků

Velmi častým úkolem serverů tohoto typu je role webového serveru. Server obsluhuje požadavky klientů, při větší zátěži i mnoho požadavků paralelně. Proto je žádoucí vědět, jak rychle je schopen požadavky obsluhovat a jak je tato obsluha škálovatelná (jaké dopady na výkon má zvětšování počtu souběžných požadavků).

Výkon silně záleží na tom, jaké požadavky server obsluhuje, zda je zapojen pouze HTTP server nebo ještě něco jiného a také zda není nějaké úzké hrdlo mimo server (typicky v rychlosti sítě). Následující test proběhne pro tři odlišné situace:

  1. Požadavky na obyčejný soubor o velikosti 1 B. Výkon spotřebovaný na vlastní přenos dat je tedy minimální, server je zatěžován prakticky jen režií požadavků a přístupů k souboru.

  2. Požadavky na obyčejný soubor o velikosti 10 MB. K režijní zátěži se přičítá ještě zátěž způsobená čtením a přenosem dat.

  3. Požadavky na PHP skript, který se připojí k lokálnímu databázovému serveru MySQL 5.0, vybere databázi, přečte z ní jeden řádek s řetězcem o velikosti 100 B (ten vypíše na výstup) a zase se odpojí. Zátěž spočívá ve veškeré režii požadavků, komunikaci s databází a režii databáze samé.

Jako HTTP server zde slouží Apache 2.2 s modulem PHP 5.2 ve výchozí konfiguraci. Pro každou situaci se vygeneruje sto tisíc požadavků, a to vždy 1, 10 a 100 souběžně. Výsledky jsou uvedeny v tabulce (vyřízené požadavky za sekundu):

1

10

100

Soubor 1 B

7017

12176

18714

Soubor 10 MiB

228

242

170

PHP + MySQL

1987

10024

8204

Zde ještě jednou totéž, ovšem v grafu v logaritmickém měřítku (ze zcela logických důvodů):

Zpracování HTTP požadavků Zpracování HTTP požadavků

Ve všech testovaných případech je při vyřizování deseti souběžných požadavků celkový výkon vyšší, než jsou požadavky vyřizovány sekvenčně po jednom. To je v souladu s předpokladem, že využití více procesorových jader povede k vyššímu výkonu. Při stu souběžných požadavcích však výkon roste (zhruba lineárně) jen pro požadavky na jednobajtový soubor, v ostatních případech klesá - více při využití PHP a databáze.

Co z toho vyplývá? Testovaných scénářů je samozřejmě velmi málo a pokrývají jen malou část reálných situací, ovšem určité závěry vyvodit lze. Pokud se bude server (s tímto operačním systémem a s HTTP serverem Apache 2.2) využívat pro přístup k malým statickým souborům, lze dosáhnout velmi slušné škálovatelnosti (další měření odhalí, že při dvou stech souběžných požadavcích jich server obslouží za sekundu 17370, při pěti stech to je 10097) s vrcholem výkonu někde okolo sta souběžných požadavků.

Pokračování příště

Příští týden se podíváme na na výkon diskového pole, energetické nároky, hlučnost serveru a teplotu. Nebude chybět ani celkové zhodnocení.

Diskuze (17) Nahoru