The DeathStarBench suite is an open-source application suite developed at Cornell University. It is built with microservices that are representative of real world, end-to-end, modular, extensible services.
The socialNetwork service is built using popular open-source applications commonly deployed by cloud application providers, such as NGINX, Memcached, MongoDB. The application is implemented with loosely coupled microservices, communicating with each other via Thrift RPCs and written in various languages including C/C++, Python and Lua scripting.
Users (clients) send requests over http, which first reach a load balancer. Once a specific webserver is selected, NGINX service uses a Lua module to talk to the microservices responsible for composing and displaying posts. The service’s backend uses Memcached/Redis for caching, and MongoDB for persistent storage for posts, profiles, media, and recommendations.
The DeathStarBench suite is packaged with a modified workload generator WRK2, which is based on WRK. WRK2 uses LuaJIT scripts to perform HTTP request generation, response processing, and custom reporting. The script used for testing is Compose Post which simulates clients connecting to the social network applicaiton. The suite composes posts that include text, media, and shortened URLs , which get compiled, saved and added to both home and user timelines.