SlideShare a Scribd company logo
1 of 23
Web application performance
1
Sunday, July 07, 2013
Presented by
Pranjal Srivastava
What is performance?
Performance definition
• The accomplishment of a given task measured
against preset known standards of accuracy,
completeness, cost, and speed.
http://www.businessdictionary.com/definition/performance.html#ixzz2Y5
INtXmj
• Performance is based on your “Perception”
Perception
Perception
What is web application
performance?
Why application should perform well?
image courtesy “Times of India”
What is good / acceptable performance
• Good performance is a relative term
– Varies based on type of applications
– Varies based on type of usage
• What we say good today may not be good
enough in future
• 5-8 Second is generally a threshold for a page
to load on a web application
• For a rich web app (like gMail) initial load time
may be higher but that’s a trade
off for rich UX inside app
• AJAX and Use of animated gif to show that
page is loading…
Steps to optimize you application
• Measure performance
• Diagnose bottlenecks
• Fix issues
Measure
• Performance with single user
• Load it and monitor performance
• Monitor performance on Production server
– Identify bottlenecks
Diagnose problems
• JS / HTML level
• Code Level
• DB level
• Server level
• Network
Commonly used tools for diagnosis
• Slow query log
– Generally 5-10 ms is considered reasonable query
performance
• Yslow (http://developer.yahoo.com/yslow)/
Page speed
(https://developers.google.com/speed/pagesp
eed/)
• Code profiling and optimization
• Web based tools
– http://www.webpagetest.org
– http://tools.pingdom.com
Diagnostic tools (Page Speed)
Diagnostic tools (webpagetest.org)
• Initial page load time
• Repeat page load time
• Filmstrip View
• Video view of page load
• Load times for each individual elements
Fix (Browser level)
• XHTML
• DIV based design
• Optimized images
• No errors in code (Validated HTML)
Fix (Network level)
• Reduce size of files
– Gzip (JS, CSS compression)
– JS/ CSS minify (reduce size)
– Image compression (reduce size)
• Use Content delivery network (CDN)
– images, videos, audio clips, CSS files, JS files.
– Browsers limit the number of concurrent connections
to a single domain. Most permit four active
connections
– Distributed data center
– Distribute the load, save bandwidth, boost
performance
• Combine multiple web calls
Fix (Code level)
• Code Profiling
• Review code
• Change Algorithms
• Generally avoided since it can lead to
functional bugs
Fix (Server level)
• Increase server size
– Shared host
– VPS
– Dedicated server
– CPU / Memory
• Use Server Clusters
– Load balancing
– Sticky sessions
AWS Server layout
Fix (DB level)
• Indexes
• Not more than 3 and at max 5 tables join
• MySQL query cache
– query_cache_size (if set to 0 no cache)
– query_cache_type (value on or 1)
– query_cache_limit (max size limit)
• Optimize based on engine used (InnoDB,
MyiSAM)
Fix (Advanced)
• Cache
– Code level Cache
– Varnish
• DB cache
– Code level Cache
– Memcache
About Presenter
• Pranjal Srivastava is founder of CodeFire Technologies Pvt
Lts.
• He has over 14 years of experience in technology consultancy,
architecting enterprise systems and optimizing performance of
web applications.
• He received his B.Tech from Institute of Technology - Banaras
Hindu University, Varanasi, India
• He can be reached at pranjal@codefire.in

More Related Content

What's hot

What's hot (20)

JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request Forgery
 
Lighthouse
LighthouseLighthouse
Lighthouse
 
Exploitation techniques and fuzzing
Exploitation techniques and fuzzingExploitation techniques and fuzzing
Exploitation techniques and fuzzing
 
Java Server Pages(jsp)
Java Server Pages(jsp)Java Server Pages(jsp)
Java Server Pages(jsp)
 
Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)
 
Java script Basic
Java script BasicJava script Basic
Java script Basic
 
JavaScript - Chapter 15 - Debugging Techniques
 JavaScript - Chapter 15 - Debugging Techniques JavaScript - Chapter 15 - Debugging Techniques
JavaScript - Chapter 15 - Debugging Techniques
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
 
Postman.ppt
Postman.pptPostman.ppt
Postman.ppt
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Math functions in javascript
Math functions in javascriptMath functions in javascript
Math functions in javascript
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
Jsp ppt
Jsp pptJsp ppt
Jsp ppt
 
Gradle Introduction
Gradle IntroductionGradle Introduction
Gradle Introduction
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Servlets
ServletsServlets
Servlets
 
Learn react-js
Learn react-jsLearn react-js
Learn react-js
 

Viewers also liked

What is VAVE
What is VAVE What is VAVE
What is VAVE
Reff Ren
 
Dimensions of metric hex nuts
Dimensions of metric hex nutsDimensions of metric hex nuts
Dimensions of metric hex nuts
tejasudas
 
Interferometric modulator (imod)
Interferometric modulator (imod)Interferometric modulator (imod)
Interferometric modulator (imod)
Ankita Sinha
 
Mobile Commerce: A Security Perspective
Mobile Commerce: A Security PerspectiveMobile Commerce: A Security Perspective
Mobile Commerce: A Security Perspective
Pragati Rai
 
Módulo 3. ventilación mecánica neonatal
Módulo 3. ventilación mecánica neonatalMódulo 3. ventilación mecánica neonatal
Módulo 3. ventilación mecánica neonatal
neonatologiaonline
 
Instrumentacion-control-procesos
Instrumentacion-control-procesosInstrumentacion-control-procesos
Instrumentacion-control-procesos
dsrpato
 
Antiemeticos..farma
Antiemeticos..farmaAntiemeticos..farma
Antiemeticos..farma
google
 
Supply Chain Management in healthcare
Supply Chain Management  in healthcareSupply Chain Management  in healthcare
Supply Chain Management in healthcare
Anurag Gupta
 
The x ray imaging system
The x ray imaging systemThe x ray imaging system
The x ray imaging system
Rad Tech
 

Viewers also liked (20)

Thread fastener
Thread fastenerThread fastener
Thread fastener
 
Mobile Tech Trends for 2017
Mobile Tech Trends for 2017Mobile Tech Trends for 2017
Mobile Tech Trends for 2017
 
What is VAVE
What is VAVE What is VAVE
What is VAVE
 
Dimensions of metric hex nuts
Dimensions of metric hex nutsDimensions of metric hex nuts
Dimensions of metric hex nuts
 
The Mobile Ecosystem
The Mobile EcosystemThe Mobile Ecosystem
The Mobile Ecosystem
 
Mobile Ecosystem
Mobile EcosystemMobile Ecosystem
Mobile Ecosystem
 
eMBMS for LTE
eMBMS for LTE eMBMS for LTE
eMBMS for LTE
 
Interferometric modulator (imod)
Interferometric modulator (imod)Interferometric modulator (imod)
Interferometric modulator (imod)
 
E-commerce and M-commerce
E-commerce and M-commerceE-commerce and M-commerce
E-commerce and M-commerce
 
Mobile Commerce: A Security Perspective
Mobile Commerce: A Security PerspectiveMobile Commerce: A Security Perspective
Mobile Commerce: A Security Perspective
 
Receivable management presentation1
Receivable management presentation1Receivable management presentation1
Receivable management presentation1
 
Módulo 3. ventilación mecánica neonatal
Módulo 3. ventilación mecánica neonatalMódulo 3. ventilación mecánica neonatal
Módulo 3. ventilación mecánica neonatal
 
Instrumentacion-control-procesos
Instrumentacion-control-procesosInstrumentacion-control-procesos
Instrumentacion-control-procesos
 
Antiemeticos..farma
Antiemeticos..farmaAntiemeticos..farma
Antiemeticos..farma
 
QMS White Paper
QMS White PaperQMS White Paper
QMS White Paper
 
Microtome
MicrotomeMicrotome
Microtome
 
Supply Chain Management in healthcare
Supply Chain Management  in healthcareSupply Chain Management  in healthcare
Supply Chain Management in healthcare
 
The x ray imaging system
The x ray imaging systemThe x ray imaging system
The x ray imaging system
 
Engineering Web Search Applications
Engineering Web Search ApplicationsEngineering Web Search Applications
Engineering Web Search Applications
 
Consumer Durable Loans
Consumer Durable LoansConsumer Durable Loans
Consumer Durable Loans
 

Similar to Web Application Performance

Website Performance
Website PerformanceWebsite Performance
Website Performance
Hugo Fonseca
 
Website performance optimization QA
Website performance optimization QAWebsite performance optimization QA
Website performance optimization QA
Denis Dudaev
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price
 

Similar to Web Application Performance (20)

Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
 
Website Performance
Website PerformanceWebsite Performance
Website Performance
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites Win
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Enterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyEnterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and Redundancy
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript FrameworksBuilding Enterprise Grade Front-End Applications with JavaScript Frameworks
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production
 
Introduction to the IBM Java Tools
Introduction to the IBM Java ToolsIntroduction to the IBM Java Tools
Introduction to the IBM Java Tools
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
 
Web Compatibility and Performance Testing in a Multi-Browser World
Web Compatibility and Performance Testing in a Multi-Browser WorldWeb Compatibility and Performance Testing in a Multi-Browser World
Web Compatibility and Performance Testing in a Multi-Browser World
 
Configuring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web PerormanceConfiguring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web Perormance
 
Performance on a budget
Performance on a budgetPerformance on a budget
Performance on a budget
 
Website performance optimization QA
Website performance optimization QAWebsite performance optimization QA
Website performance optimization QA
 
Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Salesforce Performance hacks - Client Side
Salesforce Performance hacks - Client SideSalesforce Performance hacks - Client Side
Salesforce Performance hacks - Client Side
 
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupSpeed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Web Application Performance

  • 1. Web application performance 1 Sunday, July 07, 2013 Presented by Pranjal Srivastava
  • 3. Performance definition • The accomplishment of a given task measured against preset known standards of accuracy, completeness, cost, and speed. http://www.businessdictionary.com/definition/performance.html#ixzz2Y5 INtXmj • Performance is based on your “Perception”
  • 6. What is web application performance?
  • 7. Why application should perform well?
  • 9. What is good / acceptable performance • Good performance is a relative term – Varies based on type of applications – Varies based on type of usage • What we say good today may not be good enough in future • 5-8 Second is generally a threshold for a page to load on a web application • For a rich web app (like gMail) initial load time may be higher but that’s a trade off for rich UX inside app • AJAX and Use of animated gif to show that page is loading…
  • 10. Steps to optimize you application • Measure performance • Diagnose bottlenecks • Fix issues
  • 11. Measure • Performance with single user • Load it and monitor performance • Monitor performance on Production server – Identify bottlenecks
  • 12. Diagnose problems • JS / HTML level • Code Level • DB level • Server level • Network
  • 13. Commonly used tools for diagnosis • Slow query log – Generally 5-10 ms is considered reasonable query performance • Yslow (http://developer.yahoo.com/yslow)/ Page speed (https://developers.google.com/speed/pagesp eed/) • Code profiling and optimization • Web based tools – http://www.webpagetest.org – http://tools.pingdom.com
  • 15. Diagnostic tools (webpagetest.org) • Initial page load time • Repeat page load time • Filmstrip View • Video view of page load • Load times for each individual elements
  • 16. Fix (Browser level) • XHTML • DIV based design • Optimized images • No errors in code (Validated HTML)
  • 17. Fix (Network level) • Reduce size of files – Gzip (JS, CSS compression) – JS/ CSS minify (reduce size) – Image compression (reduce size) • Use Content delivery network (CDN) – images, videos, audio clips, CSS files, JS files. – Browsers limit the number of concurrent connections to a single domain. Most permit four active connections – Distributed data center – Distribute the load, save bandwidth, boost performance • Combine multiple web calls
  • 18. Fix (Code level) • Code Profiling • Review code • Change Algorithms • Generally avoided since it can lead to functional bugs
  • 19. Fix (Server level) • Increase server size – Shared host – VPS – Dedicated server – CPU / Memory • Use Server Clusters – Load balancing – Sticky sessions
  • 21. Fix (DB level) • Indexes • Not more than 3 and at max 5 tables join • MySQL query cache – query_cache_size (if set to 0 no cache) – query_cache_type (value on or 1) – query_cache_limit (max size limit) • Optimize based on engine used (InnoDB, MyiSAM)
  • 22. Fix (Advanced) • Cache – Code level Cache – Varnish • DB cache – Code level Cache – Memcache
  • 23. About Presenter • Pranjal Srivastava is founder of CodeFire Technologies Pvt Lts. • He has over 14 years of experience in technology consultancy, architecting enterprise systems and optimizing performance of web applications. • He received his B.Tech from Institute of Technology - Banaras Hindu University, Varanasi, India • He can be reached at pranjal@codefire.in