SlideShare uma empresa Scribd logo
1 de 27
dynaTrace
Browser Performace Analysis
By
Yasmine M. Gaber
13-06-2013
Agenda

What is dynaTrace ?

Why should you use dynaTrace ?

dynaTrace Capabilities

Key Performance Indicators (KPI’s)

Instant Test

dynaTrace AJAX Edition

Best Practices to improve performance
What is dynaTrace ?

Offers the most advanced deep-dive web
performance diagnostics into JavaScript execution,
DOM access, rendering activities and network traffic
for analyzing and troubleshooting web applications.

Quickly trace and profile web apps to understand
performance characteristics.

Identify hotspots and isolate performance problems.

Works with browsers: Internet Explorer (6 – 10) and
Firefox (3.6 – 20) on Windows (XP, 7 , 8).
Why should you use dynaTrace ?

Find What's Causing Web
Performance Issues

Investigate Potential Web
Performance Improvements

Build More Interactive Web Apps Faster

Understand Exactly What Is Happening in the
Browser
dynaTrace Capabilities

Cross-Browser Diagnostics

Code-Level Visibility Into Frameworks

Speed Up Page Load Times

Optimize Page Rendering

Compare Website To Peers

Deep Javascript And Dom Tracing

Share Data With Your Peers
Key Performance Indicators (KPI’s)

Tell you how fast or slow your web site is to
the end user.

Driven by efforts from web performance
specialists such as Steve Souders and
companies like Google and Yahoo!

Divided into:
a) KPI’s on Load Time
b) KPI’s on Resources
c) KPI’s on Network Connections
KPI’s on Load Time

Time to First Impression

Time to onLoad Event

Time to Fully Loaded
KPI’s on Load Time
KPI’s on Resources

Total Number of Requests

Total Number of HTTP 300s/400s/500s

Total Size of Web Site

Total Size of Images/CSS/JS

Total Number of XHR Requests
KPI’s on Resources
KPI’s on Network Connections

DNS Time

Connect Time

Server Time

Transfer Time

Wait Time

Number of Domains / Single Resource
Domains
KPI’s on Network Connections
Rank Calculations

Time to First Impression: great if < 1s, acceptable if
< 2.5s, slow if > 2.5s

Time to onLoad: great if < 2s, acceptable if < 4s,
slow if > 4s

Time to Fully Loaded: great if < 2s, acceptable if <
5s, slow if > 5s

Number of total HTTP Requests: great sites if < 40
requests, acceptable sites if < 100 requests, bad sites
if > 100 requests

Browser Caching, Network Resources,
JavaScript/AJAX and Server-Side Activities.
Instant Test
http://www.gomez.com/website-performance-test
Instant Test
http://www.gomez.com/website-performance-test
Instant Test
http://www.gomez.com/website-performance-test
Instant Test
http://www.gomez.com/website-performance-test
dynaTrace AJAX Edition
Best Practices to improve
performance

Best Practices on Browser Caching

Best Practices on Network Requests and
Round-trips

Best Practices on JavaScript and AJAX
Performance

Best Practices on Server-Side Performance
Optimization
Best Practices on Browser Caching

HTTP Caching Headers
− Expires Headers
− Cache-Control using max-age setting in seconds

Rank Calculations
− Page scores a 100 if there are fewer than 5
resources with missing cache settings or a setting in
the past.
− Calculate the ratio of cached and short-cached
resources to the overall number of resources on that
page
− Penalize objects with NO cache settings or an expires
date in the past by multiplying the ratio with 1.5
Best Practices on Network
Requests and Round-trips

Avoid Redirects, HTTP 400s and HTTP 500s

Optimize:
− Images (CSS Sprites and Compacting)
− Style Sheets (Merge CSS Files)
− JavaScript (Merge and Minimize JavaScript Files)

Rank Calculations
− Page scores a 100 if there are no redirects, 400s or 500s
and no images, css and js files that could be merged.
− Allows up to 1 css, 6 images and 2 js file from the same
domain
− Penalize rank by 1 for each extra file
Best Practices on JavaScript and
AJAX Performance

Blocking and long running script tags
− Delay Loading JavaScript Files
− Optimizing JavaScript Execution

Slow CSS Selectors with jQuery/Prototype
− Use Unique ID when possible (95% faster than using
class name)
− Specify a Tag name if you have to use the Class
Name
− Specify a parent context
− Cache Lookup Results
− Reduce the DOM Size
Best Practices on JavaScript and
AJAX Performance

Optimize XHR calls when applicable

Manipulating the DOM

Rank Calculations
− Allow 2 JavaScript files. Penalize the Rank for
every additional file
− Sum the overall execution time of blocks that
execute longer than 20ms. Every 50ms reduces
the Page Rank by 1 point
− Penalize the page for more than 5 XHR calls
Best Practices on Server-Side
Performance Optimization

Server requests:
− First request on the page
− Requests that return HTML
− Requests that send GET or POST parameters
− All XHR/AJAX Requests

Rank Calculations
− Allow up to 6 Server-Side requests. Every additional
request is penalized by 1 rank
− For each request, penalize rank by

1 if server time from 200ms to 400ms

2 if server time between 400ms and 1000s

4 if server time longer than 1s.
Questions ?
Resources

http://www.compuware.com/en_us/application-
performance-management/products/user-
experience-management/real-user-monitoring-
web-and-mobile/capabilities.html

https://apmcommunity.compuware.com/comm
unity/display/AJAX/dynaTrace+AJAX+Edition+
Community+Home
Thank You !
Twitter: @yasmine_mohamed
Email: yasmine.gaber@gmail.com

Mais conteúdo relacionado

Mais procurados

Project report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysqlProject report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysql
Raj Sharma
 
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specification
Krishnasai Gudavalli
 

Mais procurados (20)

Srs sample
Srs sampleSrs sample
Srs sample
 
Azure ADと外部アプリのID連携/SSO - Deep Dive
Azure ADと外部アプリのID連携/SSO - Deep DiveAzure ADと外部アプリのID連携/SSO - Deep Dive
Azure ADと外部アプリのID連携/SSO - Deep Dive
 
PSR-3 logs using Monolog and Graylog
PSR-3 logs using Monolog and Graylog PSR-3 logs using Monolog and Graylog
PSR-3 logs using Monolog and Graylog
 
Project report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysqlProject report-on-student-information-management-system-php-mysql
Project report-on-student-information-management-system-php-mysql
 
SRS Document For Instagram
SRS Document For InstagramSRS Document For Instagram
SRS Document For Instagram
 
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
 
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
 
Software Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management SystemSoftware Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management System
 
Integrating FIDO Authentication & Federation Protocols
Integrating FIDO Authentication & Federation ProtocolsIntegrating FIDO Authentication & Federation Protocols
Integrating FIDO Authentication & Federation Protocols
 
Online Voting System Project File
Online Voting System Project FileOnline Voting System Project File
Online Voting System Project File
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
 
Regex cheatsheet
Regex cheatsheetRegex cheatsheet
Regex cheatsheet
 
Software requirement specification(SRS)
Software requirement specification(SRS)Software requirement specification(SRS)
Software requirement specification(SRS)
 
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specification
 
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
 
Software Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management systemSoftware Requirements Specification for restaurant management system
Software Requirements Specification for restaurant management system
 
Cv generator
Cv generator Cv generator
Cv generator
 
领域驱动设计精要 (Domain Driven Design Inside and Outside)
领域驱动设计精要 (Domain Driven Design Inside and Outside)领域驱动设计精要 (Domain Driven Design Inside and Outside)
领域驱动设计精要 (Domain Driven Design Inside and Outside)
 
今更聞けない電子認証入門 - OAuth 2.0/OIDCからFIDOまで -
今更聞けない電子認証入門 - OAuth 2.0/OIDCからFIDOまで -今更聞けない電子認証入門 - OAuth 2.0/OIDCからFIDOまで -
今更聞けない電子認証入門 - OAuth 2.0/OIDCからFIDOまで -
 
Timer control
Timer controlTimer control
Timer control
 

Destaque

Dyna Trace Whitepaper Performance
Dyna Trace Whitepaper PerformanceDyna Trace Whitepaper Performance
Dyna Trace Whitepaper Performance
gopi1985
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User Monitoring
Dynatrace
 
Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)
Ravi Okade
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
Harald Zeitlhofer
 

Destaque (20)

Using dynaTrace to optimise application performance
Using dynaTrace to optimise application performanceUsing dynaTrace to optimise application performance
Using dynaTrace to optimise application performance
 
Dynatrace
DynatraceDynatrace
Dynatrace
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Dyna Trace Whitepaper Performance
Dyna Trace Whitepaper PerformanceDyna Trace Whitepaper Performance
Dyna Trace Whitepaper Performance
 
PerfUG : présentation de Dynatrace APM
PerfUG : présentation de Dynatrace APMPerfUG : présentation de Dynatrace APM
PerfUG : présentation de Dynatrace APM
 
dynaTrace APM
dynaTrace APMdynaTrace APM
dynaTrace APM
 
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User Monitoring
 
AWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next LevelAWS and Dynatrace: Moving your Cloud Strategy to the Next Level
AWS and Dynatrace: Moving your Cloud Strategy to the Next Level
 
Top Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps HandbookTop Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps Handbook
 
Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]
 
2016 Holiday Retail Tech Recap
2016 Holiday Retail Tech Recap2016 Holiday Retail Tech Recap
2016 Holiday Retail Tech Recap
 
Ask the Expert – Best Practices for a High Performing Site
Ask the Expert – Best Practices for a High Performing SiteAsk the Expert – Best Practices for a High Performing Site
Ask the Expert – Best Practices for a High Performing Site
 
Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)Optimizing Application Architecture (.NET/Java topics)
Optimizing Application Architecture (.NET/Java topics)
 
25 Famous Websites using Wordpress
25 Famous Websites using Wordpress25 Famous Websites using Wordpress
25 Famous Websites using Wordpress
 
Unravelling Mobile Web Performance
Unravelling Mobile Web PerformanceUnravelling Mobile Web Performance
Unravelling Mobile Web Performance
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
 
Nagios Conference 2011 - David Thomas - Know Its Broke Before Your Customers Do
Nagios Conference 2011 - David Thomas - Know Its Broke Before Your Customers DoNagios Conference 2011 - David Thomas - Know Its Broke Before Your Customers Do
Nagios Conference 2011 - David Thomas - Know Its Broke Before Your Customers Do
 
OTechs Network Monitoring (Nagios) Training Course
OTechs Network Monitoring (Nagios) Training CourseOTechs Network Monitoring (Nagios) Training Course
OTechs Network Monitoring (Nagios) Training Course
 
5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST5 Steps for Identifying Deficiencies and Fixing Problems FAST
5 Steps for Identifying Deficiencies and Fixing Problems FAST
 

Semelhante a Dyna trace

Dyna trace ajax edition介绍
Dyna trace ajax edition介绍Dyna trace ajax edition介绍
Dyna trace ajax edition介绍
louieuser
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
Tuenti
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
Spiffy
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
Rayed Alrashed
 

Semelhante a Dyna trace (20)

Dyna trace ajax edition介绍
Dyna trace ajax edition介绍Dyna trace ajax edition介绍
Dyna trace ajax edition介绍
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
Performance anti patterns in ajax applications
Performance anti patterns in ajax applicationsPerformance anti patterns in ajax applications
Performance anti patterns in ajax applications
 
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax ApplicationsTSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
 
JS Fest 2019/Autumn. Александр Товмач. JAMstack
JS Fest 2019/Autumn. Александр Товмач. JAMstackJS Fest 2019/Autumn. Александр Товмач. JAMstack
JS Fest 2019/Autumn. Александр Товмач. JAMstack
 
Making the web faster
Making the web fasterMaking the web faster
Making the web faster
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
Modelling Web Performance Optimization - FFSUx
Modelling  Web Performance Optimization - FFSUxModelling  Web Performance Optimization - FFSUx
Modelling Web Performance Optimization - FFSUx
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
 
Ajax For Scalability
Ajax For ScalabilityAjax For Scalability
Ajax For Scalability
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
 
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
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
Open-source website performance tools
Open-source website performance toolsOpen-source website performance tools
Open-source website performance tools
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 

Mais de Yasmine Gaber (8)

Capistrano
CapistranoCapistrano
Capistrano
 
Ionic
IonicIonic
Ionic
 
Mahout part2
Mahout part2Mahout part2
Mahout part2
 
Mahout part1
Mahout part1Mahout part1
Mahout part1
 
Ibn Sina
Ibn SinaIbn Sina
Ibn Sina
 
Home Bowling
Home BowlingHome Bowling
Home Bowling
 
Oauth2.0
Oauth2.0Oauth2.0
Oauth2.0
 
Why_do i_hate_shopping
Why_do i_hate_shoppingWhy_do i_hate_shopping
Why_do i_hate_shopping
 

Último

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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?
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Dyna trace

  • 2. Agenda  What is dynaTrace ?  Why should you use dynaTrace ?  dynaTrace Capabilities  Key Performance Indicators (KPI’s)  Instant Test  dynaTrace AJAX Edition  Best Practices to improve performance
  • 3. What is dynaTrace ?  Offers the most advanced deep-dive web performance diagnostics into JavaScript execution, DOM access, rendering activities and network traffic for analyzing and troubleshooting web applications.  Quickly trace and profile web apps to understand performance characteristics.  Identify hotspots and isolate performance problems.  Works with browsers: Internet Explorer (6 – 10) and Firefox (3.6 – 20) on Windows (XP, 7 , 8).
  • 4. Why should you use dynaTrace ?  Find What's Causing Web Performance Issues  Investigate Potential Web Performance Improvements  Build More Interactive Web Apps Faster  Understand Exactly What Is Happening in the Browser
  • 5. dynaTrace Capabilities  Cross-Browser Diagnostics  Code-Level Visibility Into Frameworks  Speed Up Page Load Times  Optimize Page Rendering  Compare Website To Peers  Deep Javascript And Dom Tracing  Share Data With Your Peers
  • 6. Key Performance Indicators (KPI’s)  Tell you how fast or slow your web site is to the end user.  Driven by efforts from web performance specialists such as Steve Souders and companies like Google and Yahoo!  Divided into: a) KPI’s on Load Time b) KPI’s on Resources c) KPI’s on Network Connections
  • 7. KPI’s on Load Time  Time to First Impression  Time to onLoad Event  Time to Fully Loaded
  • 9. KPI’s on Resources  Total Number of Requests  Total Number of HTTP 300s/400s/500s  Total Size of Web Site  Total Size of Images/CSS/JS  Total Number of XHR Requests
  • 11. KPI’s on Network Connections  DNS Time  Connect Time  Server Time  Transfer Time  Wait Time  Number of Domains / Single Resource Domains
  • 12. KPI’s on Network Connections
  • 13. Rank Calculations  Time to First Impression: great if < 1s, acceptable if < 2.5s, slow if > 2.5s  Time to onLoad: great if < 2s, acceptable if < 4s, slow if > 4s  Time to Fully Loaded: great if < 2s, acceptable if < 5s, slow if > 5s  Number of total HTTP Requests: great sites if < 40 requests, acceptable sites if < 100 requests, bad sites if > 100 requests  Browser Caching, Network Resources, JavaScript/AJAX and Server-Side Activities.
  • 19. Best Practices to improve performance  Best Practices on Browser Caching  Best Practices on Network Requests and Round-trips  Best Practices on JavaScript and AJAX Performance  Best Practices on Server-Side Performance Optimization
  • 20. Best Practices on Browser Caching  HTTP Caching Headers − Expires Headers − Cache-Control using max-age setting in seconds  Rank Calculations − Page scores a 100 if there are fewer than 5 resources with missing cache settings or a setting in the past. − Calculate the ratio of cached and short-cached resources to the overall number of resources on that page − Penalize objects with NO cache settings or an expires date in the past by multiplying the ratio with 1.5
  • 21. Best Practices on Network Requests and Round-trips  Avoid Redirects, HTTP 400s and HTTP 500s  Optimize: − Images (CSS Sprites and Compacting) − Style Sheets (Merge CSS Files) − JavaScript (Merge and Minimize JavaScript Files)  Rank Calculations − Page scores a 100 if there are no redirects, 400s or 500s and no images, css and js files that could be merged. − Allows up to 1 css, 6 images and 2 js file from the same domain − Penalize rank by 1 for each extra file
  • 22. Best Practices on JavaScript and AJAX Performance  Blocking and long running script tags − Delay Loading JavaScript Files − Optimizing JavaScript Execution  Slow CSS Selectors with jQuery/Prototype − Use Unique ID when possible (95% faster than using class name) − Specify a Tag name if you have to use the Class Name − Specify a parent context − Cache Lookup Results − Reduce the DOM Size
  • 23. Best Practices on JavaScript and AJAX Performance  Optimize XHR calls when applicable  Manipulating the DOM  Rank Calculations − Allow 2 JavaScript files. Penalize the Rank for every additional file − Sum the overall execution time of blocks that execute longer than 20ms. Every 50ms reduces the Page Rank by 1 point − Penalize the page for more than 5 XHR calls
  • 24. Best Practices on Server-Side Performance Optimization  Server requests: − First request on the page − Requests that return HTML − Requests that send GET or POST parameters − All XHR/AJAX Requests  Rank Calculations − Allow up to 6 Server-Side requests. Every additional request is penalized by 1 rank − For each request, penalize rank by  1 if server time from 200ms to 400ms  2 if server time between 400ms and 1000s  4 if server time longer than 1s.
  • 27. Thank You ! Twitter: @yasmine_mohamed Email: yasmine.gaber@gmail.com