You are probably all aware of the Meltdown and Spectre attacks [1] by
now. The solution adopted by many operating systems is called page
table isolation (e.g. KPTI on Linux) and it may have an impact on
performance.
The RabbitMQ team conducted a few tests on various workloads on Ubuntu
14.04 VMs on GCP to learn more about how the solution affects RabbitMQ.
The non-KPTI VM was running Linux 4.4.0-97 while the KPTI-enabled one
was running 4.4.0-109.
Depending on the workload, the throughput of KPTI-enabled deployment
can be reduced by up-to 10%, compared to a non-KPTI deployment. The
description of workloads and the files to reproduce them using BOSH and
CloudFoundry are available on GitHub [2].
The largest decrease of 10% was observed with a single RabbitMQ node
with 10 queues, 10 producers and 10 consumers on an 8-core VM. The
bottleneck of such a setup is the CPU. In other workloads where the
bottleneck is the disk the decrease is around 5%.
You can find attached a screenshot from our public workloads dashboard [3],
demonstrating the decrease (notice `-kpti` deployment names).
