Skip to content

Conversation

@mafredri
Copy link
Member

Previously we used ramdisk for embedded postgres on macOS and Windows
to improve test performance. This wastes memory since data ends up
cached twice: once in the ramdisk and again in postgres's own buffers.

Instead, we give postgres more memory and tune it more aggressively:

  • Increase shared_buffers to 2GB, effective_cache_size to 4GB
  • Minimal WAL level, infrequent checkpoints
  • Disable autovacuum, JIT, logging, stats tracking
  • OS-specific I/O settings

This gives postgres more memory to work with while simplifying CI setup.

@mafredri mafredri changed the title perf: optimize postgres on macOS/Windows for CI on, remove ramdisk perf: optimize postgres on macOS/Windows for CI, remove ramdisk Dec 11, 2025
@mafredri mafredri force-pushed the mafredri/ci-pg-no-ramdisk branch 3 times, most recently from 5ffcb9e to b00519e Compare December 11, 2025 17:33
Previously we used ramdisk for embedded postgres on macOS and Windows
to improve test performance. This wastes memory since data ends up
cached twice: once in the ramdisk and again in postgres's own buffers.

Instead, we give postgres more memory and tune it more aggressively:

- Increase shared_buffers to 2GB, effective_cache_size to 4GB
- Minimal WAL level, infrequent checkpoints
- Disable autovacuum, JIT, logging, stats tracking
- OS-specific I/O settings

This gives postgres more memory to work with while simplifying CI setup.
@mafredri mafredri force-pushed the mafredri/ci-pg-no-ramdisk branch from b00519e to 4cb8daf Compare December 11, 2025 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants