SlideShare a Scribd company logo
1 of 59
Download to read offline
Dim0 (Dimitri Vanoverbeke)
PHP Meetup Rotterdam
November 12th 2015
Practical MySQL Performance
Optimization
www.percona.com2
Who am I?
•  Linux system engineer
and Consultant for 8
years
•  Solution Engineer @
Percona
•  www.twitter.com/dim0
2
www.percona.com3
Contents of the presentation
How do we approach performance
optimisations
Discuss practical optimisation tips.
What tools exist?
www.percona.com4
MySQL performance
MySQL
Performance
does not
Matter
www.percona.com5
What matters?
My Website/
App is
important
www.percona.com6
Things to Note
Performance issues can
be unrelated to MySQL
Maybe the solution is not MySQL
www.percona.com7
Many other tools
Cassandra
MongoDB
Hadoop
ElasticSearch
Redis
www.percona.com8
Putting it in Practice
Keep an unbiased view
Focus on the Stack
www.percona.com9
Performance “sandbags”
Security
Manageability
Compatibility
Compliance
Ease of use by developers
www.percona.com10
“Good Enough”
KNOW
WHEN TO
STOP
www.percona.com11
So what is important in
MySQL?
Queries!!!!
•  Inserts
•  Selects
•  Updates
•  Deletes
www.percona.com12
What are we aiming for?
Quickly, Efficiently,
Reliably…
www.percona.com13
Quickly
Good Response Time
For all Users and Use
Cases
www.percona.com14
Efficiency
Resources
CPU, Memory, IO, Disk Space
Euro’s
Human Effort
www.percona.com15
Reliably
High Availability!
High Availability and
Performance Come together
www.percona.com16
Consider things
•  But avoid focus on extreme
outliers
Look beyond
averages
•  Daily and Weekly cycle
•  Growth of load and Data Size
Make sure to
look at trends
over time
•  Data size changes?
Think about the
Future
www.percona.com17
Schema
Look at the
Schema
and queries
together
•  Minor Schema changes
•  Data Architecture
www.percona.com18
Schema Tips
Learn indexing
•  http://bit.ly/1rAtamE
Design Schema for Data access
•  Rethink your schema
Technical voodoo
•  Partitioning and Sharding
•  Normalization and denormalization
www.percona.com19
The following also Matters
Infrastructure
•  Storage systems, virtualization, etc.
Operating system and configuration
•  Disk scheduler, FS, etc…
MySQL Version
•  Are you using Percona Server, MariaDB, MySQL?
MySQL configuration
•  The default configuration of Hell…
www.percona.com20
Optimization Process
Low Hanging
Fruit
•  MySQL
Configuration
•  OS settings
•  Indexes
•  Caching
Medium Level
•  InfraStructure
•  MySQL
Version
Hard Changes
•  Major schema
changes
•  Application
architecture
changes
www.percona.com21
QUICK TIPS
www.percona.com22
Hardware
CPU
Memory
Disk
Network
www.percona.com23
OS choices are simple
Linux
Server Grade
Recent
Well supporting MySQL
www.percona.com24
OS tuning
Defaults are good for Common workload
Filesystem: EXT4 or XFS
More details: http://bit.ly/MySQLonLinux
Well supporting MySQL
www.percona.com25
MySQL Version
New versions typically improve performance
Scalability, improved optimizer
Expect some regression
Try maybe a different flavor? Percona Server 5.6
www.percona.com26
MySQL config optimisations
Do NOT run with defaults
Do not ever obsess with tuning
More details: http://bit.ly/1vth5Cu
www.percona.com27
MySQL tuning in 1 slide
•  max_connections
•  log_bin
•  open_files_limit
•  innodb_buffer_pool_size
•  innodb_log_file_size
•  innodb_flush_log_at_trx_commit
•  innodb_flush_method=O_DIRECT
www.percona.com28
TOOLS
www.percona.com29
Tools to Consider
•  pt-query-digest (Percona Toolkit)
•  Other Percona-toolkit tools
•  Percona Monitoring plugins
•  MySQL Enterprise Monitor
•  Monyog
•  VividCortex
•  New Relic
www.percona.com30
Percona toolkit helps
Identify Manage
Understand Monitor
Percona
Toolkit
www.percona.com31
What is Percona Toolkit?
•  Collection of command-line tools for a wide range of MySQL
DBA tasks
•  Works with MySQL 5.0+, MariaDB, Percona Server, Percona
XtraDB Cluster
•  Professionally developed, supported, and maintained by
Percona
•  7 years maturity, thousands of tests, 20 testing environments, 1
full-time developer
•  Free, open-source www.percona.com/software/percona-toolkit
2
www.percona.com32
Installation
•  Rpm and deb packages are available
http://www.percona.com/downloads/percona-toolkit /LATEST/
•  Or you can use a tarball
wget percona.com/get/percona-toolkit.tgz
•  Extract, then make, make install
Or, if you only need a specific tool
wget percona.com/get/TOOL
2
www.percona.com33
pt-query-digest
Command Line tool from Percona Toolkit
Process Logs Manualy
Powerful Filtering
Storing History
www.percona.com34
pt-query-digest example
www.percona.com35
Top Queries
www.percona.com36
Query Details
www.percona.com37
More Query Details
www.percona.com38
Where to Analyze ?
• Development to catch
bad queries early
• Production to catch
good queries starting
to go bad
Both !
www.percona.com39
Query Performance can show
modifying parameters
Workload Changes
Data Size
Changing Query Plans
Upgrading MySQL Version
Changing MySQL Settings
Hardware Changes
www.percona.com40
But Why Slow ?
• MySQL Level
• OS Level
• Hardware/
Environment Level
Need to
know more
than query
level
information
www.percona.com41
Hardware visibility
Eeek!
I have a
new
machine
What are the specs?
What is the current memory usage?
How is the storage system currently set up?
What are the OS specifics that are currently
applied?
www.percona.com42
Lack of visibility
www.percona.com43
pt-summary
[ec2-user@ip-172-31-0-249 ~]$ pt-summary
# Percona Toolkit System Summary Report ######################
Date | 2015-08-31 11:20:01 UTC (local TZ: UTC +0000)
Hostname | ip-172-31-0-249
Uptime | 14 days, 23 min, 1 user, load average: 0.00, 0.01, 0.05
Platform | Linux
Release | Amazon Linux AMI release 2015.03
Kernel | 3.14.35-28.38.amzn1.x86_64
Architecture | CPU = 64-bit, OS = 64-bit
Threading | NPTL 2.17
SELinux | No SELinux detected
Virtualized | Xen
www.percona.com44
Continue pt-summary
# Processor ##################################################
Processors | physical = 1, cores = 2, virtual = 2, hyperthreading = no
Speeds | 2x2494.026
Models | 2xIntel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
Caches | 2x25600 KB
# Memory #####################################################
Total | 3.9G
Free | 1.9G
Used | physical = 2.0G, swap allocated = 0.0, swap used = 0.0, virtual = 2.0G
Buffers | 147.4M
Caches | 1.6G
Dirty | 52 kB
UsedRSS | 134.3M
Swappiness | 60
DirtyPolicy | 20, 10
DirtyStatus | 0, 0
www.percona.com45
Continue pt-summary (2)
www.percona.com46
Continue pt-summary (3)
www.percona.com47
pt-mysql-summary
MySQL visibility
www.percona.com48
Continue pt-mysql-summary
www.percona.com49
Continue pt-mysql-
summary(2)
www.percona.com50
Continue pt-mysql-
summary(3)
www.percona.com51
Pt-stalk
•  You are having performance problems, however it’s difficult to pinpoint
what is causing it.
•  Analyse Data
•  Fix what is wrong
•  Problems can occur randomly
•  Problems can happen while you are not monitoring
•  pt-stalk is a tool which gives you the ability to monitor variables while
you are not keeping an eye on them
www.percona.com52
Continue pt-stalk
www.percona.com53
Innotop
Innotop
•  Identify
•  Understand
•  Monitor
www.percona.com54
Innotop
•  Sometimes it’s hard to keep track of the
active queries on your system.
•  Amount of queries are confusing
•  Which query should I explain
•  Which query is problematic?
•  Why, how, where, what?
www.percona.com55
Innotop: Enter innotop
•  It’s like top, but for queries
5
5
www.percona.com56
Innotop: Innodb I/O
information
5
6
www.percona.com57
Innotop: Variables overview
5
7
www.percona.com58
FINAL WORDS
www.percona.com59 www.percona.com
Dim0
Dimitri.vanoverbeke@percona.com
Thank You!

More Related Content

What's hot

What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
Simplilearn
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Puppet
 

What's hot (20)

Nagios XI Best Practices
Nagios XI Best PracticesNagios XI Best Practices
Nagios XI Best Practices
 
Getting to push_button_deploys
Getting to push_button_deploysGetting to push_button_deploys
Getting to push_button_deploys
 
Network Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with AnsibleNetwork Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with Ansible
 
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google Scale
 
Ansible Playbook
Ansible PlaybookAnsible Playbook
Ansible Playbook
 
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
 
Kubernetes for HCL Connections Component Pack - Build or Buy?
Kubernetes for HCL Connections Component Pack - Build or Buy?Kubernetes for HCL Connections Component Pack - Build or Buy?
Kubernetes for HCL Connections Component Pack - Build or Buy?
 
OSMC 2021 | Icinga-Installer – the easy way to your Icinga
OSMC 2021 | Icinga-Installer – the easy way to your IcingaOSMC 2021 | Icinga-Installer – the easy way to your Icinga
OSMC 2021 | Icinga-Installer – the easy way to your Icinga
 
What is NetDevOps? How? Leslie Carr PuppetConf 2015
What is NetDevOps? How? Leslie Carr PuppetConf 2015What is NetDevOps? How? Leslie Carr PuppetConf 2015
What is NetDevOps? How? Leslie Carr PuppetConf 2015
 
Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)
 
One tool, two fabrics: Ansible and Nexus 9000
One tool, two fabrics: Ansible and Nexus 9000One tool, two fabrics: Ansible and Nexus 9000
One tool, two fabrics: Ansible and Nexus 9000
 
Ansible for networks
Ansible for networksAnsible for networks
Ansible for networks
 
Ansible Case Studies
Ansible Case StudiesAnsible Case Studies
Ansible Case Studies
 
Windows Azure PowerShell CmdLets
Windows Azure PowerShell CmdLetsWindows Azure PowerShell CmdLets
Windows Azure PowerShell CmdLets
 
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
 
Network Automation - Interconnection tools
Network Automation - Interconnection toolsNetwork Automation - Interconnection tools
Network Automation - Interconnection tools
 
PuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster EnvironmentPuppetCamp Sydney 2012 - Building a Multimaster Environment
PuppetCamp Sydney 2012 - Building a Multimaster Environment
 
DevOps with Ansible
DevOps with AnsibleDevOps with Ansible
DevOps with Ansible
 
Lateral Movement with PowerShell
Lateral Movement with PowerShellLateral Movement with PowerShell
Lateral Movement with PowerShell
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
 

Viewers also liked (6)

Optimization technique
Optimization techniqueOptimization technique
Optimization technique
 
various applied optimization techniques and their role in pharmaceutical scie...
various applied optimization techniques and their role in pharmaceutical scie...various applied optimization techniques and their role in pharmaceutical scie...
various applied optimization techniques and their role in pharmaceutical scie...
 
Optimization techniques in pharmaceutical formulation and processing
Optimization techniques in pharmaceutical formulation and processingOptimization techniques in pharmaceutical formulation and processing
Optimization techniques in pharmaceutical formulation and processing
 
A seminar on applications of various analytical technique
A seminar on applications of various analytical techniqueA seminar on applications of various analytical technique
A seminar on applications of various analytical technique
 
Optimization Techniques In Pharmaceutical Formulation & Processing
Optimization Techniques In Pharmaceutical Formulation & ProcessingOptimization Techniques In Pharmaceutical Formulation & Processing
Optimization Techniques In Pharmaceutical Formulation & Processing
 
Optimization techniques
Optimization  techniquesOptimization  techniques
Optimization techniques
 

Similar to Performance optimisations PHP meetup Rotterdam

Fosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkitFosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkit
Frederic Descamps
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 
2.4 Optimizing your Visual COBOL Applications
2.4   Optimizing your Visual COBOL Applications2.4   Optimizing your Visual COBOL Applications
2.4 Optimizing your Visual COBOL Applications
Micro Focus
 

Similar to Performance optimisations PHP meetup Rotterdam (20)

Using Puppet, Ansible, and MongoDB Ops Manager Together to Create Your Own On...
Using Puppet, Ansible, and MongoDB Ops Manager Together to Create Your Own On...Using Puppet, Ansible, and MongoDB Ops Manager Together to Create Your Own On...
Using Puppet, Ansible, and MongoDB Ops Manager Together to Create Your Own On...
 
MongoDB World 2018: Using Puppet, Ansible and Ops Manager to Create Your Own ...
MongoDB World 2018: Using Puppet, Ansible and Ops Manager to Create Your Own ...MongoDB World 2018: Using Puppet, Ansible and Ops Manager to Create Your Own ...
MongoDB World 2018: Using Puppet, Ansible and Ops Manager to Create Your Own ...
 
6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance Tuning6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance Tuning
 
Mysql ecosystem in 2018
Mysql ecosystem in 2018Mysql ecosystem in 2018
Mysql ecosystem in 2018
 
Fosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkitFosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkit
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
2.4 Optimizing your Visual COBOL Applications
2.4   Optimizing your Visual COBOL Applications2.4   Optimizing your Visual COBOL Applications
2.4 Optimizing your Visual COBOL Applications
 
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
 
Social Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkSocial Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections Pink
 
Vinetalk: The missing piece for cluster managers to enable accelerator sharing
Vinetalk: The missing piece for cluster managers to enable accelerator sharingVinetalk: The missing piece for cluster managers to enable accelerator sharing
Vinetalk: The missing piece for cluster managers to enable accelerator sharing
 
Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.Growing in the Wild. The story by CUBRID Database Developers.
Growing in the Wild. The story by CUBRID Database Developers.
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelli
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL Containers
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right Project
 
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet LabsTechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
TechWiseTV Workshop: Open NX-OS and Devops with Puppet Labs
 
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoNoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
 
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 

Recently uploaded

Recently uploaded (20)

Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 

Performance optimisations PHP meetup Rotterdam