Skip to content

virtuozzo/httpress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

httpress

High performance HTTP server stress & benchmark utility.

Inspired by weighttp tool.

Originally written by yarosla at Bitbucket and modified by Parallels Performance Team.

Main features:

  • event driven (low memory footprint, large number of connections)
  • multi-threaded (uses all cores of your CPU)
  • SSL support (via GNUTLS library) with cipher suite selection

Compared to weighttp, httpress offers the following improvements:

  • evenly distributes load between threads; does not allow one thread to finish much earlier than others
  • promptly timeouts stucked connections, forces all hanging connections to close after the main run, does not allow hanging or interrupted connections to affect the measurement
  • SSL support

Usage

httpress <options> <url>
  -n num   number of requests     (default: 1)
  -t num   number of threads      (default: 1)
  -c num   concurrent connections (default: 1)
  -k       keep alive             (default: no)
  -z pri   GNUTLS cipher priority (default: NORMAL)
  -h       show this help

example: httpress -n 10000 -c 100 -t 4 -k http://localhost:8080/index.html

Dependencies

Building from source

  1. Prerequisite (your distro might have these in repo; otherwise build from source):
  2. libev 4 library
  3. http-parser 2 library
  4. LibParserUtils 0.2.0 library
  5. uchardet library
  6. SSL prerequisite: GnuTLS 3.0 library (better build from source)
  7. Download httpress source
  8. Run make or make -f Makefile.nossl
  9. Collect executable from bin subdirectory

About

High performance HTTP server stress & benchmark utility

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published