SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Copyright 2016 Severalnines AB
1
Your host & some logistics
I'm Jean-Jérôme from the Severalnines Team
and I'm your host for today's webinar!
Feel free to ask any questions in the Questions
section of this application or via the Chat box.
You can also contact me directly via the chat
box or via email: jj@severalnines.com during
or after the webinar.
Copyright 2016 Severalnines AB
Database Performance Tuning
June 14, 2016
Krzysztof Książek
Severalnines
krzysztof@severalnines.com
2
Copyright 2016 Severalnines AB
! We want to help all non-DBA people who look after MySQL infrastructures
! Share tips and good practices
! Watch the replays of the previous webinars:
! http://severalnines.com/webinars-replay
“Become a MySQL DBA” series
3
Copyright 2016 Severalnines AB
Configuration tuning - what to tune and why?
4
Copyright 2016 Severalnines AB
5
Configuration tuning - what to tune and why?
! Operating system
! Swapping
! I/O scheduler
! CPU scheduler
! TCP/IP stack
! MySQL configuration
! Per-session buffers
! InnoDB Buffer Pool
! InnoDB I/O settings
Copyright 2016 Severalnines AB
6
Tuning Process
Copyright 2016 Severalnines AB
7
Tuning process
! Never-ending story which starts once you install MySQL on the host
! You have to tune for a specific workload
! Workload may change in time
! More data can make it I/O-bound
! Different query mix may increase CPU load and put stress on different parts of the InnoDB
! Keep in mind that configuration tuning is not likely to give you a huge increase in performance
(except if the server is really badly configured)
Copyright 2016 Severalnines AB
8
Tuning process
Copyright 2016 Severalnines AB
9
Tuning process
! You need a deterministic, test environment to make sure you can measure the impact of the
changes
! Environment should mirror production as close as possible, to make it more relevant
! Changes should be introduced one at a time to ensure you understand the impact of each of
them
! Benchmark the system using queries as close to production as possible
! Restore it to the original state for another round of tweaking
! Rinse and repeat until you are happy with results
Copyright 2016 Severalnines AB
10
Tuning process
! Grab a backup of your production systems
! Restore it on a host
! Capture real-world queries using slow log or tcpdump
! Make _one_ change in my.cnf or OS settings
! Restart MySQL or reboot the host itself
! Replay queries using Percona Playback or pt-upgrade
! Measure the difference, repeat the process by restoring the backup if you want to make one
more change
Copyright 2016 Severalnines AB
11
Tuning the operating system for MySQL
Copyright 2016 Severalnines AB
12
Tuning the operating system for MySQL - memory
! Minimize the flushing operations in OS to ensure no stalls are happening when dirty data is flushed
to disk
! vm.dirty_ratio - a hard limit of the memory that can be used to cache dirty disk pages
! vm.dirty_background_ratio - percentage of system memory that can be used to cache
modified (“dirty”) pages before the background flush process kicks in
! We want them to be set to low numbers - 5 - 10% to trigger flushing often and make it quick
! Default settings may result in a situation where 40% of your memory has to be flushed to disk at
once
! For large instances (128GB) it can be even >50GB of data to flush
Copyright 2016 Severalnines AB
13
Tuning the operating system for MySQL - memory
! Swapping - a process of moving data from memory to disk
! MySQL doesn’t like active swapping - we want data in memory, not on disk
! but we even more don’t want to be killed when system runs out of memory
! vm.swappiness = 1 - starting from kernel 3.5 this is the setting you want to use - allow some
swapping but only when there’s no other option
! You can also deprioritize MySQL when it comes to OOM Killer:
! echo -1000 > /proc/[pid]/oom_score_adj
! should help in environments shared with other processes
Copyright 2016 Severalnines AB
14
Tuning the operating system for MySQL - memory
! When running MySQL on bare iron, you need to make sure you have NUMA interleave policy set
! Starting from 5.6.27 a variable is available: innodb_numa_interleave
! Before that you could run MySQL as:
! numactl --interleave=all $command
! Memory allocation library may impact performance of MySQL
! Many choices: glibc malloc, tcmalloc and jemalloc
! Use LD_PRELOAD or malloc-lib variable in [mysqld_safe] section of my.cnf
Copyright 2016 Severalnines AB
15
Tuning the operating system for MySQL - memory
Copyright 2016 Severalnines AB
16
Tuning the operating system for MySQL - I/O
! Disk schedulers may impact performance of I/O-bound workloads
! CFQ is tuned for desktop workloads
! Noop or deadline are usually better for MySQL
! Benchmark to see which one of them will work better for you
! Filesystem - most often you’ll use EXT4 or XFS
! Performance depends on workload, hardware and kernel version
! Benchmark to see which one will work better in your environment
Copyright 2016 Severalnines AB
17
Tuning MySQL configuration
Copyright 2016 Severalnines AB
18
Tuning MySQL configuration - memory
! InnoDB buffer pool - used to cache data and
store dirty pages
! More is better but you need to leave some
memory for other buffers
! Per join buffers
! Per session buffers
! Temporary tables
! You may have heard about 80% rule
! It’s more like 90% for large (i.e. 128GB) hosts
! Make sure you err on the side of ‘too
small’
! Unless you run MySQL 5.7 where you can
resize InnoDB buffer pool dynamically,
without restart
! For fairly loaded (~20-30 running threads)
host with 128GB of memory it should be
ok to leave ~15GB of memory free
! All depends on the workload so your
mileage may vary
Copyright 2016 Severalnines AB
19
Tuning MySQL configuration - memory
! Per-session buffers in InnoDB:
! sort_buffer_size, read_buffer_size, read_rnd_buffer_size
! Per-join buffer: join_buffer_size
! By default - small values
! More _not_ always better
! At 256KB the way how memory allocates change
! smaller chunks use malloc() which is faster than mmap()
! Make sure to benchmark your system after any change to those settings
Copyright 2016 Severalnines AB
20
Tuning MySQL configuration - I/O performance
! innodb_flush_log_at_trx_commit - governs the durability in InnoDB
! 1 - full ACID compliance
! 2 - you may lose up to 1s of transactions when hardware crashes
! 0 - you may lose up to 1s of transactions when MySQL crashes
! Significant change in the I/O performance - less flushes means less I/O and less overhead
! Pick whatever you like and whatever you need
! Slaves may not require full durability if you have many of them
! Galera Cluster nodes may also not require full durability
Copyright 2016 Severalnines AB
21
! innodb_io_capacity, innodb_io_capacity_max and innodb_lru_scan_depth - define number of disk operations
InnoDB can execute
! Set it too low and you may not fully utilize your hardware
! More not always better - aggressive flushing is not always the best option
! Redo logs are there for some reason - to minimize number of writes to tablespaces
! innodb_flush_method:
! O_DIRECT for BBU-backed hardware
! O_DSYNC may work better with SAN
! Benchmark your setup before you go live
Tuning MySQL configuration - I/O performance
Copyright 2016 Severalnines AB
22
Tuning MySQL configuration - I/O performance
! InnoDB Redo Logs are used to store write transactions and they are written sequentially
! MySQL must not run out of space in them
! Larger logs help with better write merging
! Larger logs help with more stable flushing
! Larger logs may seriously impact recovery time in case of a crash
! The rule of thumb is to make them large enough to store at least 1h of writes
Copyright 2016 Severalnines AB
23
Tuning MySQL configuration
Copyright 2016 Severalnines AB
24
Tuning MySQL configuration - contentions
! innodb_buffer_pool_instances, table_open_cache_instances
! metadata_locks_hash_instances, innodb_adaptive_hash_index_partitions
! Those options can help you to reduce contention on some of those structures
! Increase number of buffer pools or adaptive hash index partitions if you notice a congestion on
them
! Or, preemptively, if you have to handle highly concurrent traffic
! Don’t use buffer pool instances smaller than 1GB (use 2GB+, more instances can slow down the
system)
Copyright 2016 Severalnines AB
! max_connections - keep it large enough to handle incoming connections but avoid hundreds of open
connections
! If you need to handle thousands of connections, check the connection pooling options or a proxy,
ideally with connection multiplexing
! log_bin - you want to have binlogs enabled
! sync_binlog=0 for MySQL 5.7 - it used to be a default on MySQL 5.6, it has been changed in 5.7.7
! skip_name_resolve - just to make sure your database won’t suffer when DNS will not be reachable
! Query cache - optimize it away by disabling
! Use external caching layer (Redis, Memcached)
25
Tuning MySQL configuration
Copyright 2016 Severalnines AB
26
Tools useful in tuning the configuration
Copyright 2016 Severalnines AB
27
Tools useful in tuning the configuration
! Percona developed two great tools, part of the Percona Toolkit suite, which helps you to collect useful
data about MySQL and underlying operating system
! pt-summary collects data about hardware and OS settings
! CPU, memory, disk, load on the system
! pt-mysql-summary connects to MySQL instance and gives you data about workload and configuration
! Type of queries that are running, handlers, configuration
! snapshot of current traffic
! and many others
Copyright 2016 Severalnines AB
28
Tools useful in tuning the configuration - pt-summary
Copyright 2016 Severalnines AB
29
Tools useful in tuning the configuration - pt-mysql-summary
Copyright 2016 Severalnines AB
30
Tools useful in tuning the configuration - pt-mysql-summary
Copyright 2016 Severalnines AB
31
What to avoid when tuning MySQL?
Copyright 2016 Severalnines AB
32
What to avoid when tuning MySQL?
! Tuning MySQL is not a simple task - it’s very time-consuming to go through the process of change
- test - change - test…
! People like to simplify things and look for shortcuts
! Auto-tuning tools have been created
! mysqltuner.pl
! Configurators and wizards have been created (i.e. by Percona)
! Monitoring and management tools offer advisors (i.e. ClusterControl)
Copyright 2016 Severalnines AB
33
What to avoid when tuning MySQL?
! Some of those tools base on counters from MySQL internal status and this is tricky
! The fact you have joins performed without indices doesn’t justify increasing join_buffer_size
! Sometimes making a good change is a bad decision
! If you run MySQL without binlog enabled, without double_buffer or without XA enabled, you
may see a suggestion to enable those features
! Binlog is great for point-in-time recovery
! double_buffer and XA helps keep your data safe
! Enabling them will add serious I/O load on the system - it may not handle it
Copyright 2016 Severalnines AB
34
What to keep in mind when tuning MySQL?
! Make sure you follow the tuning process as we described - one change at a time
! If you use external tools that provide suggestions, take them with a grain of salt
! How competent is the vendor in databases?
! Even if the vendor has the competence - do I understand what this change is and how it may
impact my system?
! If you setup a new host, you may use external tools more freely
! This would be initial tuning, not changing the way how application already works
! Make sure you use common sense and each of your changes has a reason
Copyright 2016 Severalnines AB
35
Thank you!
! More blogs in “Become a MySQL DBA” series:
! http://www.severalnines.com/blog/become-mysql-dba-blog-series-
query-tuning-process
! http://www.severalnines.com/blog/become-mysql-dba-blog-series-
configuration-tuning-performance
! MySQL Replication Blueprint
! http://severalnines.com/blog/new-whitepaper-mysql-replication-
blueprint
! Contact: jj@severalnines.com

Mais conteúdo relacionado

Mais procurados

Drilling Deep Into Exadata Performance
Drilling Deep Into Exadata PerformanceDrilling Deep Into Exadata Performance
Drilling Deep Into Exadata PerformanceEnkitec
 
Direct SGA access without SQL
Direct SGA access without SQLDirect SGA access without SQL
Direct SGA access without SQLKyle Hailey
 
12cR2 Single-Tenant: Multitenant Features for All Editions
12cR2 Single-Tenant: Multitenant Features for All Editions12cR2 Single-Tenant: Multitenant Features for All Editions
12cR2 Single-Tenant: Multitenant Features for All EditionsFranck Pachot
 
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016Dave Stokes
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 
SSD based storage tuning for databases
SSD based storage tuning for databasesSSD based storage tuning for databases
SSD based storage tuning for databasesAngelo Rajadurai
 
Scaling sql server 2014 parallel insert
Scaling sql server 2014 parallel insertScaling sql server 2014 parallel insert
Scaling sql server 2014 parallel insertChris Adkin
 
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linuxUpgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linuxmaclean liu
 
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTroubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTanel Poder
 
Dbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easyDbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easyFranck Pachot
 
Sun Oracle Exadata Technical Overview V1
Sun Oracle Exadata Technical Overview V1Sun Oracle Exadata Technical Overview V1
Sun Oracle Exadata Technical Overview V1jenkin
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleAlex Thompson
 
Oracle Database Management Basic 1
Oracle Database Management Basic 1Oracle Database Management Basic 1
Oracle Database Management Basic 1Chien Chung Shen
 
Using Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisUsing Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisSveta Smirnova
 
Webinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e softwareWebinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e softwareNetgear Italia
 
Oracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesOracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesTanel Poder
 
Plmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_finalPlmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_finalMarco Tusa
 
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios
 

Mais procurados (20)

Drilling Deep Into Exadata Performance
Drilling Deep Into Exadata PerformanceDrilling Deep Into Exadata Performance
Drilling Deep Into Exadata Performance
 
Direct SGA access without SQL
Direct SGA access without SQLDirect SGA access without SQL
Direct SGA access without SQL
 
12cR2 Single-Tenant: Multitenant Features for All Editions
12cR2 Single-Tenant: Multitenant Features for All Editions12cR2 Single-Tenant: Multitenant Features for All Editions
12cR2 Single-Tenant: Multitenant Features for All Editions
 
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 
SSD based storage tuning for databases
SSD based storage tuning for databasesSSD based storage tuning for databases
SSD based storage tuning for databases
 
Scaling sql server 2014 parallel insert
Scaling sql server 2014 parallel insertScaling sql server 2014 parallel insert
Scaling sql server 2014 parallel insert
 
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linuxUpgrade 11.2.0.1 rac db to 11.2.0.2 in linux
Upgrade 11.2.0.1 rac db to 11.2.0.2 in linux
 
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTroubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contention
 
MySQL Monitoring 101
MySQL Monitoring 101MySQL Monitoring 101
MySQL Monitoring 101
 
Install oracle11gr2 rhel5
Install oracle11gr2 rhel5Install oracle11gr2 rhel5
Install oracle11gr2 rhel5
 
Dbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easyDbvisit replicate: logical replication made easy
Dbvisit replicate: logical replication made easy
 
Sun Oracle Exadata Technical Overview V1
Sun Oracle Exadata Technical Overview V1Sun Oracle Exadata Technical Overview V1
Sun Oracle Exadata Technical Overview V1
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scale
 
Oracle Database Management Basic 1
Oracle Database Management Basic 1Oracle Database Management Basic 1
Oracle Database Management Basic 1
 
Using Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data AnalysisUsing Apache Spark and MySQL for Data Analysis
Using Apache Spark and MySQL for Data Analysis
 
Webinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e softwareWebinar NETGEAR - ReadyNAS, le novità hardware e software
Webinar NETGEAR - ReadyNAS, le novità hardware e software
 
Oracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesOracle Exadata Performance: Latest Improvements and Less Known Features
Oracle Exadata Performance: Latest Improvements and Less Known Features
 
Plmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_finalPlmce 14 be a_hero_16x9_final
Plmce 14 be a_hero_16x9_final
 
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
 

Destaque

Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...Severalnines
 
Marco curricular
Marco curricularMarco curricular
Marco curricularMarankell
 
LA DIVERSIDAD E INCLSION SOCIAL
LA DIVERSIDAD E INCLSION SOCIAL LA DIVERSIDAD E INCLSION SOCIAL
LA DIVERSIDAD E INCLSION SOCIAL leygarzuri
 
Determination of administrative data quality: recent results and new developm...
Determination of administrative data quality: recent results and new developm...Determination of administrative data quality: recent results and new developm...
Determination of administrative data quality: recent results and new developm...Piet J.H. Daas
 
The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...
The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...
The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...Moshe Kaplan
 
"القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة"
"القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة""القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة"
"القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة"Dr. Islam Abou Elmagd
 
Kleureneconomie & Ontwerp je Eigen Economie
Kleureneconomie & Ontwerp je Eigen EconomieKleureneconomie & Ontwerp je Eigen Economie
Kleureneconomie & Ontwerp je Eigen EconomieBarry Barry
 
Blog 2016 15 - Effective Interest Rate - Solving the riddle
Blog 2016 15 - Effective Interest Rate - Solving the riddleBlog 2016 15 - Effective Interest Rate - Solving the riddle
Blog 2016 15 - Effective Interest Rate - Solving the riddleSandip Mukherjee CFA, FRM
 
UMC Utrecht SAS Forum 2014
UMC Utrecht SAS Forum 2014UMC Utrecht SAS Forum 2014
UMC Utrecht SAS Forum 2014henkstobbe
 
Chapter10 International Finance Management
Chapter10 International Finance ManagementChapter10 International Finance Management
Chapter10 International Finance ManagementPiyush Gaur
 
Chapter9 International Finance Management
Chapter9 International Finance ManagementChapter9 International Finance Management
Chapter9 International Finance ManagementPiyush Gaur
 
Atlantic View Restaurant Professional Service Training Manual 2nd Edition
Atlantic View Restaurant Professional Service Training Manual 2nd EditionAtlantic View Restaurant Professional Service Training Manual 2nd Edition
Atlantic View Restaurant Professional Service Training Manual 2nd EditionSamuel D. Anthony
 
Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Cyber Security Alliance
 
WINs Process Mapping - Risk Assessment Session
WINs Process Mapping - Risk Assessment SessionWINs Process Mapping - Risk Assessment Session
WINs Process Mapping - Risk Assessment Sessionjohncarrollcanyon
 
Sharding with spider solutions 20160721
Sharding with spider solutions 20160721Sharding with spider solutions 20160721
Sharding with spider solutions 20160721Kentoku
 

Destaque (20)

Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
 
Marco curricular
Marco curricularMarco curricular
Marco curricular
 
LA DIVERSIDAD E INCLSION SOCIAL
LA DIVERSIDAD E INCLSION SOCIAL LA DIVERSIDAD E INCLSION SOCIAL
LA DIVERSIDAD E INCLSION SOCIAL
 
Determination of administrative data quality: recent results and new developm...
Determination of administrative data quality: recent results and new developm...Determination of administrative data quality: recent results and new developm...
Determination of administrative data quality: recent results and new developm...
 
The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...
The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...
The VP R&D Open Seminar on Project Management, SCRUM, Agile and Continuous De...
 
Merged document 121
Merged document 121Merged document 121
Merged document 121
 
"القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة"
"القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة""القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة"
"القرض الروسي" لتمويل البرنامج النووي المصري من منظور مبدأ "الديون الكريهة"
 
Kleureneconomie & Ontwerp je Eigen Economie
Kleureneconomie & Ontwerp je Eigen EconomieKleureneconomie & Ontwerp je Eigen Economie
Kleureneconomie & Ontwerp je Eigen Economie
 
Jorge
JorgeJorge
Jorge
 
Blog 2016 15 - Effective Interest Rate - Solving the riddle
Blog 2016 15 - Effective Interest Rate - Solving the riddleBlog 2016 15 - Effective Interest Rate - Solving the riddle
Blog 2016 15 - Effective Interest Rate - Solving the riddle
 
UMC Utrecht SAS Forum 2014
UMC Utrecht SAS Forum 2014UMC Utrecht SAS Forum 2014
UMC Utrecht SAS Forum 2014
 
Chapter10 International Finance Management
Chapter10 International Finance ManagementChapter10 International Finance Management
Chapter10 International Finance Management
 
Chapter9 International Finance Management
Chapter9 International Finance ManagementChapter9 International Finance Management
Chapter9 International Finance Management
 
Prospectiva (1)
Prospectiva (1)Prospectiva (1)
Prospectiva (1)
 
Ky nang lanh dao
Ky nang lanh daoKy nang lanh dao
Ky nang lanh dao
 
Atlantic View Restaurant Professional Service Training Manual 2nd Edition
Atlantic View Restaurant Professional Service Training Manual 2nd EditionAtlantic View Restaurant Professional Service Training Manual 2nd Edition
Atlantic View Restaurant Professional Service Training Manual 2nd Edition
 
How to Use Picmonkey
How to Use PicmonkeyHow to Use Picmonkey
How to Use Picmonkey
 
Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?
 
WINs Process Mapping - Risk Assessment Session
WINs Process Mapping - Risk Assessment SessionWINs Process Mapping - Risk Assessment Session
WINs Process Mapping - Risk Assessment Session
 
Sharding with spider solutions 20160721
Sharding with spider solutions 20160721Sharding with spider solutions 20160721
Sharding with spider solutions 20160721
 

Semelhante a Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Performance Tuning

Webinar slides: Top 9 Tips for building a stable MySQL Replication environment
Webinar slides: Top 9 Tips for building a stable MySQL Replication environmentWebinar slides: Top 9 Tips for building a stable MySQL Replication environment
Webinar slides: Top 9 Tips for building a stable MySQL Replication environmentSeveralnines
 
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningWebinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningSeveralnines
 
Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?Severalnines
 
Become a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solutionBecome a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solutionSeveralnines
 
Growing MongoDB on AWS
Growing MongoDB on AWSGrowing MongoDB on AWS
Growing MongoDB on AWScolinthehowe
 
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - SlidesSeveralnines
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimizationLouis liu
 
(DAT405) Amazon Aurora Deep Dive
(DAT405) Amazon Aurora Deep Dive(DAT405) Amazon Aurora Deep Dive
(DAT405) Amazon Aurora Deep DiveAmazon Web Services
 
Webinar replay: MySQL Query Tuning Trilogy: Query tuning process and tools
Webinar replay: MySQL Query Tuning Trilogy: Query tuning process and toolsWebinar replay: MySQL Query Tuning Trilogy: Query tuning process and tools
Webinar replay: MySQL Query Tuning Trilogy: Query tuning process and toolsSeveralnines
 
VLDB Administration Strategies
VLDB Administration StrategiesVLDB Administration Strategies
VLDB Administration StrategiesMurilo Miranda
 
Development to Production with Sharded MongoDB Clusters
Development to Production with Sharded MongoDB ClustersDevelopment to Production with Sharded MongoDB Clusters
Development to Production with Sharded MongoDB ClustersSeveralnines
 
RDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and PatternsRDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and PatternsLaine Campbell
 
NGS Informatics and Interpretation - Hardware Considerations by Michael McManus
NGS Informatics and Interpretation - Hardware Considerations by Michael McManusNGS Informatics and Interpretation - Hardware Considerations by Michael McManus
NGS Informatics and Interpretation - Hardware Considerations by Michael McManusKnome_Inc
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices Ted Wennmark
 
The care and feeding of a MySQL database
The care and feeding of a MySQL databaseThe care and feeding of a MySQL database
The care and feeding of a MySQL databaseDave Stokes
 
Lamp Stack Optimization
Lamp Stack OptimizationLamp Stack Optimization
Lamp Stack OptimizationDave Ross
 
IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.George Joseph
 
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.George Joseph
 

Semelhante a Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Performance Tuning (20)

Webinar slides: Top 9 Tips for building a stable MySQL Replication environment
Webinar slides: Top 9 Tips for building a stable MySQL Replication environmentWebinar slides: Top 9 Tips for building a stable MySQL Replication environment
Webinar slides: Top 9 Tips for building a stable MySQL Replication environment
 
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningWebinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
 
Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?
 
Become a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solutionBecome a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solution
 
Growing MongoDB on AWS
Growing MongoDB on AWSGrowing MongoDB on AWS
Growing MongoDB on AWS
 
Mysql talk
Mysql talkMysql talk
Mysql talk
 
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimization
 
(DAT405) Amazon Aurora Deep Dive
(DAT405) Amazon Aurora Deep Dive(DAT405) Amazon Aurora Deep Dive
(DAT405) Amazon Aurora Deep Dive
 
Webinar replay: MySQL Query Tuning Trilogy: Query tuning process and tools
Webinar replay: MySQL Query Tuning Trilogy: Query tuning process and toolsWebinar replay: MySQL Query Tuning Trilogy: Query tuning process and tools
Webinar replay: MySQL Query Tuning Trilogy: Query tuning process and tools
 
VLDB Administration Strategies
VLDB Administration StrategiesVLDB Administration Strategies
VLDB Administration Strategies
 
Development to Production with Sharded MongoDB Clusters
Development to Production with Sharded MongoDB ClustersDevelopment to Production with Sharded MongoDB Clusters
Development to Production with Sharded MongoDB Clusters
 
RDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and PatternsRDS for MySQL, No BS Operations and Patterns
RDS for MySQL, No BS Operations and Patterns
 
NGS Informatics and Interpretation - Hardware Considerations by Michael McManus
NGS Informatics and Interpretation - Hardware Considerations by Michael McManusNGS Informatics and Interpretation - Hardware Considerations by Michael McManus
NGS Informatics and Interpretation - Hardware Considerations by Michael McManus
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
 
The care and feeding of a MySQL database
The care and feeding of a MySQL databaseThe care and feeding of a MySQL database
The care and feeding of a MySQL database
 
Lamp Stack Optimization
Lamp Stack OptimizationLamp Stack Optimization
Lamp Stack Optimization
 
IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS FOR BIG DATA MANAGEMENT.SAP HANA DATABASE.
 
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
 
Dba tuning
Dba tuningDba tuning
Dba tuning
 

Mais de Severalnines

Cloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaSCloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaSSeveralnines
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudSeveralnines
 
Working with the Moodle Database: The Basics
Working with the Moodle Database: The BasicsWorking with the Moodle Database: The Basics
Working with the Moodle Database: The BasicsSeveralnines
 
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDBSysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDBSeveralnines
 
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...Severalnines
 
Webinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBWebinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBSeveralnines
 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlSeveralnines
 
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Severalnines
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Severalnines
 
Disaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBDisaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBSeveralnines
 
MariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash CourseMariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash CourseSeveralnines
 
Performance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDBPerformance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDBSeveralnines
 
Advanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona ServerAdvanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona ServerSeveralnines
 
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket KnifePolyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket KnifeSeveralnines
 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Severalnines
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLSeveralnines
 
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDBWebinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDBSeveralnines
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Severalnines
 
Webinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilityWebinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilitySeveralnines
 
Webinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database ManagementWebinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database ManagementSeveralnines
 

Mais de Severalnines (20)

Cloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaSCloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaS
 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloud
 
Working with the Moodle Database: The Basics
Working with the Moodle Database: The BasicsWorking with the Moodle Database: The Basics
Working with the Moodle Database: The Basics
 
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDBSysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
 
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
 
Webinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBWebinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDB
 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
 
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
 
Disaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBDisaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDB
 
MariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash CourseMariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash Course
 
Performance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDBPerformance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDB
 
Advanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona ServerAdvanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona Server
 
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket KnifePolyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
 
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDBWebinar slides: Migrating to Galera Cluster for MySQL and MariaDB
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB
 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?
 
Webinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilityWebinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High Availability
 
Webinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database ManagementWebinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database Management
 

Último

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...SUHANI PANDEY
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...nilamkumrai
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls DubaiEscorts Call Girls
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceDelhi Call girls
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftAanSulistiyo
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...tanu pandey
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...SUHANI PANDEY
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...SUHANI PANDEY
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLimonikaupta
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 

Último (20)

VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 

Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Performance Tuning

  • 1. Copyright 2016 Severalnines AB 1 Your host & some logistics I'm Jean-Jérôme from the Severalnines Team and I'm your host for today's webinar! Feel free to ask any questions in the Questions section of this application or via the Chat box. You can also contact me directly via the chat box or via email: jj@severalnines.com during or after the webinar.
  • 2. Copyright 2016 Severalnines AB Database Performance Tuning June 14, 2016 Krzysztof Książek Severalnines krzysztof@severalnines.com 2
  • 3. Copyright 2016 Severalnines AB ! We want to help all non-DBA people who look after MySQL infrastructures ! Share tips and good practices ! Watch the replays of the previous webinars: ! http://severalnines.com/webinars-replay “Become a MySQL DBA” series 3
  • 4. Copyright 2016 Severalnines AB Configuration tuning - what to tune and why? 4
  • 5. Copyright 2016 Severalnines AB 5 Configuration tuning - what to tune and why? ! Operating system ! Swapping ! I/O scheduler ! CPU scheduler ! TCP/IP stack ! MySQL configuration ! Per-session buffers ! InnoDB Buffer Pool ! InnoDB I/O settings
  • 6. Copyright 2016 Severalnines AB 6 Tuning Process
  • 7. Copyright 2016 Severalnines AB 7 Tuning process ! Never-ending story which starts once you install MySQL on the host ! You have to tune for a specific workload ! Workload may change in time ! More data can make it I/O-bound ! Different query mix may increase CPU load and put stress on different parts of the InnoDB ! Keep in mind that configuration tuning is not likely to give you a huge increase in performance (except if the server is really badly configured)
  • 8. Copyright 2016 Severalnines AB 8 Tuning process
  • 9. Copyright 2016 Severalnines AB 9 Tuning process ! You need a deterministic, test environment to make sure you can measure the impact of the changes ! Environment should mirror production as close as possible, to make it more relevant ! Changes should be introduced one at a time to ensure you understand the impact of each of them ! Benchmark the system using queries as close to production as possible ! Restore it to the original state for another round of tweaking ! Rinse and repeat until you are happy with results
  • 10. Copyright 2016 Severalnines AB 10 Tuning process ! Grab a backup of your production systems ! Restore it on a host ! Capture real-world queries using slow log or tcpdump ! Make _one_ change in my.cnf or OS settings ! Restart MySQL or reboot the host itself ! Replay queries using Percona Playback or pt-upgrade ! Measure the difference, repeat the process by restoring the backup if you want to make one more change
  • 11. Copyright 2016 Severalnines AB 11 Tuning the operating system for MySQL
  • 12. Copyright 2016 Severalnines AB 12 Tuning the operating system for MySQL - memory ! Minimize the flushing operations in OS to ensure no stalls are happening when dirty data is flushed to disk ! vm.dirty_ratio - a hard limit of the memory that can be used to cache dirty disk pages ! vm.dirty_background_ratio - percentage of system memory that can be used to cache modified (“dirty”) pages before the background flush process kicks in ! We want them to be set to low numbers - 5 - 10% to trigger flushing often and make it quick ! Default settings may result in a situation where 40% of your memory has to be flushed to disk at once ! For large instances (128GB) it can be even >50GB of data to flush
  • 13. Copyright 2016 Severalnines AB 13 Tuning the operating system for MySQL - memory ! Swapping - a process of moving data from memory to disk ! MySQL doesn’t like active swapping - we want data in memory, not on disk ! but we even more don’t want to be killed when system runs out of memory ! vm.swappiness = 1 - starting from kernel 3.5 this is the setting you want to use - allow some swapping but only when there’s no other option ! You can also deprioritize MySQL when it comes to OOM Killer: ! echo -1000 > /proc/[pid]/oom_score_adj ! should help in environments shared with other processes
  • 14. Copyright 2016 Severalnines AB 14 Tuning the operating system for MySQL - memory ! When running MySQL on bare iron, you need to make sure you have NUMA interleave policy set ! Starting from 5.6.27 a variable is available: innodb_numa_interleave ! Before that you could run MySQL as: ! numactl --interleave=all $command ! Memory allocation library may impact performance of MySQL ! Many choices: glibc malloc, tcmalloc and jemalloc ! Use LD_PRELOAD or malloc-lib variable in [mysqld_safe] section of my.cnf
  • 15. Copyright 2016 Severalnines AB 15 Tuning the operating system for MySQL - memory
  • 16. Copyright 2016 Severalnines AB 16 Tuning the operating system for MySQL - I/O ! Disk schedulers may impact performance of I/O-bound workloads ! CFQ is tuned for desktop workloads ! Noop or deadline are usually better for MySQL ! Benchmark to see which one of them will work better for you ! Filesystem - most often you’ll use EXT4 or XFS ! Performance depends on workload, hardware and kernel version ! Benchmark to see which one will work better in your environment
  • 17. Copyright 2016 Severalnines AB 17 Tuning MySQL configuration
  • 18. Copyright 2016 Severalnines AB 18 Tuning MySQL configuration - memory ! InnoDB buffer pool - used to cache data and store dirty pages ! More is better but you need to leave some memory for other buffers ! Per join buffers ! Per session buffers ! Temporary tables ! You may have heard about 80% rule ! It’s more like 90% for large (i.e. 128GB) hosts ! Make sure you err on the side of ‘too small’ ! Unless you run MySQL 5.7 where you can resize InnoDB buffer pool dynamically, without restart ! For fairly loaded (~20-30 running threads) host with 128GB of memory it should be ok to leave ~15GB of memory free ! All depends on the workload so your mileage may vary
  • 19. Copyright 2016 Severalnines AB 19 Tuning MySQL configuration - memory ! Per-session buffers in InnoDB: ! sort_buffer_size, read_buffer_size, read_rnd_buffer_size ! Per-join buffer: join_buffer_size ! By default - small values ! More _not_ always better ! At 256KB the way how memory allocates change ! smaller chunks use malloc() which is faster than mmap() ! Make sure to benchmark your system after any change to those settings
  • 20. Copyright 2016 Severalnines AB 20 Tuning MySQL configuration - I/O performance ! innodb_flush_log_at_trx_commit - governs the durability in InnoDB ! 1 - full ACID compliance ! 2 - you may lose up to 1s of transactions when hardware crashes ! 0 - you may lose up to 1s of transactions when MySQL crashes ! Significant change in the I/O performance - less flushes means less I/O and less overhead ! Pick whatever you like and whatever you need ! Slaves may not require full durability if you have many of them ! Galera Cluster nodes may also not require full durability
  • 21. Copyright 2016 Severalnines AB 21 ! innodb_io_capacity, innodb_io_capacity_max and innodb_lru_scan_depth - define number of disk operations InnoDB can execute ! Set it too low and you may not fully utilize your hardware ! More not always better - aggressive flushing is not always the best option ! Redo logs are there for some reason - to minimize number of writes to tablespaces ! innodb_flush_method: ! O_DIRECT for BBU-backed hardware ! O_DSYNC may work better with SAN ! Benchmark your setup before you go live Tuning MySQL configuration - I/O performance
  • 22. Copyright 2016 Severalnines AB 22 Tuning MySQL configuration - I/O performance ! InnoDB Redo Logs are used to store write transactions and they are written sequentially ! MySQL must not run out of space in them ! Larger logs help with better write merging ! Larger logs help with more stable flushing ! Larger logs may seriously impact recovery time in case of a crash ! The rule of thumb is to make them large enough to store at least 1h of writes
  • 23. Copyright 2016 Severalnines AB 23 Tuning MySQL configuration
  • 24. Copyright 2016 Severalnines AB 24 Tuning MySQL configuration - contentions ! innodb_buffer_pool_instances, table_open_cache_instances ! metadata_locks_hash_instances, innodb_adaptive_hash_index_partitions ! Those options can help you to reduce contention on some of those structures ! Increase number of buffer pools or adaptive hash index partitions if you notice a congestion on them ! Or, preemptively, if you have to handle highly concurrent traffic ! Don’t use buffer pool instances smaller than 1GB (use 2GB+, more instances can slow down the system)
  • 25. Copyright 2016 Severalnines AB ! max_connections - keep it large enough to handle incoming connections but avoid hundreds of open connections ! If you need to handle thousands of connections, check the connection pooling options or a proxy, ideally with connection multiplexing ! log_bin - you want to have binlogs enabled ! sync_binlog=0 for MySQL 5.7 - it used to be a default on MySQL 5.6, it has been changed in 5.7.7 ! skip_name_resolve - just to make sure your database won’t suffer when DNS will not be reachable ! Query cache - optimize it away by disabling ! Use external caching layer (Redis, Memcached) 25 Tuning MySQL configuration
  • 26. Copyright 2016 Severalnines AB 26 Tools useful in tuning the configuration
  • 27. Copyright 2016 Severalnines AB 27 Tools useful in tuning the configuration ! Percona developed two great tools, part of the Percona Toolkit suite, which helps you to collect useful data about MySQL and underlying operating system ! pt-summary collects data about hardware and OS settings ! CPU, memory, disk, load on the system ! pt-mysql-summary connects to MySQL instance and gives you data about workload and configuration ! Type of queries that are running, handlers, configuration ! snapshot of current traffic ! and many others
  • 28. Copyright 2016 Severalnines AB 28 Tools useful in tuning the configuration - pt-summary
  • 29. Copyright 2016 Severalnines AB 29 Tools useful in tuning the configuration - pt-mysql-summary
  • 30. Copyright 2016 Severalnines AB 30 Tools useful in tuning the configuration - pt-mysql-summary
  • 31. Copyright 2016 Severalnines AB 31 What to avoid when tuning MySQL?
  • 32. Copyright 2016 Severalnines AB 32 What to avoid when tuning MySQL? ! Tuning MySQL is not a simple task - it’s very time-consuming to go through the process of change - test - change - test… ! People like to simplify things and look for shortcuts ! Auto-tuning tools have been created ! mysqltuner.pl ! Configurators and wizards have been created (i.e. by Percona) ! Monitoring and management tools offer advisors (i.e. ClusterControl)
  • 33. Copyright 2016 Severalnines AB 33 What to avoid when tuning MySQL? ! Some of those tools base on counters from MySQL internal status and this is tricky ! The fact you have joins performed without indices doesn’t justify increasing join_buffer_size ! Sometimes making a good change is a bad decision ! If you run MySQL without binlog enabled, without double_buffer or without XA enabled, you may see a suggestion to enable those features ! Binlog is great for point-in-time recovery ! double_buffer and XA helps keep your data safe ! Enabling them will add serious I/O load on the system - it may not handle it
  • 34. Copyright 2016 Severalnines AB 34 What to keep in mind when tuning MySQL? ! Make sure you follow the tuning process as we described - one change at a time ! If you use external tools that provide suggestions, take them with a grain of salt ! How competent is the vendor in databases? ! Even if the vendor has the competence - do I understand what this change is and how it may impact my system? ! If you setup a new host, you may use external tools more freely ! This would be initial tuning, not changing the way how application already works ! Make sure you use common sense and each of your changes has a reason
  • 35. Copyright 2016 Severalnines AB 35 Thank you! ! More blogs in “Become a MySQL DBA” series: ! http://www.severalnines.com/blog/become-mysql-dba-blog-series- query-tuning-process ! http://www.severalnines.com/blog/become-mysql-dba-blog-series- configuration-tuning-performance ! MySQL Replication Blueprint ! http://severalnines.com/blog/new-whitepaper-mysql-replication- blueprint ! Contact: jj@severalnines.com