Bombardier Versions Save

Fast cross-platform HTTP benchmarking tool written in Go

v1.2.6

1 year ago

Patch release

  • now bombardier uses Go's modules
  • new binaries for targets darwin-arm64 and windows-arm64
  • simplebenchserver now offers two modes:
    • default - uses fasthttp
    • std-http - uses net/http from standard library
  • GET requests are now allowed to have bodies
  • standard deviation computation applies Bessel's correction
  • various minor updates to docs
  • de-flaked some tests and moved to Semaphore CI 2.0

Special thanks

To all the contributors to this release (@RobertHenry6bev, @maurice2k) and the community for continued interest in the tool, bug reports and feature requests. I know it's been way too long since the last release, but I might be able to dedicate a little bit more time to maintenance now.

v1.2.5

3 years ago

Patch release

  • fixes an issue with argument parser reported in #52;
  • adds an option to disable keep-alive connections (contributed in #47 by @fulldump).

Other minor code quality improvements (contributed by @baiwfg2) and a new build script that uses Python. Binaries for ARM are now also available (#63).

v1.2.4

5 years ago

Patch release

  • fixes #46.

v1.2.3

5 years ago

Changes

Real-time QPS is now shown for tests with capped request count (#42). Returns line break which got lost during the introduction of user-defined templates (#45).

v1.2.2

5 years ago

Changes

Patch release that fixes a nasty little bug introduced recently (#43).

v1.2.1

5 years ago

Changes

Minor release which features a bunch of bug fixes.

  • now bombardier does not checks hostname plausibility when it shouldn't, thus allowing URLs like http://www-service/ (#39);
  • the correct way to set Host header with fasthttp have been pointed out by @nielsole (#41). This also fixes an old bug, previously deemed unresolvable (#17);
  • bug in fasthttp that haven't allowed some valid use cases has been fixed (see #38 for details).

v1.2

5 years ago

New in v1.2

  • --print and --no-print flags were implemented (as per #25). Read more about usage in GoDoc. In short, you can now choose what to output (a combination of (intro, progress and results) or nothing at all);
  • user-defined output templates. Thorough documentation can be found here. There are also two builtin templates, that you can look at as an example;
  • 95-th percentile were added by @salmonz (per suggestion from #28).

Other things

  • A bug reported in #27 were fixed;
  • It turned out (thanks to #32) that Go's net/http used chunked transfer encoding when it wasn't supposed to. This is now fixed.

Thanks

To all the people who shared links to this tool, wrote (blog)posts about it, reported bugs, sent PRs or otherwise contributed to this project. And even more praise goes to those who will continue to do so. :tada:

v1.1.2

6 years ago

New in v1.1.2

  • Not much really, just backported fix for the bug #27.

v1.1.1

6 years ago

New in v1.1.1

  • PATCH method (#22);
  • fixed typo in stats output (#23).

v1.1

6 years ago

New in v1.1

  • Rate limiting: Now you can limit RPS by specifying desired upper limit. This is done via --rate (short: -r) flag.
  • Switchable client: You can choose between fasthttp's and Go's default HTTP client. Relevant flags are: --fasthttpfasthttp's implementation of HTTP client (default) --http1 — Go's HTTP client with HTTP/2.x disabled --http2 — Go's HTTP client that will use HTTP/2.x, whether it's possible
  • Body from file: In some (most? many?) cases it's super inconvenient to paste request's body into the console, so now you can use --body-file (short: -f) flag to read it from file or add --stream (short: -s) flag to stream it from file system.
  • Stats implementation has been reworked. This allows use of higher values for --timeout (previously only 10s — max). Also, you can check out new implementation's repo in case you need a goroutine-safe histogram. It's a bit rough, but usable.

Spread the word

If you like the tool I've built (with a little bit of help from @husobee) or this release in particular, feel free to share information about it (via reddit/Twitter/<other social media> post or in private conversation with a friend, anything will do really) or submit bug/feature request or a pull request. This will help me better understand how people use my tool, what issues they are encountering and how we could improve things.