PostgreSQL Scalability: Towards Millions TPS

PostgreSQL scalability on multicore and multisocket machines became a subject of optimization long time ago once such machines became widely used. This blog post shows brief history of vertical scalability improvements between versions 8.0 and 8.4. PostgreSQL 9.2 had very noticeable scalability improvement. Thanks to fast path locking and other optimizations it becomes possible to achieve more than 350 000 TPS in select-only pgbench test. The latest stable release PostgreSQL 9.5 also contain significant scalability advancements including LWLock improvement which allows achieving about 400 000 TPS in select-only pgbench test.

 

.. It’s HP ProLiant DL580 Gen9 with 3 TB of RAM.

.. It was 100% CPU on each core. Waiting on bus is still reported as CPU busy. Thus, we can’t say it’s not memory bandwidth limited.
I expect slightly higher numbers with clients on network, because pgbench consumes some resources itself. But those numbers could be achieved with higher number of clients due to network latency.