This document discusses scaling a social game to support millions of daily users. It summarizes strategies for:
1. Simulating large numbers of users to test the system using Tsung, which can simulate meaningful game sessions.
2. Collecting metrics on system performance from HAProxy and analyzing them using Python and R to understand performance at both the request level and for specific calls.
3. Digging deeper into slow calls by profiling with Erlang to optimize a Redis query, and benchmarking a Redis driver called Eredis using Basho Bench.
4. Measuring internal application performance in production using a homegrown system inspired by Basho Bench to generate latency statistics without overhead.