I'm trying to setup a postgres server using Ceph as storage. After taking benchmarks, it was obvious that even though the storage has a really good throughput, the higher latency brought by network and Ceph (~15ms vs <0.1ms for a normal SSD storage) creates a huge bottleneck.
A setting of
fsync = off improves performance tremendously, but of course, is not a viable solution since it may create data corruptions in case of power outage, etc. There is also
wal_sync_method, but even though changing it improves TPM a bit, its effect are negligible.
How can I configure the Postgres or change the design of my system (e.g. using different storage for WAL and data) to improve performance?