Percona Live 2017 Open Source Database Conference

April 24 - 27, 2017

Santa Clara, California

Understanding the queues your query waits in

Understanding the queues your query waits in

 27 April - 1:50 PM - 2:40 PM @ Ballroom B
Experience level: 
Intermediate
Duration: 
50 minutes conference
Tracks:
Operations
Wildcard
Topics:
Optimization
Tools and Techniques
Fundamentals

Description

Queues are essential to software systems, present everywhere from MySQL to RollerCoaster Tycoon. Understanding these queues is key to achieving consistently high performance. In this session, we will consider many of queues involved in servicing database queries, and some of the queueing theory we can use to optimize them. Using examples from MySQL and Cassandra, the session will examine the layers of a database system from network to compute to storage, and learn about the queues involved in each layer. We will discuss utilities for monitoring queueing at all layers, including the infamous load average and the hard-to-parse iostat. Finally, we will explore the multi-tenancy inherent in every database system, focusing on the interaction between latency-critical processes like queries and batch processes like log writeback, compaction, and backup. Using our knowledge of queueing, we will develop a detailed understanding of tools for managing the performance of all of these tasks.

Speakers

Josh Snyder's picture

Josh Snyder

Site Reliability Engineer, Fitbit

Biography:

Josh is a Database Engineer at Fitbit. A veteran infrastructurer, he has been known to work on everything from load-balancers to deployment to metrics collection. His biggest focus is stateful services, including datastores of both the SQL (MySQL, Postgres) and NoSQL (Cassandra, Consul) variety. Recently he’s been spending a lot of time with Cassandra: scaling, monitoring, and automating Fitbit’s clusters. Strike up a conversation with him about methods for securing Postgres authentication, restoring backups extremely quickly, or providing a consistent view of a replicated MySQL cluster.

Share this talk