Vlad Fedorkov

Performance consulting for MySQL and Sphinx

Possible ways to improve performance if you feel affected by Spectre and Meltdown

If you are concerned by performance degradation caused by Spectre and Meltdown patches it might be a good idea to do a few checks that will boost back your MySQL performance:

- Check if your instance’s CPU are running with full power:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

if the output is


You may benefit from setting CPU speed to performance mode

for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance

Please refer to https://wiki.debian.org/HowTo/CpuFrequencyScaling and https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt for more details.

- Check if your MySQL instances are configured properly. Buffer pool should be big enough to keep all hot data, IO-related variables (innodb_flush_log_at_trx_commit, sync_binlogs, etc) are configured according your needs and not causing unnecessary load.

- Check that your queries are well optimized. One of the sings of bad queries is Select_scan variable in MySQL status. If it’s non-zero and counting you probably have some space for performance improvements.

- If you are running your infrastructure on the cloud and hit performance issues because of Spectre and Meltdown you may try optimize cost by checking for unused volumes, unusedĀ  or overprovisioned boxes and so win some budget for bussines-critical instance upgrade. Take a look on the billing plan. Do you see a places for optimizations? Some cloud providers are charging for cross availability zone traffic – could it be removed completely or optimized out?

Usually there are lot of places for performance improvements so don’t be afraid!