3 ms·
> But I maintain it needs more independant testing, on good-old-not-cloud-server, especially databases Don't a lot of databases bypass the page cache for their
by notriddle 6y ago
> But I maintain it needs more independant testing, on good-old-not-cloud-server, especially databases
Don't a lot of databases bypass the page cache for their payload data anyhow?
- jeffbee 6y agoUniversally. The kernel's page cache is the very last thing that a database operator wants.
- yuzhao 6y agoI'm one of the Google engineers who work on multigenerational LRU. The kernel page cache doesn't know better than databases themselves when it comes to what to cache. All high performance databases do this in user space, and they use AIO with direct IO or the latest io_uring to bypass the kernel page cache. Modern cloud (distributed) file systems do the same, including GFS: https://en.wikipedia.org/wiki/Google_File_System https://en.wikipedia.org/wiki/Google_File_System And speaking of io_uring, check this out to see how much improvement when copying without going through page cache: https://wheybags.com/blog/wcp.html https://wheybags.com/blog/wcp.html
- jandrewrogers 6y agoYes. Bypassing the kernel cache is a major optimization used by virtually all databases that are serious about prioritizing performance. It won't add anything to the top end of database engine performance. However, there are plenty of databases that do not prioritize performance which could benefit, including most open source ones.
- ldng 6y agoIt is not as simple as that : https://www.pgcon.org/events/pgcon_2020/schedule/session/152-asynchronous-io-for-postgresql/ https://www.pgcon.org/events/pgcon_2020/schedule/session/152...