ab (Apache Benchmark) nefunguje

Michal Kubecek mike na mk-sys.cz
Středa Únor 15 13:10:40 CET 2006


On Wed, Feb 15, 2006 at 12:36:44PM +0100, Jan Kasprzak wrote:
> 	Ma nekdo podobnou zkusenost? Je ab nepouzitelny?

IMHO je problém v tom, že test chování serveru při vysokém počtu
paralelních klientských požadavků z jednoho počítače prostě nemůže dávat
realistické výsledky. Takže to beru spíše jako orientační nástroj.

Co se použití select() týká (skutečně se používá, stačí se podívat do
zdrojáků), to bych ab nevyčítal, protože když jsem si zkoušel provádět
vlastní testy, v případě, že klient nepotřebuje provádět žádné složité
operace k vytvoření requestu ani ke zpracování odpovědi, je na
jednoprocesorovém stroji select() resp. poll() optimální varianta. Stačí
si uvědomit, že vám stejně tak jako tak v danou chvíli běží jen jeden
proces nebo thread, takže rozdíl je pouze v tom, že ušetříte nějakou tu
režii na context switching. Pokud by testovací klient běžel na
víceprocesorovém stroji nebo pokud by vygenerování requestu či
zpracování odpovědi znamenalo netriviální práci procesoru, pak by bylo
výhodnější použít multithreading, ale to IMHO není případ programu ab.

							  Michal Kubeček



Další informace o konferenci Linux