This course has been created for PHP programmers and web site developers interested in PHP code optimization.
The course shows how to find a bottleneck and how to refactor or change the code in the appropriate way.
During this course participants will deal with real web page examples, which will be tracked, analysed and optimized.
Stress Testing with JMeter
Identifying what you need to test
Mimicking the real world in JMeter
Extracting and reading the results
Introduction to Debuggers
Code Coverage Analysis
Profiling PHP Scripts
Use Code Caches, Shared memory and Opcodes
Alternatives to shared memory
PHP 7 new features
More advanced Big Data integration (R, Hadoop, etc...)
Finding slow queries
Finding most frequent queries
What will you learn?
Performance tips all come with a shelf life that is linked to the particular technology to which they are applied. Once that technology changes or is no longer used, the tips become useless at best and harmful at worst. For this reason we have purposely designed a course that focuses on providing you with something more than just tricks to get the latest and greatest framework to meet your performance needs. One of the tools we aim to leave you with is a methodology that we've used over the years on a regular basis. This methodology has helped us quickly identify and solve hard performance issues.
The other equally important aspect of performance tuning is tooling. A good portion of the course focuses on a number of open source tools that we have found to be useful in our campaigns to stamp out performance bottlenecks.
Beyond methodology and tooling, we look at some of the fundamentals of Java technology. This includes the inner workings of the Java memory management and HotSpot/JIT technologies.
how to apply rigor to the task of performance tuning
how to setup a performance tuning environment
importance of performance tuning requirements and goals
tools needed to conduct a performance investigation
benchmarking and micro-benchmarking skills
Java memory and execution models
Tools & Methodology
Defining performance and performance tuning
Common performance problems
Profiling, and monitoring with professional tools
Execution, memory and thread profilers
System level monitoring
Java Management eXtentions
Planning for performance
Patterns and anti-patterns
Architectures for performance
Coding Best Practices
Macro and micro benchmarking
Selected Java Libraries including String, I/O and Collections
Java Virtual Machine heap spaces
Garbage collection algorithms
Garbage collection logging and monitoring
Heap tuning strategies
This course is intended for database administrators.
The course presents options for High-Availability solutions using Galera Cluster.
You will learn the basics of Galera technology, as well as more advanced topics and practical knowledge related to configuring, optimizing and administering a Galera Cluster.
Why I need them and what are High-Availability solutions?
What is MariaDB Galera Cluster and what it offers to my organization?
Galera Cluster Management
How to start with Galera - what should I now before installation?
Architecture and functionality
First steps - Installation
Going deeper - Configuration and Set-up
Almost like a pro - Administration
Operations and operation modes
Backups and restoring
Controlling state transfer between nodes
How to deal with Galera multi- master configuration
Developers who wants to grow their career as Performance Architects.
Format of the course
50% lectures, 50% labs
Introduction to Performance testing
Performance testing life cycle.
Performance test results interpretation.
Understanding various Architectures/Application models
2/3 tier architecture
N tier architecture
Middleware (MQ, Webservices etc) based architecture
Basic UNIX commands (grep, find, vi editor etc)
Basic Oracle/SQL (Queries, Tables, Triggers etc)
Basic C/Java concepts
Detailed Analysis - Monitoring concepts/Tools
Hardware Monitoring (Windows -Perfmon, UNIX -nmon, vmstat)
Run queue (Average processor queue length)
Memory (Available, Used, Paging space, FS Cache etc)
CPU (Available, virtual, online, entitled etc)
Web Server/App Server Monitoring
JVM (Java heap) -heap dump analysis
Understanding of various monitoring tools like CA Wily Introscope, IBM Tivoli etc.
Basic query tuning
AWR or Statspack analysis
Understanding of Bandwidth, FTP
Understanding of Network Monitoring using HTTPwatch or Fiddler