SlideShare a Scribd company logo
June 2016
APPLICATION
PERFORMANCE
APPLICATION PERFORMANCE
WHAT CAN GO WRONG?
WHERE CAN IT GO WRONG?
HOW TO FIX IT
Performance Bottlenecks
Database
Code
Memory
I/O and APIs
Front End
Database Performance
Indexes – not enough
Indexes – too many!
Index cache
Query cache
Query complexity
Nesting Queries
Indexes
Not enough indexes hurts read performance
Too many indexes hurts write performance
Covering indexes?
Index hash size
Index Cache
MySQL has separate index caches for MyISAM
and InnoDB
PostgreSQL allows tuning of index hash tables
MySQL does not – keep hashes small if possible
Query Complexity
SQL is a programming language too!
Nested SELECTS
EXPLAIN / EXPLAIN ANALYZE
Query Optimiser or not
Prepare/Execute
Code Performance
PHP is an interpreter with an opcode cache
NOT a compiler!
Java is a bytecode compiler with a JIT
Ruby/Python and Perl have opcode caches but are
interpreted languages.
Code Performance Hogs
eval() is evil()
system() or popen()
Closures/Lambda Functions
Routing
Crypto / Hash functions – be aware of what is efficient and
what is not
API calls
Memory
The Thing King!
(search it on google, written in 1972)
Large blocks take less effort than small blocks
malloc() is slow, but probably handled for you if you do things correctly
All of this applies to caching.
Cache large chunks not small ones.
I/O and APIs
TCP calls require 3 packets
SYN, ACK, SYN/ACK
Before any data is sent
API calls that require recursion: DNS, printing
(IPP), SLC, anything involving clustering
Front End
Javascript is an Interpreted Language
No Bytecode Compiler
No JIT Compilation (most browsers)
Javascript Performance Issues
Compression
Encryption
Packet Decomposition (esp XML)
Computation
How to Fix It
Performance Testing
–
jMeter
xdebug/kcachegrind
Round trip time testing – Firebug
Caveats
Don't move the problem elsewhere
Don't create one problem to solve another one
Background tasks take time too
Spread the load that's causing the issue –
network, I/O, CPU, memory, database

More Related Content

KEY
Perl 6 DBDI 201007 (OUTDATED, see 201008)
PDF
Unwanted character ‘#’ in the short text print outs and reports sap yard
PDF
General Catalog of Omni Medical Supply
ODP
Software Architecture From Requirements
PPTX
Présentation VOO Business 160130
PPTX
Crime rate data analysis in Los Angeles
DOCX
Makalah komplek refisi
ODP
Network communication
Perl 6 DBDI 201007 (OUTDATED, see 201008)
Unwanted character ‘#’ in the short text print outs and reports sap yard
General Catalog of Omni Medical Supply
Software Architecture From Requirements
Présentation VOO Business 160130
Crime rate data analysis in Los Angeles
Makalah komplek refisi
Network communication

Similar to Application Performance Overview (20)

PPTX
Scala & Swagger at Wordnik
PDF
Don Kelly - Effective Spark for Neophytes - Codemotion Milan 2018
PDF
DBI for Parrot and Perl 6 Lightning Talk 2007
PPT
Ruby on Rails (RoR) as a back-end processor for Apex
PPTX
Java server pages
PPTX
Alternatives to Apache Accumulo’s Java API
PDF
Web APIs, the New Language Frontier
PDF
Web APIs, the New Language Frontier
ODP
Cakefest higher education
PPT
Basics-Of-Java
PDF
Introduction to Apache Spark
ODP
YAPC::NA 2007 - Epic Perl Coding
PPTX
Scala Introduction - Meetup Scaladores RJ
PDF
Ruby on Rails (RoR) as a back-end processor for Apex
PPTX
Learn about SPARK tool and it's componemts
PDF
Programming Language Selection
PDF
Accumulo Summit 2015: Alternatives to Apache Accumulo's Java API [API]
PPTX
Learn Apache Spark: A Comprehensive Guide
PPTX
Introduction to ABAP
PPTX
Enhancing Big Data Analytics with Pig and Hadoop: Harnessing the Power of Dis...
Scala & Swagger at Wordnik
Don Kelly - Effective Spark for Neophytes - Codemotion Milan 2018
DBI for Parrot and Perl 6 Lightning Talk 2007
Ruby on Rails (RoR) as a back-end processor for Apex
Java server pages
Alternatives to Apache Accumulo’s Java API
Web APIs, the New Language Frontier
Web APIs, the New Language Frontier
Cakefest higher education
Basics-Of-Java
Introduction to Apache Spark
YAPC::NA 2007 - Epic Perl Coding
Scala Introduction - Meetup Scaladores RJ
Ruby on Rails (RoR) as a back-end processor for Apex
Learn about SPARK tool and it's componemts
Programming Language Selection
Accumulo Summit 2015: Alternatives to Apache Accumulo's Java API [API]
Learn Apache Spark: A Comprehensive Guide
Introduction to ABAP
Enhancing Big Data Analytics with Pig and Hadoop: Harnessing the Power of Dis...
Ad

Recently uploaded (20)

PDF
A comparative analysis of optical character recognition models for extracting...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
August Patch Tuesday
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
project resource management chapter-09.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Mushroom cultivation and it's methods.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
A comparative analysis of optical character recognition models for extracting...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Encapsulation theory and applications.pdf
Enhancing emotion recognition model for a student engagement use case through...
Building Integrated photovoltaic BIPV_UPV.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
August Patch Tuesday
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Encapsulation_ Review paper, used for researhc scholars
project resource management chapter-09.pdf
Getting Started with Data Integration: FME Form 101
Zenith AI: Advanced Artificial Intelligence
A comparative study of natural language inference in Swahili using monolingua...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Programs and apps: productivity, graphics, security and other tools
Mushroom cultivation and it's methods.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Hindi spoken digit analysis for native and non-native speakers
gpt5_lecture_notes_comprehensive_20250812015547.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Ad

Application Performance Overview