drkp
Joined 10 years ago
Joined 10 years ago
Do you remember what conflict was causing things to fall over?
In general, the usual important parameters to tweak are:
- max_pred_locks_per_transaction may need to be increased; otherwise locks will switch to coarse granularity to save room in the lock table
- for tables that fit in memory, the planner may choose a sequential scan even when an index scan is available, which can be faster but creates more conflicts on a serializable workload. Increasing cpu_tuple_cost should avoid that (or even just enable_seqscan=off to force indexes whenever available)
The more recent "Viewstamped Replication Revisited" paper is probably my favorite introduction to consensus protocols and their use in a real system: http://pmg.csail.mit.edu/papers/vr-revisited.pdf
(I was one of the authors of SSI in Postgres)
https://drkp.net/
[ my public key: https://keybase.io/drkp; my proof: https://keybase.io/drkp/sigs/4hEB3x7opIOJe5g_egj89MqZYDIyPwh0sAS3jHGLBlk ]