Need help with gohttpbench?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

221 Stars 39 Forks MIT License 63 Commits 2 Opened issues


An ab-like benchmark tool run on multi-core cpu

Services available


Need anything else?

Contributors list

# 322,228
63 commits



an ab-like benchmark tool run on multi-core cpu


  1. install Go into your environment
  2. download and build Go-HttpBench
go get
go build -o gb


Usage: gb [options] http[s]://hostname[:port]/path
Options are:
  -A="": Add Basic WWW Authentication, the attributes are a colon separated username and password.
  -C=[]: Add cookie, eg. 'Apache=1234. (repeatable)
  -G=2: Number of CPU
  -H=[]: Add Arbitrary header line, eg. 'Accept-Encoding: gzip' Inserted after all normal header lines. (repeatable)
  -T="text/plain": Content-type header for POSTing, eg. 'application/x-www-form-urlencoded' Default is 'text/plain'
  -c=1: Number of multiple requests to make
  -h=false: Display usage information (this message)
  -i=false: Use HEAD instead of GET
  -k=false: Use HTTP KeepAlive feature
  -n=1: Number of requests to perform
  -p="": File containing data to POST. Remember also to set -T
  -r=false: Don't exit when errors
  -t=0: Seconds to max. wait for responses
  -u="": File containing data to PUT. Remember also to set -T
  -v=0: How much troubleshooting info to print
  -z=false: Use HTTP Gzip feature


$ gb -c 100 -n 100000 -k http://localhost/10k.dat

This is GoHttpBench, Version 0.1.9, Author: Brandon Chen, Email: [email protected] Licensed under the MIT license

Benchmarking localhost (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests

Server Software: nginx/1.2.6 (Ubuntu) Server Hostname: localhost Server Port: 80

Document Path: /10k.dat Document Length: 10240 bytes

Concurrency Level: 100 Time taken for tests: 5.36 seconds Complete requests: 100000 Failed requests: 0 HTML transferred: 1024000000 bytes Requests per second: 18652.41 [#/sec] (mean) Time per request: 5.361 [ms] (mean) Time per request: 0.054 [ms] (mean, across all concurrent requests) HTML Transfer rate: 186524.05 [Kbytes/sec] received

Connection Times (ms) min mean[+/-sd] median max Total: 0 0 3.03 4 32

Percentage of the requests served within a certain time (ms) 50% 4 66% 5 75% 6 80% 7 90% 8 95% 10 98% 12 99% 14 100% 32 (longest request)


Brandon Chen



This project is licensed under the MIT license

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.