High CPU and Low Database Throughput
This post examines the reason why many relational DBMS servers show very high CPU utilization without completing much work. The discussion applies to transactional database workloads running on Oracle, SQL Server, MySQL, and PostgreSQL. A friend asked why his database server's CPUs were constantly maxed out while not really getting much work done. In fact, users were complaining about the time it takes to complete simple transactions. My friend was worried the only solution was to move the database to a bigger and more expensive server with more CPUs. He were particularly worried about escalating DBMS licensing fees. Most DBMS are licensed by CPU count. Moving to a bigger server means buying more licenses. And once you go up, DBMS vendors are very reluctant to let you reduce licenses. This is a common concern for commercial DBMS customers. For open source customers it is a different problem: there is no software license t...