Project

General

Profile

Start » History » Revision 2

Revision 1 (icy, 2009-09-11 11:44) → Revision 2/10 (icy, 2009-09-12 10:49)

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 
 </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>