Buffer pool
La caché propia de la base de datos con las páginas de datos en RAM. Casi todo el ajuste de rendimiento consiste, en el fondo, en lograr que las páginas correctas se queden ahí en lugar de tener que ir a buscarlas al disco.
Las lecturas siempre pasan por el pool: si falta una página necesaria, se lee y se expulsa otra según una política de tipo LRU. Las escrituras tocan la página en memoria, que con ello queda «sucia» (dirty), y solo llegan al disco más tarde, en un checkpoint — la durabilidad mientras tanto la garantiza el registro de escritura anticipada (WAL). En MySQL el parámetro es innodb_buffer_pool_size y la regla general es alrededor del 70 por ciento de la memoria del servidor; PostgreSQL llama a su equivalente shared_buffers, pero se apoya a propósito también en la caché de páginas del sistema operativo y por eso se configura más bajo. El número que hay que vigilar es la tasa de acierto: qué fracción de las lecturas no tuvo que tocar el disco en absoluto.