Writing your application is one thing. Making the application to perform well is another. We usually forget there is somebody else on the other side of the screen, that becomes very frustrated and upset when he needs to wait until this one page finally loads. It requires a lot of experience to predict specific behaviour and to know what kind of things to avoid. And even with that there is so many different factors that can affect the end user experience. During this talk I will talk about tools and techniques you can use to measure and monitor your application performance.
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Managing and Monitoring Application Performance
1. Sebastian Marek, Internal Systems Technical Architect
MANAGING AND
MONITORING APPLICATION
PERFORMANCE
http://www.flickr.com/photos/wraith34/9377593973/
2. a Pole living in Sheffield
over 12 years in software
development
big fan of process automation
TDD and CI
occasionally contributes to open-
source projects
wants to be a knight @proofek
h"ps://joind.in/9301
48. Glossary
PROFILING
call count - number of times a function/request was called
wt (Wall Time/Wall Clock Time) - time it took to execute a function/request
cpu - CPU time spent executing a function/request
mu - Amount of memory used during function/request execution
pmu - The peak amount of memory used during function/request execution
exclusive - total time spent excluding time to execute other functions
inclusive - total time spent including time to execute other functions
49. Process
PROFILING
Profile and record the results
Identify functions/requests using the most CPU time/memory (exclusive)
Find out what’s causing the issue
Refactor and optimize the code - look for external resources - database, web
services, filesystem
Profile and compare the results
start all over again
63. Understanding RUM
NEW RELIC
Web application - The time spent in the application code
Network - The time it takes for a request to make a round-trip
over the internet.
DOM processing - Time spent in the browser parsing and
interpreting the HTML.
Page rendering - Time spent in the browser displaying the
HTML, running in-line JavaScript and loading images.
71. Apdex - baseline
NEW RELIC
check the average response time
set your Apdex to average response time
find areas that require performance fixes
when performance improves lower your Apdex
72. New Relic - Map
NEW RELIC
memcached.local
crm.local
78. PERFORMANCE MONITORING
Summary
Xdebug - application profiling during development stage
xhProf - application profiling during development stage and on
live production platform
New Relic - end-to-end application monitoring on live
production platfrom