Twitter open sources its Iago load generator
Twitter has announced that its Iago load generator is now available as open source. Chris Aniszczyk, Open Source Manager at Twitter, says that the micro-blogging company created Iago because existing open source and commercial load generators couldn't provide all of the capabilities it required.
Written in Scala, Iago is used by Twitter for testing its services to make sure that they can handle production-level traffic. The load generator itself has three main properties that make it well suited to Twitter's requirements: high performance, multi-protocol support and extensibility.
The developers say that, to reach high levels of performance, the load generator needed to be able to perform and generate traffic "in a very precise and predictable way". Support for multiple protocols such as HTTP, Thrift and UDP was also important, as was being able to extend Iago so that it can generate new traffic types, use new protocols and customise individual traffic sources.
"Iago is the load generator we always wished we had. Now that we've built it, we want to share it with others who might need it to solve similar problems," said Aniszczyk, adding that, "we are happy to accept any feedback (or pull requests) the open source community might have."
More details about Iago, including download links and documentation, can be found on the project's GitHub page. Like many of Twitter's other open source projects, Iago is made available under the Apache Licence 2.0. The load generator has its own Twitter account, @iagoloadgen, and a Google Group, where information about the project will be posted and questions can be asked.