TAOBench is a benchmark based on Meta's social networking workload for distributed databases. Specifically, TAOBench captures the requests patterns of TAO, the social graph store at Meta. TAOBench can both accurately model production workloads and generate emergent application behavior at flexible scale.
TAOBench can be configured and used for many purposes depending on developer needs. The following are few examples of how the benchmark has been used.
Analyzing new workloads: TAOBench can be used to measure the performance of novel workloads, including ones that are difficult or infeasible to run in production. For example, this benchmark has been used at Meta to test new transactional workloads and was able to succesfully predict error rates that were later observed in production. It has also been used to quantify the impact of high fan-out transactions.
Assessing system reliability: TAOBench can reproduce workloads on demand to evaluate how a system performs under stressful scenarios (e.g., network delays, regional overload, and disaster recovery). At Meta, engineers used this benchmark to understand TAO performance and error rates when locks were held for extended periods of time.
Evaluating new features: TAOBench enables developers to test new features, optimizations, and more at flexible scale. System engineers at Meta leveraged this benchmark to measure how additional read-modify-write methods could increase the success rates of requests.
TAOBench's workloads, which are derived from Meta's production requests, have a number of interesting features. For details, check out our VLDB paper.