mirror of
https://github.com/postgres/postgres.git
synced 2025-06-25 01:02:05 +03:00
Increase default vacuum_buffer_usage_limit to 2MB.
The BAS_VACUUM ring size has been 256kB since commitd526575f
introduced the mechanism 17 years ago. Commit1cbbee03
recently made it configurable but retained the traditional default. The correct default size has been debated for years, but 256kB is certainly very small. VACUUM soon needs to write back data it dirtied only 32 blocks ago, which usually requires flushing the WAL. New experiments in prefetching pages for VACUUM exacerbated the problem by crashing into dirty data even sooner. Let's make the default 2MB. That's 1.6% of the default toy buffer pool size, and 0.2% of 1GB, which would be a considered a small shared_buffers setting for a real system these days. Users are still free to set the GUC to a different value. Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/20240403221257.md4gfki3z75cdyf6%40awork3.anarazel.de Discussion: https://postgr.es/m/CA%2BhUKGLY4Q4ZY4f1rvnFtv6%2BPkjNf8MejdPkcju3Qii9DYqqcQ%40mail.gmail.com
This commit is contained in:
@ -2275,7 +2275,7 @@ struct config_int ConfigureNamesInt[] =
|
||||
GUC_UNIT_KB
|
||||
},
|
||||
&VacuumBufferUsageLimit,
|
||||
256, 0, MAX_BAS_VAC_RING_SIZE_KB,
|
||||
2048, 0, MAX_BAS_VAC_RING_SIZE_KB,
|
||||
check_vacuum_buffer_usage_limit, NULL, NULL
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user