web application performance audit and optimization
TRANSCRIPT
Web Application Performance Optimization
What is performance?
How fast a site loads on a users deviceHow fast a site loads on different devicesHow well the server responds to increase in traffic
Web Application Performance Optimization
Why is Performance Important?
47% of users expect a page to load in 2s or less40% of users will leave a page if it takes more than 3s to load46% will not return to a poorly performing site14% will start shopping at a different site if page load feels slow64% of shoppers will never return to a slow loading online shop
Ref: Seomoz.com, Akamai.com
Web Application Performance Optimization
Aspects of Performance
Page load timePage render timeTime to start interactionMaximum number of simultaneous users on siteMaximum number of logged in users on site
Web Application Performance Optimization
Auditing Performance
Document baseline performanceIdentify traffic patternsEvaluate website buildIdentify bottlenecks in the backendIdentify bottlenecks in the frontendEvaluate hardware platformIdentify limitations at the server levelEvaluate server application configurationIdentify sub-optimal configurations
Web Application Performance Optimization
Factors Affecting Performance
Server configuration - hardware specsServer applications - apache, database, cachingWebsite backend - how the site has been built, logic, database, integrationsWebsite frontend - internal resources, external resources, content to be loaded / rendered, complexity of HTML, JS, CSSCaching layers - varnish, CDN, browser cache
Web Application Performance Optimization
Server Configuration
Shared? VPS? Dedicated?Processor - speed? cores? dedicated? virtual?Memory - total memory available? shared? free memory?Hard disk - speed of i/o? SSD?
Web Application Performance Optimization
Server Applications
Apache - threading model - MPM, Prefork, CGI, FCGI, maximum number of requests, number of children, connection time out, modulesNginxMySQL - query caching, indexes, tmp table, open tables, heap sizePHP - extensions
Web Application Performance Optimization
Backend
Caching - page caching, caching in custom codeMemcache, APCCustom code - size? unused? admin? Custom code - reviewed?SQL queries - slow queries? query log? Indexing?SQL inserts - too many? logging?Disk writes - too many?Synchronous requests?
Web Application Performance Optimization
Frontend
Loading timeRendering timeComplexity of HTMLComplexity and size of CSSComplexity and size of JSNumber and size of static resourcesSize of images, PNG / JPGNumber of external resourcesSynchronous external resources
Web Application Performance Optimization
Caching Layers
Browser cache - enabled? expiry?Static caching - varnish? Static resource caching - CDN? subdomains?
Web Application Performance Optimization
Optimizing Performance
Quantify bottlenecks - impact? cost? time?Classify bottlenecks - critical, high, normal, lowGroup solutions Iterate over groups - implement and testDocument resultsMonitor and re-evaluate80:20 rule
Web Application Performance Optimization
Testing Performance
New Relic monitoringApache ab testingApache JMeter load testing
Web Application Performance Optimization
Performance Tools
MySQL query logsEXPLAINProfiling and tracing using xdebughttp://webpagetest.org/Yahoo YSlow, Google Page SpeedFirebug
Web Application Performance Optimization
Zyxware Technologies and Drupal
Zyxware is a leading contributor to Drupal from India and is one of
Service Providers from India listed on drupal.org
● Over 50,000 websites use our modules and themes
● More than 35 contributed modules and themes
● Maintainer of Search404, a top 200 Drupal module
● Over 1000 commits at drupal.org
● Contributes all patches back to Drupal
● Our profile on drupal.org - http://drupal.org/user/222163
● Knowledge partnerships with Acquia, New Relic and Volacci
Web Application Performance Optimization
● Freedom Walk, a 44 day walk by a team of
Free Software Evangelists across the length of
Kerala to promote Free Software
● Building RithuOS, an Operating System for Engineering
students with Free Software Engineering applications
● GNU/Linux Install Fests in Schools, Colleges and at Technopark.
● Local language (Malayalam) computing camps in colleges
● Building and Maintenance of Freedom Toaster, a Free Software
kiosk
● Conducting Free Software workshops and
lectures in colleges in Kerala
Free Software and Zyxware Technologies
Web Application Performance Optimization
• Check us out at http://www.zyxware.com
• Mail us at [email protected]
• Like us at http://www.facebook.com/zyxware
• Follow us at http://www.twitter.com/zyxware
• Connect with us at
http://www.linkedin.com/companies/zyxware-technologies
• Talk to us at +91-9495969446 between 9AM - 9PM IST
• Skype me at aj_zyxware
Contact Us
Web Application Performance Optimization
• https://blog.radware.com/applicationdelivery/applicationaccel
erationoptimization/2014/01/55-web-performance-stats-youll-
want-to-know/
• http://www.slideshare.net/fabianlange/full-stack-web-
application-performance-tuning-presentation/23
• http://www.slideshare.net/takinbo/web-application-
optimization-techniques
• http://www.slideshare.net/bonoseo/web-performance-
optimization-wpo/17-
Performance_Test_Toolsbr_Loadsinwwwloadsinbr_Slow
• http://www.slideshare.net/CodeFireTech/web-application-
performance
References