MZBench - Distributed Load Testing the Erlang Way
Tutorial: MZBench - Performance Load Test the Erlang Way

Vibhav Garg
Performance Enthusiast

One of the main challenges facing todayÍs applications is delivering real time performance at scale. Mobile games like Game of War scale to millions of users while delivering real time performance characteristics. Such applications are also built on a distributed architecture platform, where the application stack consists of multiple services that use multiple languages / protocols. In order to ensure the scalability and performance of our services, we have developed a benchmarking tool called MZBench. The design philosophy of MZBench is built around the principles that are fundamental to the continuous delivery of code changes in high traffic, critical environments, including but not limited to ---Rapid development and running of repeatable test scenarios ---Integration with Continuous Delivery systems ---Deployment to cloud environments MZBench comes with a powerful and extensible Erlang based DSL that is used to describe these test scenarios. The DSL can be easily extended by writing custom Erlang code. MZ-Bench allows users to specify statistical distributions like Poisson process for the input and can scale from a few requests/sec to millions of requests/second

Talk objectives:

The objectives of this talk are to demonstrate the usability, scalability and performance of MZBench and how Erlang helps us achieve those goals. We will also compare and contrast the MZ-Bench feature set with current tools like Tsung and Basho Bench.

Target audience:

Anybody who is interested in large scale load testing of their applications.


MZBench is a high performance, scalable and distributed performance load testing tool. At MachineZone we use MZBench to performance test our games and services by creating many thousands of connections and running millions of requests per sec. This tutorial will demonstrate how to run load tests using MZBench. This will include installation of MZBench,  writing workers and scripts, execution, data collection and analysis.

Target audience:

- This tutorial will benefit anyone interested running large scale load tests on their systems.

Vibhav has over 14 years of experience developing and working with distributed systems. In the last 5 years he has focused on measuring and solving performance problems on large scale distributed systems at Orbitz, Salesforce,Twitter and now at MachineZone. My current interests involving performance of distributed systems and solving capacity related problems using statistical techniques.

Twitter: @ativilambit

Back to conference page