How KakaoPay Improved Online Payment Service Performance by 2.5x
Key point
KakaoPay reduced DB load and improved payment performance by 2.5x to prepare for the surge in traffic during Pepero Day.
Details
KakaoPay's online payment service experiences 3-5 times higher traffic than usual every year during major events like Pepero Day. This year, due to factors such as the addition of 11st payment, the mission was to withstand a total of 300 TPS, which required more than 2x performance improvement compared to before.
The main causes of performance degradation were a spike in DB CPU usage due to excessive QPS(Query Per Second) and long Transaction length. In particular, read queries accounted for 98% of the total, placing a heavy burden on the DB.
To solve this, the following improvements were made:
- Payment status lookup using Redis: The Check API, which checks payment status, was changed to check status through Redis instead of querying the DB directly, reducing DB load.
- Entity-based caching: Limited caching was applied to key entities using Spring CacheManager.
However, in this process, technical challenges arose, such as data consistency being broken due to concurrency issues between @Cacheable and @CachePut.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.