What is Phantom

Phantom is an open source Web server, proxy server and load generator, with a strong focus on high concurrency, performance and low memory usage. It is licensed under a LGPL-like license and it runs on Linux.

Features

Very accurate and predictable measurement

Test scenario is defined up to every millisecond and every byte send to test host

Low level data collected in simple format

Test plan and result both are plain-text files, which could be parsed with ever You want

Result consist of:

  • send/receive data size
  • rtt, connection, send, server-side processing and receive times for each request
  • networks error codes(errno) and application layer protocol specific codes, like HTTP status codes.

Distributed & Scalable - supports tens of thousands of concurrent requests

You can get ~40K HTTP rps from one Phantom instance(POSIX process) on one Linux box

Process are independent from each other

Extendable/Hackable

You can write Your own Phantom modules for custom protocols like SSL or put anything in plain-text protocols body.

Background

Authors

  • Evgeniy Mamchits

License

Open source licensed under the LGPL license.