No, jednoduse, nainstaluju na pocitac defaultni BSD a defaultni Linux a uvidi (videlo) se.
Respektive ten test co jsem delal se tykal WWW serveru. Takze slo ciste o vykonnost scheduleru a sitove vrstvy.
A priznam se, ze i u serveru na Linuxu zadne extra ladeni systemu nedelam, ladim pouze parametry toho serveru (na testovanych systemech byla pochopitelne konfigurace stejna).
Nebo se BSD da nejak specialne ladit pro WWW server?
Pochopitelne KAZDY takovy test je problematicky, protoze vzdy otestuje jen jeden konkretni druh zateze.
Provoz WWW serveru se dost vyrazne lisi napriklad od provozu FTP servery a ten zase od nejakeho bezpecnostniho reseni FW/NAT...
FreeBSD (a BSD vubec) umoznuji nastaveni velkeho mnozstvi parametru systemu, do kterych zacatecnik pravdepodobne po par dnech prace jen tak nepronikne (zvlaste, pokud nema v teto oblasti zkusenost ani ze sveho oblibeneho OS)
Jeden typicky priklad za vsechny: BSD implicitne dodrzuje podle doporuceni zpozdeni ACK na rozdil od Linuxu (alespon do verze 2.2). Explicitne se zpozdeni zakazovalo pres parametr socketu. Vysledek testovani zacatecniku byl jasny - Linux je na WWW rychlejsi. Coz, ale nebyla pravda. Stacila jedna radka a FreeBSD pekne poskocilo o radny kus pred Linux. A takovych prikladu je vice.
Testovani a ladeni systemu je opravdu pro odborniky (z obou OS).
No dobre, ale neodpovidate na moji otazku, jak to nastavit...
Z toho co bylo napsano vyse ("Explicitne se zpozdeni zakazovalo pres parametr socketu.") jsem pochopil, ze se jednalo o to zavolat na socket setsockopt(), coz by pochopitelne musel udelat Apache po vytvoreni toho socketu.
Toz jak to je?
Ale pochopil jste to dobre. Lze to i pres socket API. Hledejte setsockopt TCP_NODELAY.
Ale takovych "drobnustek" je docela dost. Nez se dostanete na konec, budete muset sahnout do konferenci a do zdrojovych kodu. A nakonec si stejne budete sebekriticky pokladat otazku co jste to vlastne zjistil/zmeril a na jake pripady lze vysledek aplikovat.
ja si nemuzu pomoct, ale mi neprijde zas tak zbytecne, mit srovnani jak se budou systemy chovat v defaultni konfiguraci. pokud Vas dobre chapu, tak musi mit clovek x let praxe, aby si smel dovolit nainstalovat server. vubec mam pocit ze vetsina reakci BSDckaru zde je jakousi preventivni sebeobranou, (resp. BSDobranou:), co kdyby nahodou BSD v necem vypadalo horsi. za to urcite bude moct ten amater. hned na zacatku bylo jasne napsane ze autor JE zacatecnik, a kdyz to tam je napsane, tak v takovem clanku nevidim problem, a kdyz se Vam to nelibi, tak to proste nectete, nebo jeste lepe, napiste clanek porovnani systemu, psano rukou uber BSD guru :). kritizovat umi kazdy.
Vubec netvrdim, ze musi mit clovek x let praxe. To zase trochu prehanite. Tvrdim, ze je treba mit potrebne znalosti obou srovnavanych veci.
Zkuste si polozit otazku k cemu je srovnani veci, ktere se v praxi nevyskytuji. Co bude vysledkem takoveho testu?
K cemu je testovani posledni stabilni verze Debiana tj verze 3, ktery standardne nainstaluje kernel 2.2 ackoli umoznuje i 2.4, oproti posledni stabilni verzi FreeBSD 4.9?
Je to skoda prace a casu autora.
FYI, v Linuxu existuje TCP_NODELAY take. A alespon ve 2.4 je Nagle take defaultne vypnuto. Ovsem dluzno rici, ze jsem nenasel moznost zapnout TCP_NODELAY globalne (formou sysctl ani jinak); mozna, ze ve 2.6 uz to jde, a je i mozne (lec neprilis pravdepodobne), ze to ve 2.4 jde take, a prehledl jsem to.
A ktery sheduler jste tedy zvolil? :)
FreeBSD ma mimo jine moznost zvolit sheduler. V konfiguraci jadra je
options SHED_xxx
defaultne myslim SHED_4BSD, ci co. Ja napr. pouzivam SHED_ULE, o kterem v /usr/src/UPDATING tvrdi, ze by mel byt pro bezne pouziti nejlepsi. Ne ze bych na svem desktopu poznal rozdil, ale ve vykonovych testech by se to mohlo odrazit.
Nicmene ted vazne :). Myslim, ze vetsi prinos bude , pokud bude dalsi clanek opravdu srovnani defaultnich nastaveni. Jinak byste musel opravdu dukladne nastudovat oba systemy a pravdepodobne by to pak nebylo na clanek, ale na knihu o 700 strankach (jak je dnes u pocitacove literatury zvykem).
No, ten dil byl uz napsany, ale rekl jsem si, ze jeste zkusim BSD drobet zoptimalizovat a dat tam jednak defaultni a jednak zoptimalizovane proti neoptimalizovanemu Linuxu. Vcera jsem si s tim trochu hral, dneska budu taky. Zda se, ze nejvetsim prinosem bylo prekompilovani kernelu pro dany procesor. Scheduler nemel vyraznejsi vliv, respektive se mi 4BSD zdal o neco malinko lepsi, tak jsem ho tam nechal.
P.S.: Technicka - da se kernel konfigurovat jeste jinak nez pres `vim /usr/src/sys/<arch>/conf/<CONFIG>`?
No, da se samozrejme pouzit libovolny editor ;), ale jestli mate na mysli spis neco, co vam pomuze s optionama a devicema, tak o nicem nevim. Bohuzel u FreeBSD 5.x uz neni kernelovy konfigurak LINT, ktery obsahoval skoro vsechny moznosti na vyladeni, a v soucasne dobe snad ani neni pro tuto versi moc presne zdokumentovano, co vsecko se da v kernelu vyladit. Cetl jsem nekde na FreeBSD.org, ze se na plne dokumentaci pracuje.
http://www.freebsd.org/news/status/report-oct-2003-dec-2003.html#Kernel-Tunables-Documentation-Project
> ystem kompilacie z portov je jedna
> z najuzasnejsich veci, kt. *BSD ma
No mne na ni z praktickeho hlediska prave nic uzasneho neprijde :-) (Z teoretickeho budiz.)
Respektive mne je vicemene putna, jestli se instaluje binarni balik nebo zdrojak. Ale neni mi uz putna, kdyz instalace trva pet minut pisto pul minuty. Samozrejme pokud je moznost instalovat binarky, je to OK (predpokladam, ze binarky jsou aktualizovane spolu se security-fixy ve zdrojacich portu).
Jenze ja mam (stale jeste :-) dojem, ze ten clanek (narozdil od JXD) neni kriticky - snazil jsem se pouze co mozna nejobjektivneji popsat instalacni proces z pohledu cloveka, ktery si chce FreeBSD vyzkouset.
Snazil jsem se co nejvic krotit v kritice a to i tam, kde IMHO slo o zjevne chyby - nenabidnuti instalace software, zatuh konfigurace, nepokracovani konfiguracniho programu po vytuhnuti...