Start » History » Revision 3
Revision 2 (icy, 2009-09-12 10:49) → Revision 3/10 (darix, 2010-08-25 00:59)
h1. weighttp h2. About @weighttp@ (pronounced @weighty@) is a lightweight and small benchmarking tool for webservers. It was designed to be very fast and easy to use and only supports a tiny fraction of the HTTP protocol in order to be lean and simple. @weighttp@ supports multithreading to make good use of modern CPUs with multiple cores as well as asynchronous i/o for concurrent requests within a single thread. For event handling, weighty relies on "libev":http://software.schmorp.de/pkg/libev.html which fits the design perfectly, being lightweight and fast itself. Thanks to that, weighty supports all modern high-performance event interfaces like epoll or kqueue, that the major OSs provide. h2. Deployment h3. Obtaining Use "git":http://git-scm.com/ to fetch the latest source: <pre> $ git clone git://git.lighttpd.net/weighttp </pre> or download a .tar.gz from http://cgit.lighttpd.net/weighttp/snapshot/weighttp-master.tar.gz h3. Bulding Use "waf":http://code.google.com/p/waf/ (included, needs python) to build: <pre> $ ./waf configure $ ./waf build </pre> See ./waf --help for available configure options and other commands available. Alternatively, you can just use gcc directly too (but you will have to (un)install it manually: <pre> $ gcc -g2 -O2 -lev -lpthread src/*.c -o weighttp -lev -lpthread </pre> h3. Installing Depending on your configure arguments, you might need root to (un)install. <pre> $ ./waf install </pre> h3. Removing <pre> $ ./waf uninstall </pre> h2. Usage @weighttp@ uses similar commandline arguments as @apache bench@ (ab): <pre> weighttp <options> <url> -n num number of requests (mandatory) -t num threadcount (default: 1) -c num concurrent clients (default: 1) -k keep alive (default: no) -h show help and exit -v show version and exit </pre>