While writing our TCP stream reassembly and MySQL protocol reverse-engineering algorithms, a few finer points of the MySQL protocol and internals came up. None of this is new information, but…
CPUs are running faster now than ever before, solid-state drives are replacing spinning disks, and database servers have terabytes of RAM. Because these resources are plentiful and increasingly affordable, it can seem tempting to solve database performance issues with hardware. But consider this example: if CPU utilization shoots up to 90% on one of your servers and stays at that level for a day or two, is the problem lack of CPU power or something else?