SlideShare a Scribd company logo
Optimizing MySQL for 
Cascade Server 
James Kreuziger 
Strategic Communications 
@jkreuzig 
#csuc14 
1
The standard “a little bit about myself” 
• Graduate of UC Irvine (96) with a B.S. in Physics 
• Staff member for the last 16 years 
• First 8 years as a scientific programmer on grant funded research 
• Last 8 years in communications department building websites 
• Hobbies 
– Soccer referee 
• USSF Grade 6 State Referee 
• AYSO National Referee 
• Southern California Soccer Officials Association (High School Soccer) 
• NISOA Referee (National Intercollegiate Soccer Officials Association) 
2
Overview 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
• Default MySQL configuration 
• Configuring MySQL for your workload 
• Tools for testing 
• Testing and results 
• Questions 
• Resources 
3
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
4
Who is this presentation for? 
On a daily basis, I wear many hats: 
• Cascade administrator 
• Database administrator 
• System administrator 
• Apache administrator 
• Google Search Appliance 
• And the catch all: 
OTHER DUTIES AS ASSIGNED 
5
Who is this presentation for? 
You should be here if: 
• Cascade administrators 
• Want to migrate from another db 
• You have installed MySQL for 
other reasons, but haven’t done 
any other configuration. 
Not really for: 
• Large MySQL installation dba’s 
• You are running MySQL in the 
cloud 
6
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
7
What we won’t cover today 
• Configuration of Cascade Server 
• MySQL replication or cluster setups 
• Memcached 
8
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
9
Terminology 
Query Cache – From the MySQL Documentation[1] 
“The query cache stores the text of a SELECT statement together with the 
corresponding result that was sent to the client. If an identical statement is 
received later, the server retrieves the results from the query cache rather than 
parsing and executing the statement again. The query cache is shared among 
sessions, so a result set generated by one client can be sent in response to the 
same query issued by another client.” 
The key here is “identical statement”. Every space, term 
and even the capitalization of the statement has to be the 
same. 
1. http://dev.mysql.com/doc/refman/5.5/en/query-cache.html 10
Terminology cont. 
Innodb Buffer Pool – From the MySQL Documentation[2] 
“InnoDB maintains a storage area called the buffer pool for caching data and 
indexes in memory” 
VERY important. Probably one of the most important 
configuration options. If you make only one change to your 
configuration, this (in my opinion) is the most important. 
2. http://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-pool.html 11
Terminology cont. 
Row – An entry in a database table 
Page - The default size at which data is moved between disk and memory 
(default = 16K for MySQL)[3]. It’s the smallest unit of on disk storage. 
– In MySQL, the max a row can be is roughly 50% of the page size (8000 bytes default) not 
including VARBINAY, VARCHAR, BOLOB or TEXT columns. 
Why is the max row size restricted to 50% of the page size? 
– To allow one page to store at least 2 columns. 
3. http://dev.mysql.com/doc/refman/5.5/en/glossary.html#glos_page 12
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
13
Hardware requirements 
Hannon Hill requirements for running MySQL for Cascade[4] 
• MySQL 5.0 / 5.1 / 5.5 
• Memory for database server: 
– 2 GB RAM (minimum) 
– 4 GB RAM (recommended) 
I’d recommend a quad-core server with a minimum 16 GB 
RAM for your database server. 
4. http://www.hannonhill.com/products/requirements.html 14
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
15
Which version of MySQL to run 
• 5.0 
• 5.1 
• 5.5 
• 5.6? Not yet officially supported 
4. http://www.hannonhill.com/products/requirements.html 16
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
17
Which flavor of MySQL to run 
• Oracle MySQL 
• MariaDB 
– Soon to be the default database server for RedHat and by default, CentOS 
– http://ideas.hannonhill.com/forums/52559-ideas-for-cascade-server/suggestions/ 
6065138-add-support-for-mariadb 
• Percona Server 
– My favorite 
– Percona XtraDB is a drop in replacement for innodb[5] 
– XtraDB available in MariaDB as well. 
Note: Only Oracle MySQL is listed as currently supported. Try these 
others at your own risk. 
5. http://www.percona.com/software/percona-xtradb 18
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
• Default MySQL configuration 
19
Default MySQL configuration 
These are the Hannon Hill recommendations[6] 
• InnoDB storage engine 
• max_allowed_packet=16M 
• key_buffer=16M 
• Character set is defined when creating the database 
6. http://www.hannonhill.com/kb/Database-Config/ 20
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
• Default MySQL configuration 
• Configuring MySQL for your workload 
21
Configuring MySQL for your workload 
The my.cnf file 
Innodb should be the default storage engine 
• innodb_file_per_table = 1 
• log_bin = <directory where binary log files live> 
• Cache (query caches and other caches) 
– binlog_cache_size 
– thread_cache_size 
– query_cache_size 
– query_cache_limit 
22
Configuring MySQL for your workload 
cont. 
• Buffers 
– innodb_buffer_pool - VERY important. Probably one of the most 
important configuration options. The bigger you can make this, 
the better. 80% of available memory is a good starting point. If 
you have 128 GB+ memory available on your machine, you may 
even be able to push it higher (90%) 
You can make this too big. If your entire dataset can fit into 
the inoodb_buffer_pool, it’s probably too big. 
23
Configuring MySQL for your workload 
cont. 
• Storage 
– If you have the option, store your data and binary log files on 
separate physical disks 
“But I don’t want to read all the documentation. I just want 
to get started with a good, solid configuration file that 
meets my needs.” 
• Percona configuration tool – https://tools.percona.com/ 
24
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
• Default MySQL configuration 
• Configuring MySQL for your workload 
• Tools for testing 
25
Tools for testing 
• Hardware monitoring – Vmware vSphere web client 
– If you have the option, store your data and binary log files on 
separate physical disks 
26
Tools for testing cont. 
• Monitoring MySQL 
– MySQL Workbench - http://mysqlworkbench.org/ 
27
Tools for testing cont. 
• jmeter – Open Source load testing tool written in java 
- http://jmeter.apache.org/ 
28
Tools for testing cont. 
• Blazemeter – jmeter in the cloud. 
• http://blazemeter.com 
29
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
• Default MySQL configuration 
• Configuring MySQL for your workload 
• Tools for testing 
• Testing and results 
30
Testing and results 
• Test hardware setup – cmstest.oit.uci.edu 
– Vmware vcenter server 
– Intel® "Penryn" Generation, 4 CPU 
– CentOS 6 (64-bit) 
– 8GB RAM 
– 512GB Storage 
• Cascade Setup 
– Cascade 7.12 
– Java options 
• export JAVA_OPTS="-d64 -server –Xmx4096M -XX:MaxPermSize=512M 
31
Testing and results cont. 
• MySQL Setup 
– Default MySQL server configuration (Hannon Hill 
recommendations) 
• cascade-test-stripped.cnf 
– My configuration 
• cascade-my-test.cnf (most comments have been stripped out) 
– Cascade database configuration options – Can be set at 
database creation/restore, or using ALTER TABLE 
• KEY_BLOCK_SIZE 
– 16K 
– 8K 
– 4K 
– 2K or 1K – Not tested. Not useful for a Cascade database instance. Row sizes 
won’t compress. 
32
Testing and results cont. 
• Storage testing 
– Examine the file sizes of the .ibd (innodb) files. These are the 
storage files for the data and indexes for each table. The size 
shown in the OS corresponds to how much space each table is 
taking. 
– Could determine this through MySQL system tables, but results 
would be comparable and it would take more time. 
– Use ALTER TABLE to change all tables 
• KEY_BLOCK_SIZE=16 
• KEY_BLOCK_SIZE=8 
• KEY_BLOCK_SIZE=4 
33
Testing and results cont. 
• Storage testing results 
34
Testing and results cont. 
• Load testing 
– jmeter running on a 27” iMac, Quad Core, 32 GB RAM 
• Allocated 10GB memory, otherwise it crashes 
– Test plan - Cascade-Test.jmx 
• 20 minute test 
• 10 minute ramp up time 
• 15 users 
• Login, publishing (pages and directories), editing, opening, changing sites, 
deleting messages, logoff 
• Plan was to exercise Cascade with a typical number of active users (15) 
and different MySQL configurations. 
35
Testing and results cont. 
• Load testing results 
– KEY_BLOCK_SIZE=16, 30 users 
• Too many errors 
– KEY_BLOCK_SIZE=16, 15 users 
• 346.5 ms average. response time 
– KEY_BLOCK_SIZE=8, 15 users 
• 339.5 ms average response time 
– KEY_BLOCK_SIZE=4, 15 users (single run) 
• 331 ms average response time 
– KEY_BLOCK_SIZE=16, 15 users, minimal configuration 
• 389 ms average response time 
Note: I didn’t test compression on the minimal configuration, as it 
wasn’t enabled. 
36
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
• Default MySQL configuration 
• Configuring MySQL for your workload 
• Tools for testing 
• Testing and results 
• Questions 
37
Optimizing MySQL for Cascade Server 
• Who is this presentation for? 
• What we won’t cover today 
• Terminology 
• Hardware requirements 
• Which version of MySQL to run 
• Which flavor of MySQL to run 
• Default MySQL configuration 
• Configuring MySQL for your workload 
• Tools for testing 
• Testing and results 
• Questions 
• Resources 
38
Resources 
• Book 
– High Performance MySQL, 3rd Edition - Baron Schwartz, Peter 
Zaitsev, and Vadim Tkachenko 
– http://www.highperfmysql.com/ 
• Percona 
– http://www.percona.com/ 
– Percona Tools https://tools.percona.com/ 
– YouTube https://www.youtube.com/user/PerconaMySQL 
• MariaDB 
– https://mariadb.org/ 
• Oracle MySQL 
– http://dev.mysql.com/doc/refman/5.5/en/ - Best overall 
documentation 
39
Thank You! 
James Kreuziger 
jkreuzig@uci.edu 
http://uci.edu/ 
@jkreuzig 
#csuc14 
949-824-5484 
40

More Related Content

What's hot

Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
Understanding MySql locking issues
Understanding MySql locking issuesUnderstanding MySql locking issues
Understanding MySql locking issues
Om Vikram Thapa
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera ClusterAbdul Manaf
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qcAnis Berejeb
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
Ted Wennmark
 
High performance and high availability proxies for MySQL
High performance and high availability proxies for MySQLHigh performance and high availability proxies for MySQL
High performance and high availability proxies for MySQL
Mydbops
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17
Alkin Tezuysal
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 PerformanceMYXPLAIN
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)
Mydbops
 
Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.
Mydbops
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
FromDual GmbH
 
MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010
OSSCube
 
Mysql 57-upcoming-changes
Mysql 57-upcoming-changesMysql 57-upcoming-changes
Mysql 57-upcoming-changesMorgan Tocker
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
Ted Wennmark
 
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
M Malai
 
Tool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQLTool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQLtoolitup
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMorgan Tocker
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp
 

What's hot (20)

Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Understanding MySql locking issues
Understanding MySql locking issuesUnderstanding MySql locking issues
Understanding MySql locking issues
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qc
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
 
High performance and high availability proxies for MySQL
High performance and high availability proxies for MySQLHigh performance and high availability proxies for MySQL
High performance and high availability proxies for MySQL
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 Performance
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)
 
Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 
MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010
 
Mysql 57-upcoming-changes
Mysql 57-upcoming-changesMysql 57-upcoming-changes
Mysql 57-upcoming-changes
 
PostgreSQL and MySQL
PostgreSQL and MySQLPostgreSQL and MySQL
PostgreSQL and MySQL
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
 
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
 
Tool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQLTool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQL
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql Fabric
 

Viewers also liked

2 Men 1 Site
2 Men 1 Site2 Men 1 Site
2 Men 1 Site
hannonhill
 
Angularjs cascade
Angularjs cascadeAngularjs cascade
Angularjs cascade
hannonhill
 
Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...
hannonhill
 
Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT
Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLTBlock Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT
Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT
hannonhill
 
Web Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital TransformationWeb Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital Transformation
hannonhill
 
Cascade + Bootstrap = Awesome
Cascade + Bootstrap = AwesomeCascade + Bootstrap = Awesome
Cascade + Bootstrap = Awesome
hannonhill
 
Using Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page OptimizationUsing Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page Optimization
hannonhill
 
Connecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade ServerConnecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade Server
hannonhill
 

Viewers also liked (8)

2 Men 1 Site
2 Men 1 Site2 Men 1 Site
2 Men 1 Site
 
Angularjs cascade
Angularjs cascadeAngularjs cascade
Angularjs cascade
 
Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...Information Architecture and User Experience: The Journey, The Destination, T...
Information Architecture and User Experience: The Journey, The Destination, T...
 
Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT
Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLTBlock Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT
Block Choosers, Configuration Blocks, Metadata Sets, Indexing and XSLT
 
Web Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital TransformationWeb Governance Crash Course: Creating a Sustainable Digital Transformation
Web Governance Crash Course: Creating a Sustainable Digital Transformation
 
Cascade + Bootstrap = Awesome
Cascade + Bootstrap = AwesomeCascade + Bootstrap = Awesome
Cascade + Bootstrap = Awesome
 
Using Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page OptimizationUsing Cascade technology to increase SEO/Landing Page Optimization
Using Cascade technology to increase SEO/Landing Page Optimization
 
Connecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade ServerConnecting Ecommerce & Centralized Analytics to Cascade Server
Connecting Ecommerce & Centralized Analytics to Cascade Server
 

Similar to Optimizing MySQL for Cascade Server

MySQL :What's New #GIDS16
MySQL :What's New #GIDS16MySQL :What's New #GIDS16
MySQL :What's New #GIDS16
Sanjay Manwani
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
Mario Beck
 
MySQL 5.7 what's new
MySQL 5.7 what's newMySQL 5.7 what's new
MySQL 5.7 what's new
Ricky Setyawan
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
sqlhjalp
 
MySQL Strategy&Roadmap
MySQL Strategy&RoadmapMySQL Strategy&Roadmap
MySQL Strategy&Roadmap
slidethanks
 
My sqlstrategyroadmap
My sqlstrategyroadmapMy sqlstrategyroadmap
My sqlstrategyroadmapslidethanks
 
Running MySQL on Linux
Running MySQL on LinuxRunning MySQL on Linux
Running MySQL on Linux
Great Wide Open
 
Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2
Marco Tusa
 
high performance databases
high performance databaseshigh performance databases
high performance databases
mahdi_92
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
Colin Charles
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive WritesLiran Zelkha
 
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
Dylan Butler
 
MySQL Performance Tuning London Meetup June 2017
MySQL Performance Tuning London Meetup June 2017MySQL Performance Tuning London Meetup June 2017
MySQL Performance Tuning London Meetup June 2017
Ivan Zoratti
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
Olivier DASINI
 
How does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsDataHow does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsData
acelyc1112009
 
Scaling MySQL Using Fabric
Scaling MySQL Using FabricScaling MySQL Using Fabric
Scaling MySQL Using FabricRemote MySQL DBA
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
Karthik .P.R
 
Tuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadTuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy Workload
Marius Adrian Popa
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
Steve Feldman
 

Similar to Optimizing MySQL for Cascade Server (20)

MySQL :What's New #GIDS16
MySQL :What's New #GIDS16MySQL :What's New #GIDS16
MySQL :What's New #GIDS16
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
MySQL 5.7 what's new
MySQL 5.7 what's newMySQL 5.7 what's new
MySQL 5.7 what's new
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
MySQL Strategy&Roadmap
MySQL Strategy&RoadmapMySQL Strategy&Roadmap
MySQL Strategy&Roadmap
 
My sqlstrategyroadmap
My sqlstrategyroadmapMy sqlstrategyroadmap
My sqlstrategyroadmap
 
Running MySQL on Linux
Running MySQL on LinuxRunning MySQL on Linux
Running MySQL on Linux
 
Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2Scaling with sync_replication using Galera and EC2
Scaling with sync_replication using Galera and EC2
 
high performance databases
high performance databaseshigh performance databases
high performance databases
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
Transitioning From SQL Server to MySQL - Presentation from Percona Live 2016
 
MySQL Performance Tuning London Meetup June 2017
MySQL Performance Tuning London Meetup June 2017MySQL Performance Tuning London Meetup June 2017
MySQL Performance Tuning London Meetup June 2017
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
How does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsDataHow does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsData
 
Scaling MySQL Using Fabric
Scaling MySQL Using FabricScaling MySQL Using Fabric
Scaling MySQL Using Fabric
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
 
Tuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadTuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy Workload
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
 

More from hannonhill

Data Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JSData Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JS
hannonhill
 
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
hannonhill
 
Fun with Cascade Server!
Fun with Cascade Server!Fun with Cascade Server!
Fun with Cascade Server!
hannonhill
 
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
Accessibility in Practice:  Integrating Web Accessibility into Cascade TrainingAccessibility in Practice:  Integrating Web Accessibility into Cascade Training
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
hannonhill
 
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade ServerCrowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
hannonhill
 
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
hannonhill
 
Climbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground UpClimbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground Up
hannonhill
 
In Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified TemplateIn Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified Template
hannonhill
 
Cusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding PlatformCusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding Platform
hannonhill
 
Web Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and SimplicityWeb Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and Simplicity
hannonhill
 
Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!
hannonhill
 
Web Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web ServicesWeb Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web Services
hannonhill
 
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
hannonhill
 
Redesign in Cascade Server
Redesign in Cascade ServerRedesign in Cascade Server
Redesign in Cascade Server
hannonhill
 
Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server
hannonhill
 
Leveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with WebservicesLeveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with Webservices
hannonhill
 
Making the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoringMaking the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoring
hannonhill
 
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
hannonhill
 
Preparing for Emergency Communications
Preparing for Emergency CommunicationsPreparing for Emergency Communications
Preparing for Emergency Communications
hannonhill
 
A Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade ServerA Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade Server
hannonhill
 

More from hannonhill (20)

Data Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JSData Modeling with Cascade Server and HighCharts JS
Data Modeling with Cascade Server and HighCharts JS
 
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
Modernizing Internal Communications with Cascade Server, WordPress and MailCh...
 
Fun with Cascade Server!
Fun with Cascade Server!Fun with Cascade Server!
Fun with Cascade Server!
 
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
Accessibility in Practice:  Integrating Web Accessibility into Cascade TrainingAccessibility in Practice:  Integrating Web Accessibility into Cascade Training
Accessibility in Practice: Integrating Web Accessibility into Cascade Training
 
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade ServerCrowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
Crowdsourced Maps: From Google Forms to Fusion Tables to Cascade Server
 
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...	Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
Superautomatic! Data Feeds, Bricks, and Blocks, with Server-side Transformat...
 
Climbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground UpClimbing Migration Mountain: 200+ Sites from the Ground Up
Climbing Migration Mountain: 200+ Sites from the Ground Up
 
In Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified TemplateIn Pursuit of the Grand Unified Template
In Pursuit of the Grand Unified Template
 
Cusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding PlatformCusestarter or How We Built Our Own Crowdfunding Platform
Cusestarter or How We Built Our Own Crowdfunding Platform
 
Web Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and SimplicityWeb Services: Encapsulation, Reusability, and Simplicity
Web Services: Encapsulation, Reusability, and Simplicity
 
Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!Cascade Server: Past, Present, and Future!
Cascade Server: Past, Present, and Future!
 
Web Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web ServicesWeb Forms, or How I Learned to Stop Worrying and Love Web Services
Web Forms, or How I Learned to Stop Worrying and Love Web Services
 
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...Outputting Their Full Potential: Using Outputs for Site Redesigns andDevelo...
Outputting Their Full Potential: Using Outputs for Site Redesigns and Develo...
 
Redesign in Cascade Server
Redesign in Cascade ServerRedesign in Cascade Server
Redesign in Cascade Server
 
Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server Building Org Charts Using Cascade Server
Building Org Charts Using Cascade Server
 
Leveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with WebservicesLeveraging Administrative Tasks with Webservices
Leveraging Administrative Tasks with Webservices
 
Making the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoringMaking the grade without Clippy – Use of automatic readability scoring
Making the grade without Clippy – Use of automatic readability scoring
 
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web S...
 
Preparing for Emergency Communications
Preparing for Emergency CommunicationsPreparing for Emergency Communications
Preparing for Emergency Communications
 
A Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade ServerA Groovy Way to Interface With Cascade Server
A Groovy Way to Interface With Cascade Server
 

Recently uploaded

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
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
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
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
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
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
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
 
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
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 

Recently uploaded (20)

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
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
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...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
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)
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
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
 
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
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 

Optimizing MySQL for Cascade Server

  • 1. Optimizing MySQL for Cascade Server James Kreuziger Strategic Communications @jkreuzig #csuc14 1
  • 2. The standard “a little bit about myself” • Graduate of UC Irvine (96) with a B.S. in Physics • Staff member for the last 16 years • First 8 years as a scientific programmer on grant funded research • Last 8 years in communications department building websites • Hobbies – Soccer referee • USSF Grade 6 State Referee • AYSO National Referee • Southern California Soccer Officials Association (High School Soccer) • NISOA Referee (National Intercollegiate Soccer Officials Association) 2
  • 3. Overview • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run • Default MySQL configuration • Configuring MySQL for your workload • Tools for testing • Testing and results • Questions • Resources 3
  • 4. Optimizing MySQL for Cascade Server • Who is this presentation for? 4
  • 5. Who is this presentation for? On a daily basis, I wear many hats: • Cascade administrator • Database administrator • System administrator • Apache administrator • Google Search Appliance • And the catch all: OTHER DUTIES AS ASSIGNED 5
  • 6. Who is this presentation for? You should be here if: • Cascade administrators • Want to migrate from another db • You have installed MySQL for other reasons, but haven’t done any other configuration. Not really for: • Large MySQL installation dba’s • You are running MySQL in the cloud 6
  • 7. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today 7
  • 8. What we won’t cover today • Configuration of Cascade Server • MySQL replication or cluster setups • Memcached 8
  • 9. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology 9
  • 10. Terminology Query Cache – From the MySQL Documentation[1] “The query cache stores the text of a SELECT statement together with the corresponding result that was sent to the client. If an identical statement is received later, the server retrieves the results from the query cache rather than parsing and executing the statement again. The query cache is shared among sessions, so a result set generated by one client can be sent in response to the same query issued by another client.” The key here is “identical statement”. Every space, term and even the capitalization of the statement has to be the same. 1. http://dev.mysql.com/doc/refman/5.5/en/query-cache.html 10
  • 11. Terminology cont. Innodb Buffer Pool – From the MySQL Documentation[2] “InnoDB maintains a storage area called the buffer pool for caching data and indexes in memory” VERY important. Probably one of the most important configuration options. If you make only one change to your configuration, this (in my opinion) is the most important. 2. http://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-pool.html 11
  • 12. Terminology cont. Row – An entry in a database table Page - The default size at which data is moved between disk and memory (default = 16K for MySQL)[3]. It’s the smallest unit of on disk storage. – In MySQL, the max a row can be is roughly 50% of the page size (8000 bytes default) not including VARBINAY, VARCHAR, BOLOB or TEXT columns. Why is the max row size restricted to 50% of the page size? – To allow one page to store at least 2 columns. 3. http://dev.mysql.com/doc/refman/5.5/en/glossary.html#glos_page 12
  • 13. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements 13
  • 14. Hardware requirements Hannon Hill requirements for running MySQL for Cascade[4] • MySQL 5.0 / 5.1 / 5.5 • Memory for database server: – 2 GB RAM (minimum) – 4 GB RAM (recommended) I’d recommend a quad-core server with a minimum 16 GB RAM for your database server. 4. http://www.hannonhill.com/products/requirements.html 14
  • 15. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run 15
  • 16. Which version of MySQL to run • 5.0 • 5.1 • 5.5 • 5.6? Not yet officially supported 4. http://www.hannonhill.com/products/requirements.html 16
  • 17. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run 17
  • 18. Which flavor of MySQL to run • Oracle MySQL • MariaDB – Soon to be the default database server for RedHat and by default, CentOS – http://ideas.hannonhill.com/forums/52559-ideas-for-cascade-server/suggestions/ 6065138-add-support-for-mariadb • Percona Server – My favorite – Percona XtraDB is a drop in replacement for innodb[5] – XtraDB available in MariaDB as well. Note: Only Oracle MySQL is listed as currently supported. Try these others at your own risk. 5. http://www.percona.com/software/percona-xtradb 18
  • 19. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run • Default MySQL configuration 19
  • 20. Default MySQL configuration These are the Hannon Hill recommendations[6] • InnoDB storage engine • max_allowed_packet=16M • key_buffer=16M • Character set is defined when creating the database 6. http://www.hannonhill.com/kb/Database-Config/ 20
  • 21. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run • Default MySQL configuration • Configuring MySQL for your workload 21
  • 22. Configuring MySQL for your workload The my.cnf file Innodb should be the default storage engine • innodb_file_per_table = 1 • log_bin = <directory where binary log files live> • Cache (query caches and other caches) – binlog_cache_size – thread_cache_size – query_cache_size – query_cache_limit 22
  • 23. Configuring MySQL for your workload cont. • Buffers – innodb_buffer_pool - VERY important. Probably one of the most important configuration options. The bigger you can make this, the better. 80% of available memory is a good starting point. If you have 128 GB+ memory available on your machine, you may even be able to push it higher (90%) You can make this too big. If your entire dataset can fit into the inoodb_buffer_pool, it’s probably too big. 23
  • 24. Configuring MySQL for your workload cont. • Storage – If you have the option, store your data and binary log files on separate physical disks “But I don’t want to read all the documentation. I just want to get started with a good, solid configuration file that meets my needs.” • Percona configuration tool – https://tools.percona.com/ 24
  • 25. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run • Default MySQL configuration • Configuring MySQL for your workload • Tools for testing 25
  • 26. Tools for testing • Hardware monitoring – Vmware vSphere web client – If you have the option, store your data and binary log files on separate physical disks 26
  • 27. Tools for testing cont. • Monitoring MySQL – MySQL Workbench - http://mysqlworkbench.org/ 27
  • 28. Tools for testing cont. • jmeter – Open Source load testing tool written in java - http://jmeter.apache.org/ 28
  • 29. Tools for testing cont. • Blazemeter – jmeter in the cloud. • http://blazemeter.com 29
  • 30. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run • Default MySQL configuration • Configuring MySQL for your workload • Tools for testing • Testing and results 30
  • 31. Testing and results • Test hardware setup – cmstest.oit.uci.edu – Vmware vcenter server – Intel® "Penryn" Generation, 4 CPU – CentOS 6 (64-bit) – 8GB RAM – 512GB Storage • Cascade Setup – Cascade 7.12 – Java options • export JAVA_OPTS="-d64 -server –Xmx4096M -XX:MaxPermSize=512M 31
  • 32. Testing and results cont. • MySQL Setup – Default MySQL server configuration (Hannon Hill recommendations) • cascade-test-stripped.cnf – My configuration • cascade-my-test.cnf (most comments have been stripped out) – Cascade database configuration options – Can be set at database creation/restore, or using ALTER TABLE • KEY_BLOCK_SIZE – 16K – 8K – 4K – 2K or 1K – Not tested. Not useful for a Cascade database instance. Row sizes won’t compress. 32
  • 33. Testing and results cont. • Storage testing – Examine the file sizes of the .ibd (innodb) files. These are the storage files for the data and indexes for each table. The size shown in the OS corresponds to how much space each table is taking. – Could determine this through MySQL system tables, but results would be comparable and it would take more time. – Use ALTER TABLE to change all tables • KEY_BLOCK_SIZE=16 • KEY_BLOCK_SIZE=8 • KEY_BLOCK_SIZE=4 33
  • 34. Testing and results cont. • Storage testing results 34
  • 35. Testing and results cont. • Load testing – jmeter running on a 27” iMac, Quad Core, 32 GB RAM • Allocated 10GB memory, otherwise it crashes – Test plan - Cascade-Test.jmx • 20 minute test • 10 minute ramp up time • 15 users • Login, publishing (pages and directories), editing, opening, changing sites, deleting messages, logoff • Plan was to exercise Cascade with a typical number of active users (15) and different MySQL configurations. 35
  • 36. Testing and results cont. • Load testing results – KEY_BLOCK_SIZE=16, 30 users • Too many errors – KEY_BLOCK_SIZE=16, 15 users • 346.5 ms average. response time – KEY_BLOCK_SIZE=8, 15 users • 339.5 ms average response time – KEY_BLOCK_SIZE=4, 15 users (single run) • 331 ms average response time – KEY_BLOCK_SIZE=16, 15 users, minimal configuration • 389 ms average response time Note: I didn’t test compression on the minimal configuration, as it wasn’t enabled. 36
  • 37. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run • Default MySQL configuration • Configuring MySQL for your workload • Tools for testing • Testing and results • Questions 37
  • 38. Optimizing MySQL for Cascade Server • Who is this presentation for? • What we won’t cover today • Terminology • Hardware requirements • Which version of MySQL to run • Which flavor of MySQL to run • Default MySQL configuration • Configuring MySQL for your workload • Tools for testing • Testing and results • Questions • Resources 38
  • 39. Resources • Book – High Performance MySQL, 3rd Edition - Baron Schwartz, Peter Zaitsev, and Vadim Tkachenko – http://www.highperfmysql.com/ • Percona – http://www.percona.com/ – Percona Tools https://tools.percona.com/ – YouTube https://www.youtube.com/user/PerconaMySQL • MariaDB – https://mariadb.org/ • Oracle MySQL – http://dev.mysql.com/doc/refman/5.5/en/ - Best overall documentation 39
  • 40. Thank You! James Kreuziger jkreuzig@uci.edu http://uci.edu/ @jkreuzig #csuc14 949-824-5484 40