A simple Memcached performance tuning can speed your application significantly. Before tuning, however, you need actionable data about your database’s current performance.
A database performance checklist before tuning could look like this:
By checking CPU, memory, and disk space metrics you make sure your Memcached processes have sufficient resources available.
CPU - Memcached will deliver better performance on faster CPUs. When monitoring virtual machines, also monitor the virtual host that the machines run on. Numbers like CPU ready time are of particular importance.
Page faults per seconds - Having thousands of page faults per second indicates that your hosts are out of memory.
Disk space - For an optimal Memcached performance make sure you have lots of disk space available on your hard drive.
Knowing which services access your Memcached is vital for finding database performance bottlenecks. If there is a single service that’s suffering from bad database response times, dig deeper into that service’s metrics to find out what’s causing the problem.
Take a deeper look into the service’s communication with the database and find out which commands affect the database performance the most.
Even if the way you query your database is perfectly fine, you may still experience inferior database performance. Make sure if your application’s database connection is correctly sized.
If a database performance issue suddenly appears, process level visibility comes in handy in identifying a failing component.
Dynatrace monitors and analyzes the activity of your Memcached databases across all platforms, providing visibility down to individual database statements.