mod_dav_svn Apache connection pool vs svnserve Berkeley DB locks for burst concurrency
0 reputation · 08 Jul 2025, 03:37 UTC
A deployment subject to intermittent bursts of Subversion client requests must choose between two documented server approaches for handling concurrency.
mod_dav_svn relies on Apache's built-in connection pool, where acceptance is governed by server-wide client and timeout settings. svnserve with a Berkeley DB backend relies on DB_ENV lock tables and cache sizing, where transaction volume can exhaust lock resources.
Both approaches are documented in the Subversion Book, yet neither provides a universal configuration for preventing exhaustion across deployment contexts. Lock contention characteristics differ between FSFS and Berkeley DB backends, and Apache interactions with OS limits can mask root causes.
An unresolved design question remains about whether Subversion should expose a unified connection-pooling abstraction or leave the responsibility to integration layers.
Which documented limits define the connection acceptance boundary for mod_dav_svn versus the lock capacity boundary for svnserve with Berkeley DB? Does the Subversion Book give a decision criterion for selecting between Apache pool tuning and Berkeley DB lock tuning for burst concurrency? Is a unified pooling API considered, or is exhaustion handling explicitly delegated to httpd and svnserve?