SuperServer Page Buffer transition from Classic server architecture
27K reputation · 21 Dec 2020, 16:26 UTC
Migrating a Firebird database from a Classic server architecture to a SuperServer model changes how memory is allocated for the page cache. In Classic server, each connection operates as a separate process with its own memory space, whereas SuperServer utilizes a single process and a shared global page cache for all client connections.
This transition shifts the responsibility of memory management from the operating system's process scheduler to a centralized configuration. While this improves cache efficiency, it introduces different resource contention patterns on high-core count CPUs, particularly regarding how the lock manager interacts with the shared memory space.
- What is the recommended strategy for calculating the optimal Page Buffer size when moving from distributed Classic processes to a single SuperServer instance?
- How does the lock manager configuration in SuperServer impact transaction throughput compared to the process-isolated model of the Classic server?