Testy WWW serveru (Was: Linux vs. NT III. (o 266% rychlejsi, NT))

Jiri Novak xnovakj3 na cs.felk.cvut.cz
Úterý Červen 29 13:04:50 CEST 1999


Ahoj,

osobne mi to nedalo a dal jsem se do testu (tedy jiz asi pred pul rokem).
Postavil jsem proti sobe P150, 64MB RAM, IDE, PCI jako server
a P230,4MB RAM, IDE, PCI jako klienta. Klient je rychlejsi schvalne.
Testovaci prostor bylo neco kolem 150MB dat ve velikostech od 256B do 512kB
v triurovnove adresarove strukture. Testoval jsem NT4.0 Server, ServPack 3
a Linux RH 5.0, 1.2.x jadro.
Testoval jsem Netscape-Enterprise/3.6, Microsoft-IIS/4.0, Apache/1.3.4-NT
a Apache/1.3.3-Linux. Vse bezelo jako scripty, tj. lze opakovat. Jako klienta
jsem pouzil upraveny ab z Apache 1.3.4, zdrojak k dispozici. Bohuzel
jsem od te doby nemel cas vysledky zpracovat, takze vybyram jen to, co
mi prislo napadne.

(vysledky jsou v poradi IIS, NS, Ap-NT, Ap-Linux, pokud je N/A, test z nejakeho
 duvodu nedobehl, pro Ap-NT temer vse, nedockal jsem se; vysledky nemusi byt
 smerodatne, neoveroval jsem je, KA byl tentyz test s KeepAlive)
Bezelo nekolik sad testu, ktere sledovaly ruzne podle mne zajimave oblasti:
1) Cyklicky se cetl jeden soubor n-krat, meril jsem maximalni pocet pozadavku
   za vterinu, rostla velikost souboru od 256B do 512kB
   (516.93, 381.61, 164.87, 309.41) (KA 940.51, 915.96, 325.55, 569.40)
   Zaroven se merilo zatizeni serveru, pod NT byl stroj naprosto nepouztelny,
   pod Linuxem byl load kolem 3, ale nezdalo se, ze by to nejak skubalo
   (muj pocit)
2) Totez ale smycka bezela opacne, cely prostor se prochazel postupne soubor
   za souborem, ale n-krat. Mel to byt test, zda ma na vykon vliv cache disku
   a jak s tim prislusny OS zachazi. Vysledky priblizne tytez, mozna maly
   testovany prostor.
3) Rychlost generovani odpovedi na chybne URL.
   (471.48, 361.66, N/A, 269.98) (KA 946.97, 891.27, N/A, 455.37)
Dalsi testy byly na generovani stranek pomoci CGI a rychlost SSI.
Pri CGI jdou NT do kolen, v jednom pripade se proste na dve minuty odmlcely
a ani potom s nimi nebyla rozumna rec. Pricemz script spocival v davce BAT,
ktera vypsala hlavicku a 'Ahoj'.

Kazdy test se take simuloval pocet klientu (1 3 5 10 17 31 56 100 177 316),
ale uvadel jsem jen spickove hodnoty.
Podle cisel si udelejte obrazek sami, kompletni zaznamy z kazdeho dotazu
(pokud test dobehl) mam, ale nezpracovane :-(.
V testu (kdyz tak koukam na vysledky u sebe) se projevil dve zakladni veci:

1) Pokud jste pripojeni pomalou linkou, je jedno, co se pouziva.
   Pokud jde komunikace po lokalni siti 10Mb/s, propustnost site je v te
   chvili zhruba 800-900Kb/s a NT se saturuji na 58-60% pro ciste textove
   stranky (bez pristupu k DB, ASP, ...) ale server je naprosto nepouzitelny.
   U Linuxu jsem nic takoveho nezaznamenal.
   K tomu jeste poznamka, nedavno jsem si overoval, ze bezna stranka
   (prumer z celeho prostoru je neco mezi 2-4kB), nepocitaje obrazky.
   Pri KeepAlive jsem zmeril 2kB=(430,430,100,360) 4kB=(210,210,100,200).
   Pri 430 pozadavcich o delce 2kB se prenasi 860kB/s a pri 210 pozadavcich
   o delce 4kB se prenasi 840kB, coz je prakticky nasyceni site o rychlosti
   10Mb/s. Takze je jedno jak vykony server to je, pribrzdi ho pripojeni
   k siti.

2) V jadre NT je zrejme chyba v praci se siti. Behem testu si jadro zabira
   stale vice pameti pro sebe a neuvolnuje ji. Vysledkem bylo, ze po konci
   testu melo jadro alokovano neco pres 50% fyzicke pameti (pred testem asi
   20%) a bylo nutno pred dalsim testem restartovat. Nevzpamatovalo se to 
   ani po dvou hodinach klidu. Projevovalo se to jak u IIS tak i u NS,
   cili hadam na jadro.

Pozdeji jsem si zkousel test Apache pod Linuxem s 2.2.x jadrem a vyrazejsi
posun jsem nezaznamenal.

Osobne si myslim, ze bych rad testy nekdy zopakoval, protoze nastroje jsem
ladil postupne, neco padalo, nekdy jsem nezaznamenal dulezity cas, ...

                                               Jirka Novak

P.S. Cely zaznam je na http://www.sh.cvut.cz/~novakji/www-test/www-test.tgz,
zadne dalsi veci tam nejsou. Balik je to, co jsem nameril bez uprav, bez 
komentare.


Další informace o konferenci Linux