Introduction to Troubleshooting Performance What Affects Query Execution? Sveta Smirnova Principal Support Engineer April, 7, 2016
|
|
- Evan Houston
- 5 years ago
- Views:
Transcription
1 Introduction to Troubleshooting Performance What Affects Query Execution? Sveta Smirnova Principal Support Engineer April, 7, 2016
2 Terms of conditions The query Controlling optimizer Concurrency Hardware MySQL Options Table of Contents 2
3 Terms of conditions 3
4 Slow is relative Mind your data 1,000,000 rows 1 row Mind use case Popular website Admin interface Weekly cron job Mind location Server, used my multiple connections Dedicated for OLAP queries 4
5 Is MySQL the weak link? MySQL can run together with other applications top -b -n 1 head -n 20 top - 12:31:58 up 7 days, 16:54, 6 users, load average: 1,04... Tasks: 292 total, 1 running, 290 sleeping, 1 stopped, 0 zombie %Cpu(s): 18,6 us, 3,3 sy, 0,1 ni, 76,7 id, 1,3 wa, 0,0 hi... KiB Mem: total, used, free, buffers KiB Swap: 0 total, 0 used, 0 free cached PID USER NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND sveta S 104,1 0,6 0:24.75 mysqld sveta ,136g S 26,0 13,9 487:03.82 firefox 5
6 Is MySQL the weak link? MySQL can run together with other applications Query can run fast, but application can be slow if ($result = $mysqli->query($query)) { - Database finished its job! while ($row = $result->fetch_row()) { $handle = fopen( my_file.txt ); fputs($handle, $row); fclose($handle); }
7 Is MySQL the weak link? MySQL can run together with other applications Query can run fast, but application can be slow How to find if MySQL is a weak link? <app code> $start_time = microtime(true); $result = $mysqli->query($query); - Running query $end_time = microtime(true); print("query took ". ($end_time - $start_time). " microseconds"); 5
8 What affects performance? Query Concurrency Hardware MySQL configuration 6
9 The query 7
10 Heart of the application You communicate with database using queries Even if you use NoSQL interface They are not SQL queries, but still queries Data, which you request, matters 1,000,000,000 rows 1 row 8
11 Troubleshooting vs performance tuning Query can use bad practice SELECT * FROM many columns table Table can be defined in weird way No normalization Dozens columns like Characteristic N Troubleshooting has to live with these There can be good reasons Legacy application De-normalization to speed up SELECTs Usually with price of more locking and slow updates You name it 9
12 Query execution workflow Query sent Connection Pool: Authentication, Caches; SQL interface; Parser Optimizer Storage engines Hardware 10
13 Controlling optimizer 11
14 Pre-requisites Find queries to optimize While designing application In slow query log In Performance Schema mysql> select sql_text, (timer_end - timer_start)/ as time \ -> from events_statements_history_long \ -> where (timer_end - timer_start) > 4* \ -> and event_name= statement/sql/select \G *************************** 1. row *************************** sql_text: select count(*) from titles join employees using (emp_no) wh time: rows in set (0.01 sec) 12
15 Pre-requisites Find queries to optimize While designing application In slow query log In Performance Schema In sys schema statement analysis statements with full table scans statements with runtimes in 95th percentile statements with sorting statements with temp tables statements with errors or warnings 12
16 Pre-requisites Find queries to optimize Make sure they are sane SELECT COUNT(*) FROM huge_table LEFT JOIN other_table USING(id) \ LEFT JOIN another_table USING(id) \ LEFT JOIN one_more_table USING(id) \ LEFT JOIN and_yet_more_table USING(id) WHERE another_field = foo ; vs SELECT COUNT(*) FROM huge_table WHERE another_field = foo ; Or you really need them 12
17 MySQL Indexes B-Tree (Mostly) Fractal Tree R-Tree (Spatial) Hash (Memory SE) Engine-dependent d001 d003 d008 d009 d003****** d009****** d008****** d009****** d001****** d003****** d009****** d008****** d009****** d001****** d008****** d008****** d001****** 13
18 SHOW INDEX Controlling indexes Displays index statistics as seen by optimizer Most important filed is Cardinality Should be equal to number of distinct values ANALYZE Up to 10 % difference is OK Updates index statistics Recommended to use together with InnoDB persistent statistics 14
19 Use case: Is statistic actual? mysql> show index from sbtest1; Table Key_name Column_name Cardinality sbtest1 PRIMARY id sbtest1 k_1 k mysql> select count(distinct id), count(distinct k) from sbtest1; count(distinct id) count(distinct k) row in set (0,58 sec) 15
20 Estimates: EXPLAIN Tables, for which information is printed Length of the key Additional information Number of select Possible keys Number of examined rows mysql> explain extended select * from t1 join t2 where t1.int_key=1; id select_type table type possible_keys key key_len ref rows f... Extra SIMPLE t1 ref int_key,ik int_key 5 const NULL 1 SIMPLE t2 index NULL pk 9 NULL Using inde Product of rows here: how many rows in all tables will be accessed Using join bu Table, for which information is printed For this example estimated value is 4*6 = 24 (Block Nested % of filtered rows 2 rows in set, 1 warning (0.00 sec) Select type Key, which was actually used rows x filtered / 100 number of rows, which will be joined with another table How data is accessed Which columns were compared with the index Note (Code 1003): /* select#1 */ select test. t1. pk AS pk, test. t1. int_key AS int_key, test AS pk, test. t2. int_key AS int_key from test. t1 join test. t2 where ( test. t1. int_key Actual (optimized) query as executed by MySQL Server 16
21 EXTENDED EXPLAIN extensions mysql> explain extended select * from t1 join t2 where t1.int_key=1;... mysql> SHOW WARNINGS; Note (Code 1003): /* select#1 */ select test. t1. pk AS pk, test. t1. int_key AS int_key, test. t2. pk AS pk, test. t2. int_key AS int_key from test. t1 join test. t2 where ( test. t1. int_key = 1) PARTITIONS FORMAT=JSON 17
22 EXTENDED PARTITIONS EXPLAIN extensions mysql> explain partitions select , account_id from users -> where = and account_id=896; id select_type table partitions type possible_keys SIMPLE users p0 const idx_ _account_id row in set (0,03 sec) FORMAT=JSON 17
23 EXPLAIN extensions EXTENDED PARTITIONS FORMAT=JSON mysql> EXPLAIN FORMAT=JSON SELECT user, host FROM mysql.user\g *************************** 1. row *************************** EXPLAIN: { "used_key_parts": [ "query_block": { "Host", "select_id": 1, "User" "table": { ], "table_name": "user", "key_length": "228", "access_type": "index", "rows": 8, "key": "PRIMARY", "filtered": 100, "using_index": true } } } 17
24 Actual execution Status variables Handler % mysql> select count(*) from employees join titles using(emp_no)... *************************** 1. row *************************** count(*): row in set (3.24 sec) mysql> SHOW STATUS LIKE Handler_read_% ; Variable_name Value Handler_read_first 1 Handler_read_key Handler_read_last 0 Handler_read_next
25 Actual execution Status variables Handler % INFORMATION SCHEMA.OPTIMIZER TRACE join preparation, join optimization, join execution considered execution plans, refine plan, more PERFORMANCE SCHEMA.EVENTS STATEMENTS * PERFORMANCE SCHEMA.EVENTS STAGES * ANALYZE statement - MariaDB only! 18
26 Actual execution Status variables Handler % INFORMATION SCHEMA.OPTIMIZER TRACE PERFORMANCE SCHEMA.EVENTS STATEMENTS * events statements * and prepared statements instances: important fields CREATED TMP DISK TABLES CREATED TMP TABLES SELECT FULL JOIN SELECT RANGE CHECK SELECT SCAN SORT MERGE PASSES SORT SCAN PERFORMANCE SCHEMA.EVENTS STAGES * ANALYZE statement - MariaDB only! 18
27 Actual execution Status variables Handler % INFORMATION SCHEMA.OPTIMIZER TRACE PERFORMANCE SCHEMA.EVENTS STATEMENTS * PERFORMANCE SCHEMA.EVENTS STAGES * EVENT NAME LIKE stage/sql/%tmp% stage/sql/%lock% stage/%/waiting for% stage/sql/end stage/sql/freeing items stage/sql/sending data stage/sql/cleaning up stage/sql/closing tables ANALYZE statement - MariaDB only! 18
28 Actual execution Status variables Handler % INFORMATION SCHEMA.OPTIMIZER TRACE PERFORMANCE SCHEMA.EVENTS STATEMENTS * PERFORMANCE SCHEMA.EVENTS STAGES * ANALYZE statement - MariaDB only! Two new columns r rows - actual number of read rows r filtered - actual number of filtered rows 18
29 Concurrency 19
30 Common concurrency issues Query or transaction waits a lock, held by another one Fight for system resources Symptoms Many processes are waiting You see query in the slow log, but it runs fast if single-thread environment Query execution time varies 20
31 Lock types and transactions Lock types Levels MDL Table-level Row-level What do they lock Read locks Block writes Write locks Block reads and writes Transactions Server-level MDL locks Table locks Engine-level Table locks Row locks AUTOCOMMIT supported 21
32 Locks diagnostic Table-level PROCESSLIST: Waiting for table lock P S.TABLE HANDLES Row-level InnoDB monitors SHOW ENGINE INNODB STATUS Tables in INFORMATION SCHEMA P S.EVENTS TRANSACTIONS Option innodb print all deadlocks MDL PROCESSLIST: Waiting for metadata lock P S.METADATA LOCKS 22
33 Hardware 23
34 What affects MySQL Performance? RAM CPU IO (Disk) Ntework 24
35 Common issues with hardware Too high resource usage MySQL is swapping Disk IO is near the limit of its capacity Network bandwidth is too small More Too low resource usage Single CPU core used on 24 cores system Memory usage is low while disk IO is high due to temporary tables More 25
36 OS-level tools Tools to work with hardware Performance Schema Little support in 5.5 More in 5.6 Even more in 5.7 Engine status Limited 26
37 Tools to work with hardware For true sysadmins Consult Brendan D. Gregg s Linux Performance webpage Image License: Attribution-ShareAlike
38 Tools to work with hardware For true sysadmins Consult Brendan D. Gregg s Linux Performance webpage Necessary minimum Following slides pt-stalk For automatization To provide for Percona Support for future analysis Does not use Performance Schema! 27
39 Memory What uses memory in MySQL Buffers Temporary tables Internal structures - out of user control! OS did not show memory as freed yet? 28
40 free top vmstat Investigation Memory diagnostic before 5.7 Total size of buffers Number of temporary tables Number of parallel connections There was no way to know how exactly memory was allocated 29
41 Memory diagnostic in 5.7 mysql> select thread_id tid, user, current_allocated ca, total_allocated -> from sys.memory_by_thread_by_current_bytes; tid user ca total_allocated sql/main 2.53 GiB 2.69 GiB 150 root@ MiB MiB 146 sql/slave_sql 1.31 MiB 1.44 MiB 145 sql/slave_io 1.08 MiB 2.79 MiB... 4 innodb/io_log_thread bytes KiB 72 innodb/io_write_thread bytes 1.10 MiB rows in set (2.65 sec) 30
42 Disk diagnostics df iostat ls -l /proc/{pid OF MYSQLD}/fd InnoDB status performance schema.table io waits % sys.io % 31
43 Disk diagnostics InnoDB status mysql> show engine innodb status\g FILE I/O I/O thread 0 state: waiting for i/o request (insert buffer thread) I/O thread 1 state: waiting for i/o request (log thread) I/O thread 2 state: waiting for i/o request (read thread) I/O thread 5 state: waiting for i/o request (write thread) Pending normal aio reads: [0, 0], aio writes: [0, 0], ibuf aio reads:, log i/o s:, sync i/o s: Pending flushes (fsync) log: 0; buffer pool: OS file reads, 102 OS file writes, 17 OS fsyncs reads/s, avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
44 Disk diagnostics InnoDB status ROW OPERATIONS queries inside InnoDB, 0 queries in queue 0 read views open inside InnoDB Process ID=26676, Main thread ID= , state: sleeping Number of rows inserted 19, updated 0, deleted 0, read inserts/s, 0.00 updates/s, 0.00 deletes/s, reads/s 31
45 Disk diagnostics mysql> select OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME \ -> from table_io_waits_summary_by_index_usage where COUNT_STAR=0; OBJECT_SCHEMA OBJECT_NAME INDEX_NAME employees departments PRIMARY employees departments dept_name employees dept_emp PRIMARY employees dept_emp emp_no employees dept_emp dept_no employees dept_manager PRIMARY employees dept_manager emp_no
46 Disk diagnostics sys.io % mysql> select event_name, count_read, total_read, total_requested \ -> from io_global_by_wait_by_bytes; event_name count_read total_read total_requested innodb/innodb_data_file MiB MiB sql/binlog MiB MiB sql/io_cache MiB MiB sql/frm KiB KiB innodb/innodb_log_file KiB KiB sql/errmsg KiB KiB
47 Disk diagnostics sys.io % Other useful views host summary by file io host summary by file io type io by thread by latency io global by file by [bytes latency] - Per-file io global by file by latency io global by wait by [bytes latency] latest file io - Latest IO operations user summary by file io user summary by file io type 31
48 CPU diagnostics top %Cpu(s): 15.2 us, 2.7 sy, 1.8 ni, 79.4 id, 0.9 wa, 0.0 hi, 0.0 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND sveta S :43.73 mysqld iostat -x avg-cpu: %user %nice %system %iowait %steal %idle ps sveta@thinkie> ps -eo pid,user,comm,pcpu,pmem,vsz grep mysqld sveta mysqld sveta mysqld
49 CPU: problem solving Low load Is your mysqld really active? Check OS limits ulimit User and global options Increase concurrency-related options innodb thread concurrency innodb read io threads innodb write io threads Max (2 X (number of CPU cores))! High load Move job to memory: increase buffers Tune queries 33
50 Network: what is worth attention? Stability Bandwidth Speed RTT ping -c 2 PING ( ) 56(84) bytes of data. 64 bytes from ( ): icmp_seq=1 ttl=54 time 64 bytes from ( ): icmp_seq=2 ttl=54 time ping statistics packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = / / /0.524 ms 34
51 Network:diagnostics log-warnings=2 Send huge file (1G or larger) tcpdump P S.accounts, hosts, users P S.host cache 35
52 P S.accounts, hosts, users Network:diagnostics mysql> select user, host, current_connections as cur, \ -> total_connections as total from accounts; user host cur total foo localhost 0 3 root localhost 1 3 NULL NULL rows in set (0.01 sec) 35
53 Network:diagnostics P S.host cache mysql> select IP, HOST, SUM_CONNECT_ERRORS, COUNT_NAMEINFO_PERMANENT_ERROR -> COUNT_PROXY_USER_ERRORS, COUNT_DEFAULT_DATABASE_ERRORS, \ -> FIRST_SEEN, LAST_SEEN from host_cache\g ************************ 1. row ************************ IP: HOST: foo.bar.com SUM_CONNECT_ERRORS: 1 COUNT_NAMEINFO_PERMANENT_ERRORS: 0 COUNT_PROXY_USER_ERRORS: 0 COUNT_DEFAULT_DATABASE_ERRORS: 1 FIRST_SEEN: :29:45 LAST_SEEN: :32:
54 MySQL Options 36
55 Types of options Not directly affecting performance Which locks to set innodb locks unsafe for binlog When to flush to disk innodb flush log at trx commit Directly affecting performance Concurrency-related innodb thread concurrency Memory buffers innodb buffer pool size 37
56 System variables and options: scope Global Control parameters, necessary for all server processes Location of server files: datadir etc. Shared buffers More Session Control connection-specific parameters MySQL option tables - direct link 38
57 Buffers: when allocated Those which control behavior of whole server Once at server startup Can start with low values, then grow to specified Connection options For every connection when connection opens Operation-specific For every operation when needed Can be allocated more than once per query 39
58 System variables: control before 5.7 SHOW [GLOBAL] STATUS Tables in Information Schema GLOBAL,SESSION VARIABLES GLOBAL,SESSION STATUS GLOBAL Since server start SESSION For operations in current session Can be reset FLUSH STATUS 40
59 System variables: control in 5.7 Performance Schema tables variabes by* user variables by* status by* Statistics grouped by Global Session Thread Account/Host/User 41
60 System variables: best practices Record currently used variables SHOW [GLOBAL] VARIABLES Make change dynamically if possible SET [GLOBAL] var name=new VAL Test in one session first Then change global variable Change configuration file after you are happy with results 42
61 When affecting option is not known Record currently used variables SHOW [GLOBAL] VARIABLES Start mysqld with option no-defaults This option must be first one! Check if problem is solved Change variable values one-by-one until you find one which leads to the problem 43
62 Summary 44
63 Summary Performance affected by 4 main factors Query Concurrency Hardware Configuration Study all of them Iterate while troubleshooting 45
64 Summary Performance affected by 4 main factors Query Optimize! Concurrency Hardware Configuration Study all of them Iterate while troubleshooting 45
65 Summary Performance affected by 4 main factors Query Concurrency Remove conflicts! Hardware Configuration Study all of them Iterate while troubleshooting 45
66 Summary Performance affected by 4 main factors Query Concurrency Hardware Find bottlenecks! Configuration Study all of them Iterate while troubleshooting 45
67 Summary Performance affected by 4 main factors Query Concurrency Hardware Configuration Mind the options! Study all of them Iterate while troubleshooting 45
68 More information MySQL Troubleshooting book High Performance MySQL book Planet MySQL Percona Data Performance Blog MySQL User Reference Manual Bug trackers EXPLAIN FORMAT=JSON is Cool! series 46
69 Percona Live Data Performance Conference April in Santa Clara, CA at the Santa Clara Convention Center Register with code WebinarPL to receive 15% off at registration MongoDB, MySQL, NoSQL, Data in the Cloud
70 Place for your questions??? 48
71 Thank you!
Troubleshooting Slow Queries. Sveta Smirnova Principal Support Engineer April, 28, 2016
Troubleshooting Slow Queries Sveta Smirnova Principal Support Engineer April, 28, 2016 Table of Contents Before we start What affects query execution EXPLAIN: how to find out how optimizer works Data matters:
More informationMySQL Query Tuning 101. Sveta Smirnova, Alexander Rubin April, 16, 2015
MySQL Query Tuning 101 Sveta Smirnova, Alexander Rubin April, 16, 2015 Agenda 2 Introduction: where to find slow queries Indexes: why and how do they work All about EXPLAIN More tools Where to find more
More informationMySQL Performance Troubleshooting
MySQL Performance Troubleshooting Best Practices Francisco Bordenave - Architect, Percona Agenda Who am I? Introduction Identifying the source of problem We know where the problem is, now what? Best practices
More informationPerformance Schema for MySQL Troubleshooting. April, 25, 2017 Sveta Smirnova
Performance Schema for MySQL Troubleshooting April, 25, 2017 Sveta Smirnova Sveta Smirnova 2 MySQL Support engineer Author of MySQL Troubleshooting JSON UDF functions FILTER clause for MySQL Speaker Percona
More informationCopyright 2014, Oracle and/or its affiliates. All rights reserved.
Basic MySQL Troubleshooting for Oracle DBAs Sveta Smirnova Senior Principal Technical Support Engineer MySQL Support September 29, 2014 Safe Harbor Statement The following is intended to outline our general
More informationEffective Testing for Live Applications. March, 29, 2018 Sveta Smirnova
Effective Testing for Live Applications March, 29, 2018 Sveta Smirnova Table of Contents Sometimes You Have to Test on Production Wrong Data SELECT Returns Nonsense Wrong Data in the Database Performance
More informationTroubleshooting Locking Issues. Sveta Smirnova Principal Technical Services Engineer May, 12, 2016
Troubleshooting Locking Issues Sveta Smirnova Principal Technical Services Engineer May, 12, 2016 Table of Contents Introduction How to diagnose MDL locks Possible fixes and best practices How to diagnose
More informationMySQL Performance Schema in Action. April, 23, 2018 Sveta Smirnova, Alexander Rubin
MySQL Performance Schema in Action April, 23, 2018 Sveta Smirnova, Alexander Rubin Table of Contents Performance Schema Configuration 5.6+: Statements Instrumentation 5.7+: Prepared Statements 5.7+: Stored
More informationMySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona
MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking
More informationMySQL 5.6: Advantages in a Nutshell. Peter Zaitsev, CEO, Percona Percona Technical Webinars March 6, 2013
MySQL 5.6: Advantages in a Nutshell Peter Zaitsev, CEO, Percona Percona Technical Webinars March 6, 2013 About Presentation Brief Overview Birds eye view of features coming in 5.6 Mainly documentation
More informationPerformance Schema. for MySQL Troubleshooting. March, 1, 2018 Sveta Smirnova
Performance Schema for MySQL Troubleshooting March, 1, 2018 Sveta Smirnova Table of Contents Overview and Configuration Statements Memory Usage Locks Diagnostics Variables and Status Errors Summary Connection
More informationMySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018
MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona Percona Technical Webinars 9 May 2018 Few words about Percona Monitoring and Management (PMM) 100% Free, Open Source
More information<Insert Picture Here> Looking at Performance - What s new in MySQL Workbench 6.2
Looking at Performance - What s new in MySQL Workbench 6.2 Mario Beck MySQL Sales Consulting Manager EMEA The following is intended to outline our general product direction. It is
More informationTroubleshooting Best Practices
Troubleshooting Best Practices Monitoring the Production Database Without Killing Performance June, 27, 2018 Sveta Smirnova Table of Contents Introduction: Between Desire and Reality Why Monitoring is
More informationIntroduction to troubleshooting Basic techniques. Sveta Smirnova Principal Support Engineer March, 10, 2016
Introduction to troubleshooting Basic techniques Sveta Smirnova Principal Support Engineer March, 10, 2016 Table of Contents Introduction How to find problematic query Solving issues Syntax errors Logic
More informationOracle 1Z MySQL 5.6 Database Administrator. Download Full Version :
Oracle 1Z0-883 MySQL 5.6 Database Administrator Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-883 D. The mysqld binary was not compiled with SSL support. E. The server s SSL certificate
More informationMySQL Database Scalability
MySQL Database Scalability Nextcloud Conference 2016 TU Berlin Oli Sennhauser Senior MySQL Consultant at FromDual GmbH oli.sennhauser@fromdual.com 1 / 14 About FromDual GmbH Support Consulting remote-dba
More informationTired of MySQL Making You Wait? Alexander Rubin, Principal Consultant, Percona Janis Griffin, Database Evangelist, SolarWinds
Tired of MySQL Making You Wait? Alexander Rubin, Principal Consultant, Percona Janis Griffin, Database Evangelist, SolarWinds Who Am I? Senior DBA / Performance Evangelist for Solarwinds Janis.Griffin@solarwinds.com
More informationOptimizing Queries with EXPLAIN
Optimizing Queries with EXPLAIN Sheeri Cabral Senior Database Administrator Twitter: @sheeri What is EXPLAIN? SQL Extension Just put it at the beginning of your statement Can also use DESC or DESCRIBE
More informationAdvanced query optimization techniques on large queries. Peter Boros Percona Webinar
Advanced query optimization techniques on large queries Peter Boros Percona Webinar Agenda Showing the title slide Going through this agenda Prerequisites Case study #1 Case study #2 Case study #3 Case
More informationLoad Testing Tools. for Troubleshooting MySQL Concurrency Issues. May, 23, 2018 Sveta Smirnova
Load Testing Tools for Troubleshooting MySQL Concurrency Issues May, 23, 2018 Sveta Smirnova Introduction This is very personal webinar No intended use No best practices No QA-specific tools Real life
More informationPostgreSQL to MySQL A DBA's Perspective. Patrick
PostgreSQL to MySQL A DBA's Perspective Patrick King @mr_mustash Yelp s Mission Connecting people with great local businesses. My Database Experience Started using Postgres 7 years ago Postgres 8.4 (released
More informationOKC MySQL Users Group
OKC MySQL Users Group OKC MySQL Discuss topics about MySQL and related open source RDBMS Discuss complementary topics (big data, NoSQL, etc) Help to grow the local ecosystem through meetups and events
More informationOptimizing BOINC project databases
Optimizing BOINC project databases Oliver Bock Max Planck Institute for Gravitational Physics Hannover, Germany 5th Pan-Galactic BOINC Workshop Catalan Academy of Letters, Sciences and Humanities Barcelona,
More informationSQL Query Patterns, Optimized
SQL Query Patterns, Optimized Bill Karwin Percona University 2013 Identify queries. How Do We Optimize? Measure optimization plan and performance. EXPLAIN SHOW SESSION STATUS SHOW PROFILES Add indexes
More informationMySQL Performance Tuning
MySQL Performance Tuning Student Guide D61820GC30 Edition 3.0 January 2017 D89524 Learn more from Oracle University at education.oracle.com Authors Mark Lewin Jeremy Smyth Technical Contributors and Reviewers
More informationCovering indexes. Stéphane Combaudon - SQLI
Covering indexes Stéphane Combaudon - SQLI Indexing basics Data structure intended to speed up SELECTs Similar to an index in a book Overhead for every write Usually negligeable / speed up for SELECT Possibility
More informationPERFORMANCE_SCHEMA and sys schema. What can we do with it?
PERFORMANCE_SCHEMA and sys schema What can we do with it? FOSDEM 2016, January 30 th, Brussels Oli Sennhauser Senior MySQL Consultant at FromDual GmbH oli.sennhauser@fromdual.com 1 / 32 About FromDual
More informationChecking Resource Usage in Fedora (Linux)
Lab 5C Checking Resource Usage in Fedora (Linux) Objective In this exercise, the student will learn how to check the resources on a Fedora system. This lab covers the following commands: df du top Equipment
More informationPractical MySQL indexing guidelines
Practical MySQL indexing guidelines Percona Live October 24th-25th, 2011 London, UK Stéphane Combaudon stephane.combaudon@dailymotion.com Agenda Introduction Bad indexes & performance drops Guidelines
More informationPreventing and Resolving MySQL Downtime. Jervin Real, Michael Coburn Percona
Preventing and Resolving MySQL Downtime Jervin Real, Michael Coburn Percona About Us Jervin Real, Technical Services Manager Engineer Engineering Engineers APAC Michael Coburn, Principal Technical Account
More informationInnoDB: Status, Architecture, and Latest Enhancements
InnoDB: Status, Architecture, and Latest Enhancements O'Reilly MySQL Conference, April 14, 2011 Inaam Rana, Oracle John Russell, Oracle Bios Inaam Rana (InnoDB / MySQL / Oracle) Crash recovery speedup
More informationWriting High Performance SQL Statements. Tim Sharp July 14, 2014
Writing High Performance SQL Statements Tim Sharp July 14, 2014 Introduction Tim Sharp Technical Account Manager Percona since 2013 16 years working with Databases Optimum SQL Performance Schema Indices
More informationMySQL Performance Schema in Action. November, 5, 2018 Sveta Smirnova, Alexander Rubin with Nickolay Ihalainen
MySQL Performance Schema in Action November, 5, 2018 Sveta Smirnova, Alexander Rubin with Nickolay Ihalainen Table of Contents Internal Diagnostic in MySQL Configuration 5.6+: Statements Instrumentation
More informationWhen and How to Take Advantage of New Optimizer Features in MySQL 5.6. Øystein Grøvlen Senior Principal Software Engineer, MySQL Oracle
When and How to Take Advantage of New Optimizer Features in MySQL 5.6 Øystein Grøvlen Senior Principal Software Engineer, MySQL Oracle Program Agenda Improvements for disk-bound queries Subquery improvements
More informationState of MariaDB. Igor Babaev Notice: MySQL is a registered trademark of Sun Microsystems, Inc.
State of MariaDB Igor Babaev igor@askmonty.org New features in MariaDB 5.2 New engines: OQGRAPH, SphinxSE Virtual columns Extended User Statistics Segmented MyISAM key cache Pluggable Authentication Storage-engine-specific
More informationIT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:
IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including: 1. IT Cost Containment 84 topics 2. Cloud Computing Readiness 225
More informationPerformance Tuning of the Network Performance Server in Network Node Manager i December 8, 2016
Performance Tuning of the Network Performance Server in Network Node Manager i December 8, 2016 Brought to you by Vivit Network Management SIG Leaders Wendy Wheeler Chris Powers Hosted By Wendy Wheeler
More informationMySQL Performance Tuning 101
MySQL Performance Tuning 101 Hands-on-Lab Mirko Ortensi Senior Support Engineer MySQL Support @ Oracle October 3, 2017 Copyright 2017, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement
More informationResolving and Preventing MySQL Downtime
Resolving and Preventing MySQL Downtime Common MySQL service impacting challenges, resolutions and prevention. Jervin Real Jervin Real Technical Services Manager APAC Engineer Engineering Engineers 2 What
More informationAdvanced MySQL Query Tuning
Advanced MySQL Query Tuning Alexander Rubin July 21, 2013 About Me My name is Alexander Rubin Working with MySQL for over 10 years Started at MySQL AB, then Sun Microsystems, then Oracle (MySQL Consulting)
More informationMySQL 5.7 For Operational DBAs an Introduction. Peter Zaitsev, CEO, Percona February 16, 2016 Percona Technical Webinars
MySQL 5.7 For Operational DBAs an Introduction Peter Zaitsev, CEO, Percona February 16, 2016 Percona Technical Webinars MySQL 5.7 is Great! A lot of Worthy Changes for Developers and DBAs 2 What Developers
More informationIntroduction to MySQL NDB Cluster. Yves Trudeau Ph. D. Percona Live DC/January 2012
Introduction to MySQL NDB Cluster Yves Trudeau Ph. D. Percona Live DC/January 2012 Agenda What is NDB Cluster? How MySQL uses NDB Cluster Good use cases Bad use cases Example of tuning What is NDB cluster?
More informationWhy Choose Percona Server For MySQL? Tyler Duzan
Why Choose Percona Server For MySQL? Tyler Duzan Product Manager Who Am I? My name is Tyler Duzan Formerly an operations engineer for more than 12 years focused on security and automation Now a Product
More informationMySQL Query Patterns, Optimized
MySQL Query Patterns, Optimized Bill Karwin, Percona Welcome Everybody! Bill Karwin Senior Knowledge Manager in Percona Support Joined Percona in 2010 Percona offers MySQL services Consulting Support for
More informationHow to Fulfill the Potential of InnoDB's Performance and Scalability
How to Fulfill the Potential of InnoDB's Performance and Scalability MySQL Conference & Expo 21 Yasufumi Kinoshita Senior Performance Engineer Percona Inc. MySQLPerformanceBlog.com -2- About me... http://mysqlperformanceblog.com
More informationMySQL Performance Optimization
P R A C T I C A L MySQL Performance Optimization A hands-on, business-case-driven guide to understanding MySQL query parameter tuning and database performance optimization. With the increasing importance
More informationLecture 19 Query Processing Part 1
CMSC 461, Database Management Systems Spring 2018 Lecture 19 Query Processing Part 1 These slides are based on Database System Concepts 6 th edition book (whereas some quotes and figures are used from
More informationQuery Optimizer MySQL vs. PostgreSQL
Percona Live, Santa Clara (USA), 24 April 2018 Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH
More informationAvoiding Common (but Deadly) MySQL Operations Mistakes
Avoiding Common (but Deadly) MySQL Operations Mistakes Bill Karwin bill.karwin@percona.com Bill Karwin Percona Live 2013 MySQL Operations Mistakes MYSTERY CONFIGURATION Who Changed the Config? Database
More informationPerformance improvements in MySQL 5.5
Performance improvements in MySQL 5.5 Percona Live Feb 16, 2011 San Francisco, CA By Peter Zaitsev Percona Inc -2- Performance and Scalability Talk about Performance, Scalability, Diagnostics in MySQL
More informationIndexes - What You Need to Know
Indexes - What You Need to Know http://www.percona.com/training/ 2011-2017 Percona, Inc. 1 / 53 Indexes - Need to Know QUERY PLANNING 2011-2017 Percona, Inc. 2 / 53 About This Chapter The number one goal
More informationOptimizer Standof. MySQL 5.6 vs MariaDB 5.5. Peter Zaitsev, Ovais Tariq Percona Inc April 18, 2012
Optimizer Standof MySQL 5.6 vs MariaDB 5.5 Peter Zaitsev, Ovais Tariq Percona Inc April 18, 2012 Thank you Ovais Tariq Ovais Did a lot of heavy lifing for this presentation He could not come to talk together
More informationMaximizing SQL reviews with pt-query-digest
PALOMINODB OPERATIONAL EXCELLENCE FOR DATABASES Maximizing SQL reviews with pt-query-digest Mark Filipi www.palominodb.com What is pt-query-digest Analyzes MySQL queries from slow, general and binary log
More informationCPSC 457 OPERATING SYSTEMS MIDTERM EXAM
CPSC 457 OPERATING SYSTEMS MIDTERM EXAM Department of Computer Science University of Calgary Professor: Carey Williamson March 9, 2010 This is a CLOSED BOOK exam. Textbooks, notes, laptops, calculators,
More informationAPACHE TROUBLESHOOTING. Or, what to do when your vhost won t behave
APACHE TROUBLESHOOTING Or, what to do when your vhost won t behave ABOUT THE CLASS 24 hours over three days Very Short Lecture and Lots of Labs Hours: 8:30am - 5:00pm Lunch: 11:45am - 1:00pm ABOUT THE
More information<Insert Picture Here> MySQL Cluster What are we working on
MySQL Cluster What are we working on Mario Beck Principal Consultant The following is intended to outline our general product direction. It is intended for information purposes only,
More informationSwitching to Innodb from MyISAM. Matt Yonkovit Percona
Switching to Innodb from MyISAM Matt Yonkovit Percona -2- DIAMOND SPONSORSHIPS THANK YOU TO OUR DIAMOND SPONSORS www.percona.com -3- Who We Are Who I am Matt Yonkovit Principal Architect Veteran of MySQL/SUN/Percona
More informationQuery Optimization, part 2: query plans in practice
Query Optimization, part 2: query plans in practice CS634 Lecture 13 Slides by E. O Neil based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Working with the Oracle query optimizer First
More informationQuery Optimization Percona, Inc. 1 / 74
Query Optimization http://www.percona.com/training/ 2011-2017 Percona, Inc. 1 / 74 Table of Contents 1. Query Planning 3. Composite Indexes 2. Explaining the EXPLAIN 4. Kitchen Sink 2011-2017 Percona,
More informationMYSQL TROUBLESHOOTING. Or, what to do when MySQL starts throwing a fit
MYSQL TROUBLESHOOTING Or, what to do when MySQL starts throwing a fit ABOUT THE CLASS 24 hours over three days Very Short Lecture and Lots of Labs Hours: 8:30am - 5:00pm Lunch: 11:45am - 1:00pm ABOUT THE
More informationWhat is MariaDB 5.5? w: e: Daniel Bartholomew Oct 2012
What is MariaDB 5.5? Daniel Bartholomew Oct 2012 Abstract MariaDB 5.5 is the current stable, generally available (GA) release of MariaDB. It builds upon and includes several major new features and changes
More informationTokuDB vs RocksDB. What to choose between two write-optimized DB engines supported by Percona. George O. Lorch III Vlad Lesin
TokuDB vs RocksDB What to choose between two write-optimized DB engines supported by Percona George O. Lorch III Vlad Lesin What to compare? Amplification Write amplification Read amplification Space amplification
More informationSystem Characteristics
System Characteristics Performance is influenced by characteristics of the system hosting the database server, for example: - Disk input/output (I/O) speed. - Amount of memory available. - Processor speed.
More informationJens Bollmann. Welcome! Performance 101 for Small Web Apps. Principal consultant and trainer within the Professional Services group at SkySQL Ab.
Welcome! Jens Bollmann jens@skysql.com Principal consultant and trainer within the Professional Services group at SkySQL Ab. Who is SkySQL Ab? SkySQL Ab is the alternative source for software, services
More informationDelegates must have a working knowledge of MariaDB or MySQL Database Administration.
MariaDB Performance & Tuning SA-MARDBAPT MariaDB Performance & Tuning Course Overview This MariaDB Performance & Tuning course is designed for Database Administrators who wish to monitor and tune the performance
More information1Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12
1 Insert Information Protection Policy Classification from Slide 12 Getting Started with MySQL Santo Leto Principal Technical Support Engineer, MySQL Jesper Wisborg Krogh Principal Technical Support Engineer,
More informationWhat's new in MySQL 5.5? Performance/Scale Unleashed
What's new in MySQL 5.5? Performance/Scale Unleashed Mikael Ronström Senior MySQL Architect The preceding is intended to outline our general product direction. It is intended for
More informationMastering the art of indexing
Mastering the art of indexing Yoshinori Matsunobu Lead of MySQL Professional Services APAC Sun Microsystems Yoshinori.Matsunobu@sun.com 1 Table of contents Speeding up Selects B+TREE index structure Index
More informationScaleArc Performance Benchmarking with sysbench
MySQL Performance Blog ScaleArc Performance Benchmarking with sysbench Peter Boros, 2014 1/31 Author: Peter Boros Revision: 2.0 Date: Mar 28, 2014 Customer: ScaleArc Contents 1 Executive Summary 3 2 About
More informationJyotheswar Kuricheti
Jyotheswar Kuricheti 1 Agenda: 1. Performance Tuning Overview 2. Identify Bottlenecks 3. Optimizing at different levels : Target Source Mapping Session System 2 3 Performance Tuning Overview: 4 What is
More informationInnodb Performance Optimization
Innodb Performance Optimization Most important practices Peter Zaitsev CEO Percona Technical Webinars December 20 th, 2017 1 About this Presentation Innodb Architecture and Performance Optimization 3h
More informationAdvanced MySQL Query Tuning
Advanced MySQL Query Tuning Alexander Rubin August 6, 2014 About Me My name is Alexander Rubin Working with MySQL for over 10 years Started at MySQL AB, then Sun Microsystems, then Oracle (MySQL Consulting)
More informationWhat s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering. Copyright 2015, Oracle and/or its affiliates. All rights reserved.
What s New in MySQL 5.7 Geir Høydalsvik, Sr. Director, MySQL Engineering Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes
More informationMySQL 5.1 Past, Present and Future MySQL UC 2006 Santa Clara, CA
MySQL 5.1 Past, Present and Future jan@mysql.com MySQL UC 2006 Santa Clara, CA Abstract Last year at the same place MySQL presented the 5.0 release introducing Stored Procedures, Views and Triggers to
More informationPercona Live September 21-23, 2015 Mövenpick Hotel Amsterdam
Percona Live 2015 September 21-23, 2015 Mövenpick Hotel Amsterdam TokuDB internals Percona team, Vlad Lesin, Sveta Smirnova Slides plan Introduction in Fractal Trees and TokuDB Files Block files Fractal
More informationMySQL 101. Designing effective schema for InnoDB. Yves Trudeau April 2015
MySQL 101 Designing effective schema for InnoDB Yves Trudeau April 2015 About myself : Yves Trudeau Principal architect at Percona since 2009 With MySQL then Sun, 2007 to 2009 Focus on MySQL HA and distributed
More informationMySQL Schema Review 101
MySQL Schema Review 101 How and What you should be looking at... Mike Benshoof - Technical Account Manager, Percona Agenda Introduction Key things to consider and review Tools to isolate issues Common
More informationMySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015
MySQL Database Administrator Training Day 1: AGENDA Introduction to MySQL MySQL Overview MySQL Database Server Editions MySQL Products MySQL Services and Support MySQL Resources Example Databases MySQL
More informationReplication features of 2011
FOSDEM 2012 Replication features of 2011 What they were How to get them How to use them Sergey Petrunya MariaDB MySQL Replication in 2011: overview Notable events, chronologically: MySQL 5.5 GA (Dec 2010)
More informationOS-caused Long JVM Pauses - Deep Dive and Solutions
OS-caused Long JVM Pauses - Deep Dive and Solutions Zhenyun Zhuang LinkedIn Corp., Mountain View, California, USA https://www.linkedin.com/in/zhenyun Zhenyun@gmail.com 2016-4-21 Outline q Introduction
More informationWhy we re excited about MySQL 8
Why we re excited about MySQL 8 Practical Look for Devs and Ops Peter Zaitsev, CEO, Percona February 4nd, 2018 FOSDEM 1 In the Presentation Practical view on MySQL 8 Exciting things for Devs Exciting things
More informationProxySQL's Internals
ProxySQL's Internals What is ProxySQL? A "Layer 7" database proxy MySQL / ClickHouse protocol aware High Performance High Availability Architecture Overview Clients connect to ProxySQL Requests are evaluated
More informationAccelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016
Accelerate MySQL for Demanding OLAP and OLTP Use Case with Apache Ignite December 7, 2016 Nikita Ivanov CTO and Co-Founder GridGain Systems Peter Zaitsev CEO and Co-Founder Percona About the Presentation
More informationMySQL vs MariaDB. Where are we now?
MySQL vs MariaDB Where are we now? Hey! A BRIEF HISTORY OF THE UNIVERSE (of MySQL and MariaDB) Herman Hollerith Unireg Begins Essentially, the origin of what we know MySQL as today, establishing its code
More informationOutline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012
Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 6 April 12, 2012 1 Acknowledgements: The slides are provided by Nikolaus Augsten
More informationScaling Without Sharding. Baron Schwartz Percona Inc Surge 2010
Scaling Without Sharding Baron Schwartz Percona Inc Surge 2010 Web Scale!!!! http://www.xtranormal.com/watch/6995033/ A Sharding Thought Experiment 64 shards per proxy [1] 1 TB of data storage per node
More information1Z MySQL 5 Database Administrator Certified Professional Exam, Part II Exam.
Oracle 1Z0-874 MySQL 5 Database Administrator Certified Professional Exam, Part II Exam TYPE: DEMO http://www.examskey.com/1z0-874.html Examskey Oracle 1Z0-874 exam demo product is here for you to test
More informationVMWARE VREALIZE OPERATIONS MANAGEMENT PACK FOR. Amazon Aurora. User Guide
VMWARE VREALIZE OPERATIONS MANAGEMENT PACK FOR User Guide TABLE OF CONTENTS 1. Purpose...3 2. Introduction to the Management Pack...3 2.1 How the Management Pack Collects Data...3 2.2 Data the Management
More informationMySQL Storage Engines Which Do You Use? April, 25, 2017 Sveta Smirnova
MySQL Storage Engines Which Do You Use? April, 25, 2017 Sveta Smirnova Sveta Smirnova 2 MySQL Support engineer Author of MySQL Troubleshooting JSON UDF functions FILTER clause for MySQL Speaker Percona
More informationMeet the Sergei Golubchik MariaDB Corporation
Meet the 10.2 Sergei Golubchik MariaDB Corporation k 10.2 Facts About a year in active development Currently at 10.2.2 beta Plans Gamma soon GA by the end of the year 10.2 Analytical queries Removing historical
More informationDetecting MySQL IO problems on Linux at different abstraction layers. Nickolay Ihalainen Percona Live London 2011
Detecting MySQL IO problems on Linux at different abstraction layers Nickolay Ihalainen Percona Live London 2011 Agenda Dataflow layers OS tools MySQL instrumentation Inside InnoDB: story of one insert
More informationMySQL Schema Best Practices
MySQL Schema Best Practices 2 Agenda Introduction 3 4 Introduction - Sample Schema Key Considerations 5 Data Types 6 Data Types [root@plive-2017-demo plive_2017]# ls -alh action*.ibd -rw-r-----. 1 mysql
More informationMySQL High Availability
MySQL High Availability And other stuff worth talking about Peter Zaitsev CEO Moscow MySQL Users Group Meetup July 11 th, 2017 1 Few Words about Percona 2 Percona s Purpose To Champion Unbiased Open Source
More informationMariaDB 10.3 vs MySQL 8.0. Tyler Duzan, Product Manager Percona
MariaDB 10.3 vs MySQL 8.0 Tyler Duzan, Product Manager Percona Who Am I? My name is Tyler Duzan Formerly an operations engineer for more than 12 years focused on security and automation Now a Product Manager
More informationDATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11
DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance
More informationOracle Enterprise Manager for MySQL Database
Oracle Enterprise Manager for MySQL Database 13.2.2.0.0 Abstract This manual documents Oracle Enterprise Manager for MySQL Database 13.2.2.0.0. For legal information, see the Legal Notice. For help with
More informationMySQL Performance Improvements
Taking Advantage of MySQL Performance Improvements Baron Schwartz, Percona Inc. Introduction About Me (Baron Schwartz) Author of High Performance MySQL 2 nd Edition Creator of Maatkit, innotop, and so
More informationPractical Performance Tuning using Digested SQL Logs. Bob Burgess Salesforce Marketing Cloud
Practical Performance Tuning using Digested SQL Logs Bob Burgess Salesforce Marketing Cloud Who?! Database Architect! Salesforce Marketing Cloud (Radian6 & Buddy Media stack) Why?! I can t be the only
More informationA Support Engineer Walkthrough on pt-stalk
A Support Engineer Walkthrough on pt-stalk Marcos Albe Principal Support Engineer - Percona Marcelo Altmann Senior Support Engineer - Percona Thank You Sponsors! 2 SAVE THE DATE! April 23-25, 2018 Santa
More information