SlideShare ist ein Scribd-Unternehmen logo
Database in Kubernetes:
Diagnostics and Monitoring
Sveta Smirnova
Principal Support Engineering Coordinator
• MySQL Support Engineer
• Author
MySQL Troubleshooting
MySQL Cookbook, 4th Edition
• JSON UDF functions
• FILTER clause for MySQL
• Speaker
• Percona Live, OOW, Fosdem,
DevConf, HighLoad...
Sveta Smirnova
Database Performance Influencers
3
© Copyright 2023 Percona ® LLC. All rights reserved
• Standard database tools: EXPLAIN
• Interactive tools
• Log files
Query Performance Diagnostics
4
© Copyright 2023 Percona ® LLC. All rights reserved
• Interactive tools
• Same as on bare metal
Concurrency Diagnostics
5
© Copyright 2023 Percona ® LLC. All rights reserved
• Managed by Kubernetes
• Limits, set by Kubernetes
• DBA does not have access to tools,
available on bare hardware
Hardware
6
© Copyright 2023 Percona ® LLC. All rights reserved
• Supported
PMM
7
© Copyright 2023 Percona ® LLC. All rights reserved
• Supported
• All Percona operators are shipped with
PMM client
PMM
8
© Copyright 2023 Percona ® LLC. All rights reserved
• Supported
• All Percona operators are shipped with
PMM client
• PMM server needs to be installed
separately
• Install via Helm is available
PMM
9
© Copyright 2023 Percona ® LLC. All rights reserved
• Supported
• All Percona operators are shipped with
PMM client
• PMM server needs to be installed
separately
• Install via Helm is available
• Add pmm.enabled=true into
deploy/cr.yaml, configure PMM server
host and API key, then apply
PMM
10
© Copyright 2023 Percona ® LLC. All rights reserved
Database Performance Troubleshooting
11
© Copyright 2023 Percona ® LLC. All rights reserved
Database Performance Troubleshooting
12
© Copyright 2023 Percona ® LLC. All rights reserved
• Global buffers to cache "hot" data
• InnoDB Buffer Pool
• WiredTiger Cache
• Shared buffers in PostgreSQL
• Operation and thread-specific buffers
• "Internal" buffers not under user control
How Memory Used by Databases?
13
© Copyright 2023 Percona ® LLC. All rights reserved
• Physically available for nodes
• Limited by the Operator
resources:
requests:
memory: 32G
...
# limits:
# memory: 32G
Memory Limits
14
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl top pods
• kubectl top nodes
• kubectl describe nodes
Memory Diagnostics
15
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl top pods
• kubectl top nodes
• kubectl describe nodes
• Database-specific instruments
• Performance Schema in MySQL
Memory Diagnostics
16
© Copyright 2023 Percona ® LLC. All rights reserved
• Table data
• Indexes
• Log files
• Temporary data
How Disk Used by Databases?
17
© Copyright 2023 Percona ® LLC. All rights reserved
volumeSpec:
persistentVolumeClaim:
resources:
requests:
storage: 2G
Disk Limitations
18
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl get persistentvolumeclaims
Disk Diagnostics
19
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl get persistentvolumeclaims
• kubectl describe nodes
Disk Diagnostics
20
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl get persistentvolumeclaims
• kubectl describe nodes
• Error logs of the database
2018-11-28T00:03:26.322318+06:00 0 [Note] InnoDB: page_cleaner:
1000ms intended loop took 4188ms. The settings might not be optimal.
(flushed=692 and evicted=0, during the time.)
Disk Diagnostics
21
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl get persistentvolumeclaims
• kubectl describe nodes
• Error logs of the database
2018-11-28T00:03:26.322318+06:00 0 [Note] InnoDB: page_cleaner:
1000ms intended loop took 4188ms. The settings might not be optimal.
(flushed=692 and evicted=0, during the time.)
• Counters in the database
Disk Diagnostics
22
© Copyright 2023 Percona ® LLC. All rights reserved
• Handle connections
• Threads in MySQL, MongoDB
• Sub-processes in PostgreSQL
• Perform calculations
• Perform IO operations
How CPU Used by Databases?
23
© Copyright 2023 Percona ® LLC. All rights reserved
resources:
requests:
cpu: "16"
limits:
cpu: "32"
CPU Limits
24
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl top pods
• kubectl top nodes
• kubectl describe nodes
CPU Diagnostics
25
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl top pods
• kubectl top nodes
• kubectl describe nodes
• Counters in the database
CPU Diagnostics
26
© Copyright 2023 Percona ® LLC. All rights reserved
• Communication between server and
client
• Regular client
• Application
• Replicas
• Synchronous nodes
How Databases Use Network?
27
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl describe nodes
Network Diagnostics
28
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl describe nodes
• Logs and statuses of the namespace
kube-system and your CNI
Network Diagnostics
29
© Copyright 2023 Percona ® LLC. All rights reserved
• kubectl describe nodes
• Logs and statuses of the namespace
kube-system and your CNI
• Latency in databases
Network Diagnostics
30
© Copyright 2023 Percona ® LLC. All rights reserved
• By default, log files are gone after pod
failure
• Critical in such situations as database
crash
Log Files Rotation
31
© Copyright 2023 Percona ® LLC. All rights reserved
• By default, log files are gone after pod
failure
• Critical in such situations as database
crash
• Solution
• PXC Operator: separate pod to store logs
• Other operators: K8-recommended
solutions such as Grafana Loki
Log Files Rotation
32
© Copyright 2023 Percona ® LLC. All rights reserved
• Created for Support team to automate
K8 troubleshooting collections
• Owned by Support team
• In active progress
• New featurs each version
pt-k8s-debug-collector
33
© Copyright 2023 Percona ® LLC. All rights reserved
pt-stalk
• Default for bare
metal
• Bare hardware
• Such tools as
• iostat
• vmstat
• dmesg
• top
pt-k8s-debug-collector
• Default for K8
• kubectl
• Such commands
as
• get pods
• get
storageclasses
• get replicasets
• get logs
Batch Data Collection
34
© Copyright 2023 Percona ® LLC. All rights reserved
• Basic batch collections per databases
• MySQL and PXC
pt-summary
pt-mysql-summary
Log files
• MongoDB
pt-mongodb-summary
• PostgreSQL
pg_gather
Features in pt-k8s-debug-collector
35
© Copyright 2023 Percona ® LLC. All rights reserved
• Basic batch collections per databases
• MySQL and PXC
pt-summary
pt-mysql-summary
Log files
• MongoDB
pt-mongodb-summary
• PostgreSQL
pg_gather
• kubectl get
Features in pt-k8s-debug-collector
36
© Copyright 2023 Percona ® LLC. All rights reserved
• Basic batch collections per databases
• MySQL and PXC
pt-summary
pt-mysql-summary
Log files
• MongoDB
pt-mongodb-summary
• PostgreSQL
pg_gather
• kubectl get
• kubectl logs
Features in pt-k8s-debug-collector
37
© Copyright 2023 Percona ® LLC. All rights reserved
• pt-stalk
• More kubectl commands
• Extended MongoDB support
• Nicer output format for summaries
Future of the pt-k8s-debug-collector
38
© Copyright 2023 Percona ® LLC. All rights reserved
• Mind limits in cr.yaml
• Work with K8 administrators for setting
up policies, allowing you to view
hardware usage
• Setup Loki or similar solution to save the
log files after restart
• Enable online database
instrumentation
• Use PMM or similar monitoring solution
• Plan in advance
Conclusion
39
© Copyright 2023 Percona ® LLC. All rights reserved
Percona K8 Operators
PMM Demo
pt-k8s-debug-collector
pt-stalk
pg_gather
Grafana Loki
Tools Mentioned
40
© Copyright 2023 Percona ® LLC. All rights reserved
Thank you!
/svetsmirnova /svetasmirnova
/svetsmirnova /SvetaSmirnova

Weitere ähnliche Inhalte

Was ist angesagt?

Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
Frederic Descamps
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)
Mydbops
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change Stream
Luís Soares
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database System
Frederic Descamps
 
How to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL serversHow to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL servers
Simon J Mudd
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
Altinity Ltd
 
MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting
Mydbops
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
Kenny Gryp
 
MMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and OrchestratorMMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and Orchestrator
Simon J Mudd
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
Jean-François Gagné
 
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsOpen Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and Histograms
Frederic Descamps
 
Replication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDReplication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTID
Mydbops
 
Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security
Mydbops
 
Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8
Olivier DASINI
 
High Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando PatroniHigh Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando Patroni
Zalando Technology
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
Sveta Smirnova
 
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemLinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
Frederic Descamps
 
My sql failover test using orchestrator
My sql failover test  using orchestratorMy sql failover test  using orchestrator
My sql failover test using orchestrator
YoungHeon (Roy) Kim
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability
Mydbops
 

Was ist angesagt? (20)

Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change Stream
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database System
 
How to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL serversHow to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL servers
 
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)
 
MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting MySQL GTID Concepts, Implementation and troubleshooting
MySQL GTID Concepts, Implementation and troubleshooting
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
 
MMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and OrchestratorMMUG18 - MySQL Failover and Orchestrator
MMUG18 - MySQL Failover and Orchestrator
 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
 
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsOpen Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and Histograms
 
Replication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTIDReplication Troubleshooting in Classic VS GTID
Replication Troubleshooting in Classic VS GTID
 
Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security Achieving compliance With MongoDB Security
Achieving compliance With MongoDB Security
 
Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8
 
High Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando PatroniHigh Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando Patroni
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
 
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemLinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
 
My sql failover test using orchestrator
My sql failover test  using orchestratorMy sql failover test  using orchestrator
My sql failover test using orchestrator
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability
 

Ähnlich wie Database in Kubernetes: Diagnostics and Monitoring

Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
EDB
 
Cloud Native PostgreSQL
Cloud Native PostgreSQLCloud Native PostgreSQL
Cloud Native PostgreSQL
EDB
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018
Jonathan Katz
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
Shimi Bandiel
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
MarketingArrowECS_CZ
 
KubeCon EU 2016: A Practical Guide to Container Scheduling
KubeCon EU 2016: A Practical Guide to Container SchedulingKubeCon EU 2016: A Practical Guide to Container Scheduling
KubeCon EU 2016: A Practical Guide to Container Scheduling
KubeAcademy
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
NTT DATA Technology & Innovation
 
KOCOON – KAKAO Automatic K8S Monitoring
KOCOON – KAKAO Automatic K8S MonitoringKOCOON – KAKAO Automatic K8S Monitoring
KOCOON – KAKAO Automatic K8S Monitoring
issac lim
 
api_testing_k8s.pptx
api_testing_k8s.pptxapi_testing_k8s.pptx
api_testing_k8s.pptx
Divyasampatirao
 
kubernetes_python_api_testing.pptx
kubernetes_python_api_testing.pptxkubernetes_python_api_testing.pptx
kubernetes_python_api_testing.pptx
Divyasampatirao
 
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep diveKubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
Bob Cotton
 
Kubernetes Problem-Solving
Kubernetes Problem-SolvingKubernetes Problem-Solving
Kubernetes Problem-Solving
All Things Open
 
Chicago spark meetup-april2017-public
Chicago spark meetup-april2017-publicChicago spark meetup-april2017-public
Chicago spark meetup-april2017-public
Guru Dharmateja Medasani
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kevin Lynch
 
Scylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the DatabaseScylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the Database
ScyllaDB
 
NSCC Training Introductory Class
NSCC Training Introductory Class NSCC Training Introductory Class
NSCC Training Introductory Class
National Supercomputing Centre Singapore
 
Future Science on Future OpenStack
Future Science on Future OpenStackFuture Science on Future OpenStack
Future Science on Future OpenStack
Belmiro Moreira
 
LISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground RunningLISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground Running
Chris McEniry
 

Ähnlich wie Database in Kubernetes: Diagnostics and Monitoring (20)

Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
 
Cloud Native PostgreSQL
Cloud Native PostgreSQLCloud Native PostgreSQL
Cloud Native PostgreSQL
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018Using PostgreSQL With Docker & Kubernetes - July 2018
Using PostgreSQL With Docker & Kubernetes - July 2018
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
 
DevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on ExadataDevOps Supercharged with Docker on Exadata
DevOps Supercharged with Docker on Exadata
 
KubeCon EU 2016: A Practical Guide to Container Scheduling
KubeCon EU 2016: A Practical Guide to Container SchedulingKubeCon EU 2016: A Practical Guide to Container Scheduling
KubeCon EU 2016: A Practical Guide to Container Scheduling
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
KOCOON – KAKAO Automatic K8S Monitoring
KOCOON – KAKAO Automatic K8S MonitoringKOCOON – KAKAO Automatic K8S Monitoring
KOCOON – KAKAO Automatic K8S Monitoring
 
api_testing_k8s.pptx
api_testing_k8s.pptxapi_testing_k8s.pptx
api_testing_k8s.pptx
 
kubernetes_python_api_testing.pptx
kubernetes_python_api_testing.pptxkubernetes_python_api_testing.pptx
kubernetes_python_api_testing.pptx
 
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep diveKubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
 
Kubernetes Problem-Solving
Kubernetes Problem-SolvingKubernetes Problem-Solving
Kubernetes Problem-Solving
 
Chicago spark meetup-april2017-public
Chicago spark meetup-april2017-publicChicago spark meetup-april2017-public
Chicago spark meetup-april2017-public
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
 
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the Datacenter
 
Scylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the DatabaseScylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the Database
 
NSCC Training Introductory Class
NSCC Training Introductory Class NSCC Training Introductory Class
NSCC Training Introductory Class
 
Future Science on Future OpenStack
Future Science on Future OpenStackFuture Science on Future OpenStack
Future Science on Future OpenStack
 
LISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground RunningLISA2017 Kubernetes: Hit the Ground Running
LISA2017 Kubernetes: Hit the Ground Running
 

Mehr von Sveta Smirnova

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
Sveta Smirnova
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
Sveta Smirnova
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
Sveta Smirnova
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
Sveta Smirnova
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
Sveta Smirnova
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
Sveta Smirnova
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
Sveta Smirnova
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
Sveta Smirnova
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQL
Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
Sveta Smirnova
 
Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?
Sveta Smirnova
 
Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?
Sveta Smirnova
 

Mehr von Sveta Smirnova (20)

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQL
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?
 
Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?
 

Kürzlich hochgeladen

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 

Kürzlich hochgeladen (20)

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 

Database in Kubernetes: Diagnostics and Monitoring

  • 1. Database in Kubernetes: Diagnostics and Monitoring Sveta Smirnova Principal Support Engineering Coordinator
  • 2. • MySQL Support Engineer • Author MySQL Troubleshooting MySQL Cookbook, 4th Edition • JSON UDF functions • FILTER clause for MySQL • Speaker • Percona Live, OOW, Fosdem, DevConf, HighLoad... Sveta Smirnova
  • 3. Database Performance Influencers 3 © Copyright 2023 Percona ® LLC. All rights reserved
  • 4. • Standard database tools: EXPLAIN • Interactive tools • Log files Query Performance Diagnostics 4 © Copyright 2023 Percona ® LLC. All rights reserved
  • 5. • Interactive tools • Same as on bare metal Concurrency Diagnostics 5 © Copyright 2023 Percona ® LLC. All rights reserved
  • 6. • Managed by Kubernetes • Limits, set by Kubernetes • DBA does not have access to tools, available on bare hardware Hardware 6 © Copyright 2023 Percona ® LLC. All rights reserved
  • 7. • Supported PMM 7 © Copyright 2023 Percona ® LLC. All rights reserved
  • 8. • Supported • All Percona operators are shipped with PMM client PMM 8 © Copyright 2023 Percona ® LLC. All rights reserved
  • 9. • Supported • All Percona operators are shipped with PMM client • PMM server needs to be installed separately • Install via Helm is available PMM 9 © Copyright 2023 Percona ® LLC. All rights reserved
  • 10. • Supported • All Percona operators are shipped with PMM client • PMM server needs to be installed separately • Install via Helm is available • Add pmm.enabled=true into deploy/cr.yaml, configure PMM server host and API key, then apply PMM 10 © Copyright 2023 Percona ® LLC. All rights reserved
  • 11. Database Performance Troubleshooting 11 © Copyright 2023 Percona ® LLC. All rights reserved
  • 12. Database Performance Troubleshooting 12 © Copyright 2023 Percona ® LLC. All rights reserved
  • 13. • Global buffers to cache "hot" data • InnoDB Buffer Pool • WiredTiger Cache • Shared buffers in PostgreSQL • Operation and thread-specific buffers • "Internal" buffers not under user control How Memory Used by Databases? 13 © Copyright 2023 Percona ® LLC. All rights reserved
  • 14. • Physically available for nodes • Limited by the Operator resources: requests: memory: 32G ... # limits: # memory: 32G Memory Limits 14 © Copyright 2023 Percona ® LLC. All rights reserved
  • 15. • kubectl top pods • kubectl top nodes • kubectl describe nodes Memory Diagnostics 15 © Copyright 2023 Percona ® LLC. All rights reserved
  • 16. • kubectl top pods • kubectl top nodes • kubectl describe nodes • Database-specific instruments • Performance Schema in MySQL Memory Diagnostics 16 © Copyright 2023 Percona ® LLC. All rights reserved
  • 17. • Table data • Indexes • Log files • Temporary data How Disk Used by Databases? 17 © Copyright 2023 Percona ® LLC. All rights reserved
  • 19. • kubectl get persistentvolumeclaims Disk Diagnostics 19 © Copyright 2023 Percona ® LLC. All rights reserved
  • 20. • kubectl get persistentvolumeclaims • kubectl describe nodes Disk Diagnostics 20 © Copyright 2023 Percona ® LLC. All rights reserved
  • 21. • kubectl get persistentvolumeclaims • kubectl describe nodes • Error logs of the database 2018-11-28T00:03:26.322318+06:00 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 4188ms. The settings might not be optimal. (flushed=692 and evicted=0, during the time.) Disk Diagnostics 21 © Copyright 2023 Percona ® LLC. All rights reserved
  • 22. • kubectl get persistentvolumeclaims • kubectl describe nodes • Error logs of the database 2018-11-28T00:03:26.322318+06:00 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 4188ms. The settings might not be optimal. (flushed=692 and evicted=0, during the time.) • Counters in the database Disk Diagnostics 22 © Copyright 2023 Percona ® LLC. All rights reserved
  • 23. • Handle connections • Threads in MySQL, MongoDB • Sub-processes in PostgreSQL • Perform calculations • Perform IO operations How CPU Used by Databases? 23 © Copyright 2023 Percona ® LLC. All rights reserved
  • 24. resources: requests: cpu: "16" limits: cpu: "32" CPU Limits 24 © Copyright 2023 Percona ® LLC. All rights reserved
  • 25. • kubectl top pods • kubectl top nodes • kubectl describe nodes CPU Diagnostics 25 © Copyright 2023 Percona ® LLC. All rights reserved
  • 26. • kubectl top pods • kubectl top nodes • kubectl describe nodes • Counters in the database CPU Diagnostics 26 © Copyright 2023 Percona ® LLC. All rights reserved
  • 27. • Communication between server and client • Regular client • Application • Replicas • Synchronous nodes How Databases Use Network? 27 © Copyright 2023 Percona ® LLC. All rights reserved
  • 28. • kubectl describe nodes Network Diagnostics 28 © Copyright 2023 Percona ® LLC. All rights reserved
  • 29. • kubectl describe nodes • Logs and statuses of the namespace kube-system and your CNI Network Diagnostics 29 © Copyright 2023 Percona ® LLC. All rights reserved
  • 30. • kubectl describe nodes • Logs and statuses of the namespace kube-system and your CNI • Latency in databases Network Diagnostics 30 © Copyright 2023 Percona ® LLC. All rights reserved
  • 31. • By default, log files are gone after pod failure • Critical in such situations as database crash Log Files Rotation 31 © Copyright 2023 Percona ® LLC. All rights reserved
  • 32. • By default, log files are gone after pod failure • Critical in such situations as database crash • Solution • PXC Operator: separate pod to store logs • Other operators: K8-recommended solutions such as Grafana Loki Log Files Rotation 32 © Copyright 2023 Percona ® LLC. All rights reserved
  • 33. • Created for Support team to automate K8 troubleshooting collections • Owned by Support team • In active progress • New featurs each version pt-k8s-debug-collector 33 © Copyright 2023 Percona ® LLC. All rights reserved
  • 34. pt-stalk • Default for bare metal • Bare hardware • Such tools as • iostat • vmstat • dmesg • top pt-k8s-debug-collector • Default for K8 • kubectl • Such commands as • get pods • get storageclasses • get replicasets • get logs Batch Data Collection 34 © Copyright 2023 Percona ® LLC. All rights reserved
  • 35. • Basic batch collections per databases • MySQL and PXC pt-summary pt-mysql-summary Log files • MongoDB pt-mongodb-summary • PostgreSQL pg_gather Features in pt-k8s-debug-collector 35 © Copyright 2023 Percona ® LLC. All rights reserved
  • 36. • Basic batch collections per databases • MySQL and PXC pt-summary pt-mysql-summary Log files • MongoDB pt-mongodb-summary • PostgreSQL pg_gather • kubectl get Features in pt-k8s-debug-collector 36 © Copyright 2023 Percona ® LLC. All rights reserved
  • 37. • Basic batch collections per databases • MySQL and PXC pt-summary pt-mysql-summary Log files • MongoDB pt-mongodb-summary • PostgreSQL pg_gather • kubectl get • kubectl logs Features in pt-k8s-debug-collector 37 © Copyright 2023 Percona ® LLC. All rights reserved
  • 38. • pt-stalk • More kubectl commands • Extended MongoDB support • Nicer output format for summaries Future of the pt-k8s-debug-collector 38 © Copyright 2023 Percona ® LLC. All rights reserved
  • 39. • Mind limits in cr.yaml • Work with K8 administrators for setting up policies, allowing you to view hardware usage • Setup Loki or similar solution to save the log files after restart • Enable online database instrumentation • Use PMM or similar monitoring solution • Plan in advance Conclusion 39 © Copyright 2023 Percona ® LLC. All rights reserved
  • 40. Percona K8 Operators PMM Demo pt-k8s-debug-collector pt-stalk pg_gather Grafana Loki Tools Mentioned 40 © Copyright 2023 Percona ® LLC. All rights reserved