Towards One MILLION SQL Queries Per Second

Performance Optimization
14 April 4:50PM - 5:15PM @ Ballroom A

Experience level: 
25 minutes conference

Rate This Session

Over the past 10+ years, MySQL has been dragged kicking and screaming into the multi-core world and is still the most widely used open source database. Ten years ago, MySQL AB's own benchark whitepapers were boasting of HUNDREDS of transactions per second. In 2001, what would become MySQL Cluster, on a 72 CPU system, could get 1 million reads per second using the NoSQL C++ NDBAPI. In 2013, the current stable release (MySQL 5.6) could get 350,000 queries per second on a 32 core system with the current development release (MySQL 5.7) reaching an astounding 500,000 SQL queries/sec. Joining IBM at the start of 2014, it was only a matter of time before someone found out about my (not so) secret life of 10 years knee deep in MySQL internals. This is the tale of scaling MySQL throughout the years and scaling MySQL on the new POWER8 processor. - Whare are global mutexes and what can you do about them? - Do atomic variables solve all of your problems? - How do you deal with NUMA? - What tools exist to find bottlenecks and find out why you can't get any more performance out of a system with 42% idle CPU? - and can you *really* get to 1 million SQL queries per second on a dual socket system?


Linux Kernel Developer, IBM
Stewart currently works for IBM in the Linux Technology Center on KVM on POWER and OPAL (the OpenPower Abstraction Layer) firmware, giving him a job that is even harder to explain to non-Linux geek people than ever before. Previously he worked for Percona as Director of Server Development where he oversaw development of many of Percona’s software products. He comes from many years experience in databases and free and open source software development including MySQL, MySQL Cluster and being one of the founding Drizzle developers. He’s often found hacking on free software, taking photos, running, brewing beer and cycling (yes, all at the same time).