Database connection pool in microservice architecture / Nur Ayuni Nor Sobri ...[et al.] - Nor Sobri, Nur Ayuni; Abas, Mohamad Aqib Haqmi; Mohd Yassin, Ahmad Ihsan; Megat Ali, Megat Syahirul Amin; Md Tahir, Nooritawati; Zabidi, Azlee (UiTM Press, 2022)
The increase and growing number of users in the internet gives a higher requirement to backend application systems nowadays to be designed to handle thousands of users traffic concurrently. Microservice architecture is also in a rising trend which they allow for each service to scale horizontally by their throughput and load helps to scale the system efficiently without waste of resources like in the traditional monolithic application system. Database connection pool helps for backend systems to access databases efficiently. The present issue is determining the optimal number of database connections to use in a microservice based backend system. This paper aims to find the most suitable amount of database connections in a microservice setting, where multiple instances of the service are used for scalability and high availability purposes of the system. The experiment was conducted by varying the number of database connections from one to five to ten in both single instance and three instance services, where the service being examined is the backend system's roles and permissions service. The results of this experiment indicate that five database connections provide the best performance latency result in a microservice architecture with three service instances. With 2000 requests per second, the maximum latency was 53ms, while the 99th percentile latency was 19ms. The study contributes by determining the optimal size of a database connection pool for use in a microservice architecture with several instances of the service are operating concurrently.