SlideShare a Scribd company logo
MySQL Meetup 
September 8th, 2014
Text 
Welcome! 
To the 1st of many MySQL Meetups!
Agenda: 
• Food and registration 5:30 - 6:30 
• Speaker 6:30 - 7:00 
• Questions 7:00 - 7:30 
• Networking 7:30 - 8:00
Quick Performance Check 
Presented by: Wayne Leutwyler
When a quick look is 
needed. 
Weekday management fire drill. 
2am OnCall page. 
Unhappy customer calls you to complain about 
response time. 
Or anytime you just want to see how a certain database 
server is performing.
The Views. 
Below are 6 views that I find very useful for day today 
performance check, or the 2am issue. 
v_InnoBPHitRate 
v_table_cache_used 
v_table_definition_cache_use 
v_thread_cache_hit 
v_thread_cache_used 
v_tmp_to_disk
v_InnoBPHitRate 
CREATE 
ALGORITHM = UNDEFINED 
DEFINER = `wayne`@`localhost` 
SQL SECURITY DEFINER 
VIEW `v_InnoBPHitRate` AS 
select 
round((100 - ((100 * `P2`.`VARIABLE_VALUE`) / 
`P1`.`VARIABLE_VALUE`)), 
2) AS `InnoBP Hit Rate`, 
`P2`.`VARIABLE_VALUE` AS `InnoBP Read Requests (from disk)`, 
`P1`.`VARIABLE_VALUE` AS `InnoBP Reads (from BP)` 
from 
(`information_schema`.`GLOBAL_STATUS` `P1` 
join `information_schema`.`GLOBAL_STATUS` `P2`) 
where 
((`P1`.`VARIABLE_NAME` = 'innodb_buffer_pool_read_requests') 
and (`P2`.`VARIABLE_NAME` = 'innodb_buffer_pool_reads')) 
I have always gone with 50% 
of total server ram for my InnoDB 
buffer pool. Recommendations 
range from 50% to 80%.
v_table_cache_used 
CREATE 
ALGORITHM = UNDEFINED 
DEFINER = `wayne`@`localhost` 
SQL SECURITY DEFINER 
VIEW `v_table_cache_used` AS 
select 
round(((`information_schema`.`global_status`.`VARIABLE_VALUE` / 
`information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_VALUE`) * 
100), 
2) AS `Table Cache % Used` 
from 
(`information_schema`.`global_status` 
join `information_schema`.`GLOBAL_VARIABLES`) 
where 
((`information_schema`.`global_status`.`VARIABLE_NAME` = 
'opened_tables') 
and 
(`information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_NAME` = 
'table_open_cache')) 
Below 90% Adjust: 
table_open_cache
v_table_definition_cache_use 
CREATE 
ALGORITHM = UNDEFINED 
DEFINER = `wayne`@`localhost` 
SQL SECURITY DEFINER 
VIEW `v_table_definition_cache_used` AS 
select 
round(((`information_schema`.`global_status`.`VARIABLE_VALUE` 
/ `information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_VALUE`) * 
100), 
2) AS `Table Definition Cache % Used` 
from 
(`information_schema`.`global_status` 
join `information_schema`.`GLOBAL_VARIABLES`) 
where 
((`information_schema`.`global_status`.`VARIABLE_NAME` = 
'open_table_definitions') 
and 
(`information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_NAME` = 
'table_definition_cache')) 
Above 100% adjust: 
table_definition_cache
v_thread_cache_hit 
CREATE 
ALGORITHM = UNDEFINED 
DEFINER = `wayne`@`localhost` 
SQL SECURITY DEFINER 
VIEW `v_thread_cache_hit` AS 
select 
round((100 - ((`p1`.`VARIABLE_VALUE` / `p2`.`VARIABLE_VALUE`) * 
100)), 
2) AS `Thread Cache Hit Rate`, 
`p1`.`VARIABLE_VALUE` AS `Threads Created`, 
`p2`.`VARIABLE_VALUE` AS `Connections` 
from 
(`information_schema`.`global_status` `p1` 
join `information_schema`.`global_status` `p2`) 
where 
((`p1`.`VARIABLE_NAME` = 'threads_created') 
and (`p2`.`VARIABLE_NAME` = 'connections')) 
Below 90% adjust: 
thread_cache_size
v_thread_cache_used 
CREATE 
ALGORITHM = UNDEFINED 
DEFINER = `wayne`@`localhost` 
SQL SECURITY DEFINER 
VIEW `v_thread_cache_used` AS 
select 
round(((`information_schema`.`global_status`.`VARIABLE_VALUE` 
/ `information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_VALUE`) * 
100), 
2) AS `Thread Cache % Used` 
from 
(`information_schema`.`global_status` 
join `information_schema`.`GLOBAL_VARIABLES`) 
where 
((`information_schema`.`global_status`.`VARIABLE_NAME` = 
'threads_cached') 
and 
(`information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_NAME` = 
'thread_cache_size')) 
Above 100% adjust: 
thread_cache_size
v_tmp_to_disk 
CREATE 
ALGORITHM = UNDEFINED 
DEFINER = `wayne`@`localhost` 
SQL SECURITY DEFINER 
VIEW `v_tmp_to_disk` AS 
select 
round(((`p1`.`VARIABLE_VALUE` / `p2`.`VARIABLE_VALUE`) 
* 100), 
2) AS `Percent TMP to Disk` 
from 
(`information_schema`.`global_status` `p1` 
join `information_schema`.`global_status` `p2`) 
where 
((`p1`.`VARIABLE_NAME` = 
'CREATED_TMP_DISK_TABLES') 
and (`p2`.`VARIABLE_NAME` = 
'CREATED_TMP_TABLES')) 
If percent is 25% or higher 
adjust: 
tmp_table_size 
max_heap_table_size
Command Line Tools 
When you cant find an issue with the DB, time 
to check the system. 
top 
iostat 
vmstat 
free
House Keeping 
Put your trash in the proper place. 
Don’t wonder around the building. 
Please put the chairs back the way they were. 
Please keep the noise down. We don’t want to 
disturb people still working.
Thank you! 
Percona for the food and drinks. 
CareWorks Tech for hosting our meeting.
Thank You 
questions? 
The views expressed in this presentation are mine alone.

More Related Content

What's hot (20)

PPT
Frontend Controllers
rodnaph
 
PDF
Upgrade your javascript to drupal 8
Théodore Biadala
 
PPTX
19. CodeIgniter imagini in mysql
Razvan Raducanu, PhD
 
PDF
Odoo - CMS performances optimization
Odoo
 
PPTX
Intro to PAS REST API
Joe Garcia
 
PDF
Introduction to the WordPress Transients API
topher1kenobe
 
PDF
Cache is King: Get the Most Bang for Your Buck From Ruby
Molly Struve
 
PPTX
Code refactoring of existing AutoTest to PageObject pattern
Anton Bogdan
 
PDF
ActiveSupport
sean_todd
 
PDF
Web app development_crud_13
Hassen Poreya
 
POT
All in one_seo_pack
Human Relationships
 
PPTX
Test driven development (java script & mivascript)
Miva
 
PDF
Managing a shared mysql farm dpc11
Combell NV
 
PDF
MySQL NoSQL JSON JS Python "Document Store" demo
Keith Hollman
 
PPTX
Drupal.js: Best Practices for Managing Javascript in Drupal
Bryan Braun
 
PDF
You don't know people
Evan Solomon
 
PDF
Metrics-Driven Engineering at Etsy
Mike Brittain
 
PPTX
Progressive What Apps?
Patrick Kettner
 
PPT
Using npm to Manage Your Projects for Fun and Profit - USEFUL INFO IN NOTES!
async_io
 
PDF
Php user groupmemcached
Jason Anderson
 
Frontend Controllers
rodnaph
 
Upgrade your javascript to drupal 8
Théodore Biadala
 
19. CodeIgniter imagini in mysql
Razvan Raducanu, PhD
 
Odoo - CMS performances optimization
Odoo
 
Intro to PAS REST API
Joe Garcia
 
Introduction to the WordPress Transients API
topher1kenobe
 
Cache is King: Get the Most Bang for Your Buck From Ruby
Molly Struve
 
Code refactoring of existing AutoTest to PageObject pattern
Anton Bogdan
 
ActiveSupport
sean_todd
 
Web app development_crud_13
Hassen Poreya
 
All in one_seo_pack
Human Relationships
 
Test driven development (java script & mivascript)
Miva
 
Managing a shared mysql farm dpc11
Combell NV
 
MySQL NoSQL JSON JS Python "Document Store" demo
Keith Hollman
 
Drupal.js: Best Practices for Managing Javascript in Drupal
Bryan Braun
 
You don't know people
Evan Solomon
 
Metrics-Driven Engineering at Etsy
Mike Brittain
 
Progressive What Apps?
Patrick Kettner
 
Using npm to Manage Your Projects for Fun and Profit - USEFUL INFO IN NOTES!
async_io
 
Php user groupmemcached
Jason Anderson
 

Viewers also liked (15)

PDF
Why Launch a Company Blog and Use Social Media
Graeme Thickins
 
PDF
Certificato30ore_distanza
LinkedIn
 
DOCX
Final intro
Tim Hutchens
 
PDF
Enlightened Investment Deck
Enlightened.org
 
PPT
Frwd Challenge Q4 2010
John Grudnowski
 
PPT
Pete Blackshaw - Keynote Speech: Word of Mouth Marketing Association Annual S...
Pete Blackshaw
 
KEY
What is Integration as a Service? - HIMSS
Ryan Adams
 
PPTX
ASTD San Diego changes name to ATD San Diego
Civility Partners, LLC
 
PDF
LifePlan
Lily Kreitinger
 
PPTX
Startup360 - Virtual Startup Marketplace Ecosystem
eZ-Xpo - the World's All-in-1 Virtual Trade Show & Expo Network
 
PDF
Do you Know the Difference Between a Buffer and Safety Zone?
Lawrence Berezin
 
PPTX
Business Traveler Security
Chris Kameir
 
PPT
Police report writing arrest report headings
Hi Tech Criminal Justice
 
PDF
The Greatest Of All Time - 10 Quotes from Muhammad Ali
HighSpark | Visual Storytelling Agency
 
PDF
ZIKA - What You Need to Know!
Empowered Presentations
 
Why Launch a Company Blog and Use Social Media
Graeme Thickins
 
Certificato30ore_distanza
LinkedIn
 
Final intro
Tim Hutchens
 
Enlightened Investment Deck
Enlightened.org
 
Frwd Challenge Q4 2010
John Grudnowski
 
Pete Blackshaw - Keynote Speech: Word of Mouth Marketing Association Annual S...
Pete Blackshaw
 
What is Integration as a Service? - HIMSS
Ryan Adams
 
ASTD San Diego changes name to ATD San Diego
Civility Partners, LLC
 
LifePlan
Lily Kreitinger
 
Startup360 - Virtual Startup Marketplace Ecosystem
eZ-Xpo - the World's All-in-1 Virtual Trade Show & Expo Network
 
Do you Know the Difference Between a Buffer and Safety Zone?
Lawrence Berezin
 
Business Traveler Security
Chris Kameir
 
Police report writing arrest report headings
Hi Tech Criminal Justice
 
The Greatest Of All Time - 10 Quotes from Muhammad Ali
HighSpark | Visual Storytelling Agency
 
ZIKA - What You Need to Know!
Empowered Presentations
 
Ad

Similar to Quick MySQL performance check (20)

PDF
Nagios Conference 2012 - Sheeri Cabral - Alerting With MySQL and Nagios
Nagios
 
PDF
Asterisk_MySQL_Cluster_Presentation.pdf
Delphini Systems Consultoria e Treinamento
 
PDF
My sql monitoring cu沙龙
colderboy17
 
PDF
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
Jesmar Cannao'
 
DOCX
point in time recovery
ssuser1eca7d
 
PDF
Security 202 - Are you sure your site is secure?
ConFoo
 
PDF
MySQL server security
Damien Seguy
 
PDF
VMUG - Using PowerShell to call RESTful APIs
Chris Wahl
 
PDF
Service discovery and configuration provisioning
Source Ministry
 
DOCX
Mater,slave on mysql
Vasudeva Rao
 
KEY
Apostrophe (improved Paris edition)
tompunk
 
PDF
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
Dave Stokes
 
PDF
2014 database - course 3 - PHP and MySQL
Hung-yu Lin
 
PDF
20151010 my sq-landjavav2a
Ivan Ma
 
PPTX
Building an Analytic Extension to MySQL with ClickHouse and Open Source.pptx
Altinity Ltd
 
PPTX
Building an Analytic Extension to MySQL with ClickHouse and Open Source
Altinity Ltd
 
PDF
Managing a shared_mysql_farm_phpday2011
Combell NV
 
PDF
Advanced Cassandra
DataStax Academy
 
PPTX
OpenWorld 2018 - Common Application Developer Disasters
Connor McDonald
 
Nagios Conference 2012 - Sheeri Cabral - Alerting With MySQL and Nagios
Nagios
 
Asterisk_MySQL_Cluster_Presentation.pdf
Delphini Systems Consultoria e Treinamento
 
My sql monitoring cu沙龙
colderboy17
 
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
Jesmar Cannao'
 
point in time recovery
ssuser1eca7d
 
Security 202 - Are you sure your site is secure?
ConFoo
 
MySQL server security
Damien Seguy
 
VMUG - Using PowerShell to call RESTful APIs
Chris Wahl
 
Service discovery and configuration provisioning
Source Ministry
 
Mater,slave on mysql
Vasudeva Rao
 
Apostrophe (improved Paris edition)
tompunk
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
Dave Stokes
 
2014 database - course 3 - PHP and MySQL
Hung-yu Lin
 
20151010 my sq-landjavav2a
Ivan Ma
 
Building an Analytic Extension to MySQL with ClickHouse and Open Source.pptx
Altinity Ltd
 
Building an Analytic Extension to MySQL with ClickHouse and Open Source
Altinity Ltd
 
Managing a shared_mysql_farm_phpday2011
Combell NV
 
Advanced Cassandra
DataStax Academy
 
OpenWorld 2018 - Common Application Developer Disasters
Connor McDonald
 
Ad

More from Tom Diederich (12)

PDF
Tom Diederich portfolio presentation (updated Nov. 18, 2016)
Tom Diederich
 
PDF
How to build & grow online communities: with Tom Diederich
Tom Diederich
 
PDF
Troubleshooting Apache® Ignite™
Tom Diederich
 
PDF
How to build a production-ready in-memory-based application in 1 hour
Tom Diederich
 
PPTX
Ingesting streaming data for analysis in apache ignite (stream sets theme)
Tom Diederich
 
PDF
IT Modernization in Practice
Tom Diederich
 
PDF
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
Tom Diederich
 
PDF
Machine learning and deep learning with Apache Ignite
Tom Diederich
 
PPTX
Heimdall Data: "Increase Application Performance with SQL Auto-Caching; No Co...
Tom Diederich
 
PDF
Improving Apache Spark™ In-Memory Computing with Apache Ignite™
Tom Diederich
 
PDF
Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Pro...
Tom Diederich
 
PDF
“Building consistent and highly available distributed systems with Apache Ign...
Tom Diederich
 
Tom Diederich portfolio presentation (updated Nov. 18, 2016)
Tom Diederich
 
How to build & grow online communities: with Tom Diederich
Tom Diederich
 
Troubleshooting Apache® Ignite™
Tom Diederich
 
How to build a production-ready in-memory-based application in 1 hour
Tom Diederich
 
Ingesting streaming data for analysis in apache ignite (stream sets theme)
Tom Diederich
 
IT Modernization in Practice
Tom Diederich
 
In-Memory Key Value Store (KVS) in FPGA for Ultra Low Latency and High Throug...
Tom Diederich
 
Machine learning and deep learning with Apache Ignite
Tom Diederich
 
Heimdall Data: "Increase Application Performance with SQL Auto-Caching; No Co...
Tom Diederich
 
Improving Apache Spark™ In-Memory Computing with Apache Ignite™
Tom Diederich
 
Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Pro...
Tom Diederich
 
“Building consistent and highly available distributed systems with Apache Ign...
Tom Diederich
 

Recently uploaded (20)

PPTX
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 
PDF
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
PDF
Data Chunking Strategies for RAG in 2025.pdf
Tamanna
 
PDF
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
PDF
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
OtnielSimopiaref2
 
PDF
Simplifying Document Processing with Docling for AI Applications.pdf
Tamanna
 
PPTX
AI Presentation Tool Pitch Deck Presentation.pptx
ShyamPanthavoor1
 
PDF
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
PPT
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
PDF
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
PDF
OPPOTUS - Malaysias on Malaysia 1Q2025.pdf
Oppotus
 
PPTX
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
PPTX
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
PDF
Choosing the Right Database for Indexing.pdf
Tamanna
 
PDF
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
PDF
How to Connect Your On-Premises Site to AWS Using Site-to-Site VPN.pdf
Tamanna
 
PPTX
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
PPTX
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
PPTX
apidays Singapore 2025 - From Data to Insights: Building AI-Powered Data APIs...
apidays
 
PPTX
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
Data Chunking Strategies for RAG in 2025.pdf
Tamanna
 
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
OtnielSimopiaref2
 
Simplifying Document Processing with Docling for AI Applications.pdf
Tamanna
 
AI Presentation Tool Pitch Deck Presentation.pptx
ShyamPanthavoor1
 
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
Growth of Public Expendituuure_55423.ppt
NavyaDeora
 
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
OPPOTUS - Malaysias on Malaysia 1Q2025.pdf
Oppotus
 
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
Choosing the Right Database for Indexing.pdf
Tamanna
 
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
How to Connect Your On-Premises Site to AWS Using Site-to-Site VPN.pdf
Tamanna
 
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
apidays Singapore 2025 - From Data to Insights: Building AI-Powered Data APIs...
apidays
 
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 

Quick MySQL performance check

  • 2. Text Welcome! To the 1st of many MySQL Meetups!
  • 3. Agenda: • Food and registration 5:30 - 6:30 • Speaker 6:30 - 7:00 • Questions 7:00 - 7:30 • Networking 7:30 - 8:00
  • 4. Quick Performance Check Presented by: Wayne Leutwyler
  • 5. When a quick look is needed. Weekday management fire drill. 2am OnCall page. Unhappy customer calls you to complain about response time. Or anytime you just want to see how a certain database server is performing.
  • 6. The Views. Below are 6 views that I find very useful for day today performance check, or the 2am issue. v_InnoBPHitRate v_table_cache_used v_table_definition_cache_use v_thread_cache_hit v_thread_cache_used v_tmp_to_disk
  • 7. v_InnoBPHitRate CREATE ALGORITHM = UNDEFINED DEFINER = `wayne`@`localhost` SQL SECURITY DEFINER VIEW `v_InnoBPHitRate` AS select round((100 - ((100 * `P2`.`VARIABLE_VALUE`) / `P1`.`VARIABLE_VALUE`)), 2) AS `InnoBP Hit Rate`, `P2`.`VARIABLE_VALUE` AS `InnoBP Read Requests (from disk)`, `P1`.`VARIABLE_VALUE` AS `InnoBP Reads (from BP)` from (`information_schema`.`GLOBAL_STATUS` `P1` join `information_schema`.`GLOBAL_STATUS` `P2`) where ((`P1`.`VARIABLE_NAME` = 'innodb_buffer_pool_read_requests') and (`P2`.`VARIABLE_NAME` = 'innodb_buffer_pool_reads')) I have always gone with 50% of total server ram for my InnoDB buffer pool. Recommendations range from 50% to 80%.
  • 8. v_table_cache_used CREATE ALGORITHM = UNDEFINED DEFINER = `wayne`@`localhost` SQL SECURITY DEFINER VIEW `v_table_cache_used` AS select round(((`information_schema`.`global_status`.`VARIABLE_VALUE` / `information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_VALUE`) * 100), 2) AS `Table Cache % Used` from (`information_schema`.`global_status` join `information_schema`.`GLOBAL_VARIABLES`) where ((`information_schema`.`global_status`.`VARIABLE_NAME` = 'opened_tables') and (`information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_NAME` = 'table_open_cache')) Below 90% Adjust: table_open_cache
  • 9. v_table_definition_cache_use CREATE ALGORITHM = UNDEFINED DEFINER = `wayne`@`localhost` SQL SECURITY DEFINER VIEW `v_table_definition_cache_used` AS select round(((`information_schema`.`global_status`.`VARIABLE_VALUE` / `information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_VALUE`) * 100), 2) AS `Table Definition Cache % Used` from (`information_schema`.`global_status` join `information_schema`.`GLOBAL_VARIABLES`) where ((`information_schema`.`global_status`.`VARIABLE_NAME` = 'open_table_definitions') and (`information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_NAME` = 'table_definition_cache')) Above 100% adjust: table_definition_cache
  • 10. v_thread_cache_hit CREATE ALGORITHM = UNDEFINED DEFINER = `wayne`@`localhost` SQL SECURITY DEFINER VIEW `v_thread_cache_hit` AS select round((100 - ((`p1`.`VARIABLE_VALUE` / `p2`.`VARIABLE_VALUE`) * 100)), 2) AS `Thread Cache Hit Rate`, `p1`.`VARIABLE_VALUE` AS `Threads Created`, `p2`.`VARIABLE_VALUE` AS `Connections` from (`information_schema`.`global_status` `p1` join `information_schema`.`global_status` `p2`) where ((`p1`.`VARIABLE_NAME` = 'threads_created') and (`p2`.`VARIABLE_NAME` = 'connections')) Below 90% adjust: thread_cache_size
  • 11. v_thread_cache_used CREATE ALGORITHM = UNDEFINED DEFINER = `wayne`@`localhost` SQL SECURITY DEFINER VIEW `v_thread_cache_used` AS select round(((`information_schema`.`global_status`.`VARIABLE_VALUE` / `information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_VALUE`) * 100), 2) AS `Thread Cache % Used` from (`information_schema`.`global_status` join `information_schema`.`GLOBAL_VARIABLES`) where ((`information_schema`.`global_status`.`VARIABLE_NAME` = 'threads_cached') and (`information_schema`.`GLOBAL_VARIABLES`.`VARIABLE_NAME` = 'thread_cache_size')) Above 100% adjust: thread_cache_size
  • 12. v_tmp_to_disk CREATE ALGORITHM = UNDEFINED DEFINER = `wayne`@`localhost` SQL SECURITY DEFINER VIEW `v_tmp_to_disk` AS select round(((`p1`.`VARIABLE_VALUE` / `p2`.`VARIABLE_VALUE`) * 100), 2) AS `Percent TMP to Disk` from (`information_schema`.`global_status` `p1` join `information_schema`.`global_status` `p2`) where ((`p1`.`VARIABLE_NAME` = 'CREATED_TMP_DISK_TABLES') and (`p2`.`VARIABLE_NAME` = 'CREATED_TMP_TABLES')) If percent is 25% or higher adjust: tmp_table_size max_heap_table_size
  • 13. Command Line Tools When you cant find an issue with the DB, time to check the system. top iostat vmstat free
  • 14. House Keeping Put your trash in the proper place. Don’t wonder around the building. Please put the chairs back the way they were. Please keep the noise down. We don’t want to disturb people still working.
  • 15. Thank you! Percona for the food and drinks. CareWorks Tech for hosting our meeting.
  • 16. Thank You questions? The views expressed in this presentation are mine alone.