Connection pooling in Vitess
Mar 27, 2023Harshit Gangal

Summary
This post details the evolution of Vitess's connection pooling. It explains the benefits of application-level connection pooling (performance, scalability, traffic shaping) and its limitations. It then describes how Vitess, through Vttablet, addressed these limitations by centralizing connection management. The post further elaborates on the challenges introduced by ORMs requiring `SET` statements, leading to 'reserved connections' that bypass pooling. It outlines two techniques to mitigate the impact of reserved connections and introduces the 'settings pool' in Vitess 15 as a solution to handle modified connections without compromising pooling benefits.