Posts

Showing posts from October, 2024

How to run MySQL with text in huge pages

I have been documenting why MySQL gets slower (in some cases) from version 5.6 to 8.0. One of the causes is more cache and TLB activity, especially misses. I have tried huge pages for data and it helps a bit, but doesn't solve the problem - see here and here . But it comes at cost in usability. Here I explain how to use huge pages for text (the code of mysqld). I have work in progress to share more details about the changes in cache and TLB activity over time from MySQL 5.6 to 8.0. tl;dr - using huge pages for text ... improved throughput by up to 9% but a typical improvement was ~5%. This is nice but iTLB activity is obviously not the only problem. comes at a cost in usability Another interesting result is that QPS with gcc was ~3% better than with clang. I am curious if this will repeat on other CPUs, as the result here is from my smallest small server. Education Documentation for this is worse than the docs that exist for using huge pages with data. I used: this description of