• Algorithms • Is the algorithm efficient? • How often does my code access the database? (SLOW!) • Am I using the right tools to get the job done? • Sessions MySQL vs. Redis vs. File • Search/Catalog using MySQL vs. Elastic • Queues in MySQL table vs. RabbitMQ 2016-‐04-‐13 | Robin Müller |@_RobM
message queue and consumers to handle all tasks which can be async • Examples • Send emails • Sync data to other systems • Each task can be scaled individually 2016-‐04-‐13 | Robin Müller |@_RobM
• innodb_buffer_pool_size • innodb_file_per_table • innodb_buffer_pool_instances • innodb_flush_method • Use the MySQL query cache • Also think about how your application affects the query cache 2016-‐04-‐13 | Robin Müller |@_RobM
• Packet loss • Memory • Is there enough memory or does the system swap? • I/O • Is my application I/O heavy? • Can I optimize that? • SSD vs. HDD 2016-‐04-‐13 | Robin Müller |@_RobM