This presentation attempts to make assumptions used in popular web performance tools like YSlow and webpagetest explicit. It also looks at the NavTiming API and explores ways to capture RUM measurements and correlate them with server-side metrics.
Monitoring web application response times^lj a hybrid approach for windowsMark Friedman
油
This document discusses web application performance monitoring and summarization. It covers tools like YSlow for analyzing page load times, and introduces an approach using Event Tracing for Windows (ETW) to capture performance data from web applications. This includes intercepting Yahoo Boomerang beacon requests to generate ETW events with page load time measurements and other data for analysis. A Web Application Trace Explorer is demonstrated to filter and report on these events to help explore server-side event streams and web application performance.
This document summarizes a presentation on Stork 1.0 and beyond for large-scale collaborative science. Stork is a framework for scheduling data placement jobs. It uses modular transfer modules to support different protocols and services. It also includes features like error detection and classification, dynamic tuning of transfer parameters, job aggregation for improved performance, and has been used for data migration in projects like PetaShare. Future work may include improving performance and fault tolerance through distributed scheduling agents.
Webinar: Data Streaming with Apache Kafka & MongoDBMongoDB
油
A new generation of technologies is needed to consume and exploit today's real time, fast moving data sources. Apache Kafka, originally developed at LinkedIn, has emerged as one of these key new technologies.
Monitoring web application response times, a new approachMark Friedman
油
An approach to capturing and integrating web client Real User Measurements from the Navigation object with server-side network and HttpServer diagnostic events.
The document discusses client side performance testing. It defines client side performance as how fast a page loads for a single user on a browser or mobile device. Good client side performance is important for user experience and business metrics like sales. It recommends rules for faster loading websites, and introduces the WebPageTest tool for measuring client side performance metrics from multiple locations. WebPageTest provides waterfall views, filmstrip views, packet captures and reports to analyze page load times and identify optimization opportunities.
This document discusses consuming web services from an Android application using SOAP and REST. It provides examples of using a SOAP client to call a .NET web service hosted on IIS and returning data in an XML envelope. It also discusses using a REST client to invoke PHP services on a web server and receive JSON responses. The document outlines the layers of the web service architecture including transport, messaging, description and discovery.
WebAccel: Accelerating Web access for low-bandwidth hostsZhenyun Zhuang
油
The document describes problems with how current web browsers access web pages in low-bandwidth environments. It analyzes factors that cause large response times, such as properties of typical web pages, interactions between HTTP and TCP protocols, and impact of server-side optimizations. It proposes a new solution called WebAccel that uses three browser-side mechanisms - prioritized fetching, object reordering, and connection management - to reduce user response time in an easy-to-deploy way. Simulation results and a prototype implementation show that WebAccel brings significant performance benefits over current browsers.
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Cliff Crocker
油
This document discusses various metrics for measuring website performance. It begins by noting that there are many metrics to consider and no single metric tells the whole story. It then discusses several key metrics for measuring different aspects of performance, including:
- Front-end metrics like start render, DOM loading/ready, and page load that can isolate front-end from back-end performance.
- Network metrics like DNS and TCP timings that provide insight into connectivity issues.
- Resource timing metrics that measure individual assets to understand impacts of third parties and CDNs.
- User timing metrics like measuring above-the-fold content that capture user experience.
It emphasizes the importance of considering real user monitoring data alongside
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
油
Theres no one-size-fits-all approach to metrics. In this session, Cliff Crocker and I walk through various metrics that answer performance questions from multiple perspectives from designer and DevOps to CRO and CEO. Youll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
Metrics, metrics everywhere (but where the heck do you start?) SOASTA
油
This document discusses various metrics for measuring website performance and user experience. It outlines different types of metrics including:
- Network metrics like DNS resolution, TCP connection times, and time to first byte.
- Browser metrics like start render time, DOM loading/ready times, and page load times.
- Resource-level metrics obtained from the Resource Timing API like individual asset load times and response sizes.
- User-centric metrics like Speed Index, time to visible content, and metrics for single-page applications without traditional page loads.
It emphasizes the importance of measuring real user monitoring data alongside synthetic tests, and looking at higher percentiles rather than just averages due to variability in user environments and network conditions
Client-side web acceleration for low-bandwidth hostsZhenyun Zhuang
油
This document proposes client-side optimizations to reduce web page load times for users on low-bandwidth networks. It analyzes problems with how current web browsers fetch entire pages greedily without prioritizing visible content. This wastes bandwidth and increases load times. The document proposes three browser-side mechanisms: 1) prioritizing the fetching of objects visible on the initial screen over other objects, 2) reordering object fetching to better utilize bandwidth, and 3) improving connection management. Simulations show these techniques can significantly reduce user-perceived response times compared to current browsers for low-bandwidth conditions.
This document provides an outline and details for a course on Internet Programming. It includes sections on course details, programming and the web, programming versus scripting, serving HTML pages, web servers, accessing databases, web applications, Ajax, HTML tags, and references. The lecturer is Eng. Mohammed Hussein from Thamar University in Yemen.
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
油
You want a single, unicorn metric that magically sums up the user experience, business value, and numbers that DevOps cares about, but so far, you're just not getting it. So where do you start? In this talk at the 2015 Velocity conference in Santa Clara, Cliff Crocker and I walked through various metrics that answer performance questions from multiple perspectives -- from designer and DevOps to CRO and CEO.
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
油
Not surprisingly, theres no one-size-fits-all performance metric (though life would be simpler if there were). Different metrics will give you different critical insights into whether or not your pages are delivering the results you want both from your end users perspective and ultimately from your organizations perspective. Join Tammy Everts, and walk through various metrics that answer performance questions from multiple perspectives. Youll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
油
Not surprisingly, theres no one-size-fits-all performance metric (though life would be simpler if there were). Different metrics will give you different critical insights into whether or not your pages are delivering the results you want both from your end users perspective and ultimately from your organizations perspective. Join Tammy Everts, and walk through various metrics that answer performance questions from multiple perspectives. Youll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
The document discusses performance analysis of a large intranet web application called Global Projects Delivery (GPD) which was experiencing erratic response times for users. Key findings from the analysis were:
1) Most traffic occurred during morning, post-lunch, and evening peaks and was concentrated on a few frequently accessed pages like daily task updates.
2) While the application server response time was good, 98% of the total response time was spent on data transfer, indicating the network was the bottleneck.
3) Pages with multiple frames and requests slowed down data transfer rates significantly compared to simpler pages.
4) Actions recommended included redesigning pages to reduce frames and requests, relocating servers closer to users, and
The document summarizes a seminar presentation on the World Wide Web (WWW). It discusses the basic client-server architecture of the WWW, with servers hosting documents and clients providing interfaces for users. It also covers the evolution of the WWW to include distributed services beyond just documents. Traditional web systems are described as using simple client-server models with URLs to locate documents on servers. Key aspects like HTTP, document models, and scripting technologies are summarized. Security measures for web transactions like TLS and aspects of caching, replication, and content delivery are also outlined.
The document discusses the evolution of using the web as a real application platform. It outlines key technologies like HTML5, JavaScript, and WebGL that have advanced the capabilities of web applications. The document also notes shortcomings in earlier versions of the web around user interaction, performance, and compatibility issues. However, new technologies and browser improvements have helped address many of these issues. The document concludes that the web is becoming a viable platform for developing full-featured applications that combine the benefits of installed software and web-based applications.
Topics:
- Web Architecture Overview
- HTTP (Hypertext Transfer Protocol)
- REST (Representational State Transfer)
- JSON (JavaScript Object Notation)
際際滷s for the course of "Ambient Intelligence: Technology and Design" given at Politecnico di Torino during year 2013/2014.
Course website: http://bit.ly/polito-ami
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsNicholas Jansma
油
This document discusses modern browser APIs that can improve web application performance. It covers Navigation Timing, Resource Timing, and User Timing which provide standardized ways to measure page load times, resource load times, and custom events. Other APIs discussed include the Performance Timeline, Page Visibility, requestAnimationFrame for script animations, High Resolution Time for more precise timestamps, and setImmediate for more efficient script yielding than setTimeout. These browser APIs give developers tools to assess and optimize the performance of their applications.
Ten practical ways to improve front-end performanceAndrew Rota
油
Conference talk presented at PHP South Coast 2017. Ten concrete ways to improve web performance, split between quick tactical wins and longer-term overarching strategies.
This document discusses optimizing the client-side performance of websites. It describes how reducing HTTP requests through techniques like image maps, CSS sprites, and combining scripts and stylesheets can improve response times. It also recommends strategies like using a content delivery network, adding expiration headers, compressing components, correctly structuring CSS and scripts, and optimizing JavaScript code and Ajax implementations. The benefits of a performant front-end are emphasized, as client-side optimizations often require less time and resources than back-end changes.
Performance is the most important attribute for success of any commercial and Enterprise Software. In a client server environment, developers focus a lot on optimizing the Data and Logical Tiers. Optimization of Presentation Tier which is responsible for more than 30 % of performance is usually ignored.
The document is developed with the intension to teach the technical staff on Optimizing the Presentation Tier which significantly improves the performance of the Client Server applications.
Introduction to AJAX, Reverse Ajax for beginners.
A presentation on Ajax, Reverse Ajax suitable for college level presentations and seminars.Contains 30 slides with example
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...Nicholas Jansma
油
Make It Fast
Using Modern Browser Performance APIs to Monitor and Improve the Performance of your Web Apps.
Presented at CodeMash 2015.
Performance matters. How fast your site loads not just on your development machine, but from your actual customers, across the globe has a direct impact on your visitors happiness and conversion rate. Todays browsers provide several new cutting-edge performance APIs that can give you Real User Metrics (RUM) of your live sites performance. Whether you run a small blog or a top-1K site, monitoring and understanding your performance is the key to giving your visitors a better experience. We will be discussing the NavigationTiming, ResourceTiming and UserTiming performance APIs, which are available in the majority of modern browsers. Youll walk away with a better understanding of what problem these APIs solve and how to start using them today. Well also go through both D.I.Y. and commercial options that utilize these APIs to help you better monitor and improve the performance of your websites.
This document is a curriculum vitae for Chandan Kumar that outlines his professional experience and qualifications. He has over 10 years of experience in software development using technologies like ASP.NET, C#, SQL Server, and Angular. Some of his responsibilities have included requirement gathering, database design, solution design, and acting as a project lead or technical lead on various projects for clients like Zensar Technologies and Indigo. He also lists his education qualifications and certifications in areas like .NET development.
Cloud APIs provide programmatic access to cloud resources and services. They allow developers to interact with applications, development environments, and raw compute/storage resources through standardized interfaces. While each cloud provider currently has their own proprietary APIs, there is a push for open standards to accelerate development of higher-level services and commoditization of basic resources. Key areas for a common cloud API include resource representations, security requirements, and orchestration of ensembles of resources across providers.
HITRUST Overview and AI Assessments Webinar.pptxAmyPoblete3
油
This webinar provides an overview of HITRUST, a widely recognized cybersecurity framework, and its application in AI assessments for risk management and compliance. It explores different HITRUST assessment options, including AI-specific frameworks, and highlights how organizations can streamline certification processes to enhance security and regulatory adherence.
More Related Content
Similar to Why is this ASP.NET web app running slowly? (20)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Cliff Crocker
油
This document discusses various metrics for measuring website performance. It begins by noting that there are many metrics to consider and no single metric tells the whole story. It then discusses several key metrics for measuring different aspects of performance, including:
- Front-end metrics like start render, DOM loading/ready, and page load that can isolate front-end from back-end performance.
- Network metrics like DNS and TCP timings that provide insight into connectivity issues.
- Resource timing metrics that measure individual assets to understand impacts of third parties and CDNs.
- User timing metrics like measuring above-the-fold content that capture user experience.
It emphasizes the importance of considering real user monitoring data alongside
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
油
Theres no one-size-fits-all approach to metrics. In this session, Cliff Crocker and I walk through various metrics that answer performance questions from multiple perspectives from designer and DevOps to CRO and CEO. Youll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
Metrics, metrics everywhere (but where the heck do you start?) SOASTA
油
This document discusses various metrics for measuring website performance and user experience. It outlines different types of metrics including:
- Network metrics like DNS resolution, TCP connection times, and time to first byte.
- Browser metrics like start render time, DOM loading/ready times, and page load times.
- Resource-level metrics obtained from the Resource Timing API like individual asset load times and response sizes.
- User-centric metrics like Speed Index, time to visible content, and metrics for single-page applications without traditional page loads.
It emphasizes the importance of measuring real user monitoring data alongside synthetic tests, and looking at higher percentiles rather than just averages due to variability in user environments and network conditions
Client-side web acceleration for low-bandwidth hostsZhenyun Zhuang
油
This document proposes client-side optimizations to reduce web page load times for users on low-bandwidth networks. It analyzes problems with how current web browsers fetch entire pages greedily without prioritizing visible content. This wastes bandwidth and increases load times. The document proposes three browser-side mechanisms: 1) prioritizing the fetching of objects visible on the initial screen over other objects, 2) reordering object fetching to better utilize bandwidth, and 3) improving connection management. Simulations show these techniques can significantly reduce user-perceived response times compared to current browsers for low-bandwidth conditions.
This document provides an outline and details for a course on Internet Programming. It includes sections on course details, programming and the web, programming versus scripting, serving HTML pages, web servers, accessing databases, web applications, Ajax, HTML tags, and references. The lecturer is Eng. Mohammed Hussein from Thamar University in Yemen.
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
油
You want a single, unicorn metric that magically sums up the user experience, business value, and numbers that DevOps cares about, but so far, you're just not getting it. So where do you start? In this talk at the 2015 Velocity conference in Santa Clara, Cliff Crocker and I walked through various metrics that answer performance questions from multiple perspectives -- from designer and DevOps to CRO and CEO.
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
油
Not surprisingly, theres no one-size-fits-all performance metric (though life would be simpler if there were). Different metrics will give you different critical insights into whether or not your pages are delivering the results you want both from your end users perspective and ultimately from your organizations perspective. Join Tammy Everts, and walk through various metrics that answer performance questions from multiple perspectives. Youll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
Metrics, Metrics Everywhere (but where the heck do you start?)SOASTA
油
Not surprisingly, theres no one-size-fits-all performance metric (though life would be simpler if there were). Different metrics will give you different critical insights into whether or not your pages are delivering the results you want both from your end users perspective and ultimately from your organizations perspective. Join Tammy Everts, and walk through various metrics that answer performance questions from multiple perspectives. Youll walk away with a better understanding of your options, as well as a clear understanding of how to choose the right metric for the right audience.
The document discusses performance analysis of a large intranet web application called Global Projects Delivery (GPD) which was experiencing erratic response times for users. Key findings from the analysis were:
1) Most traffic occurred during morning, post-lunch, and evening peaks and was concentrated on a few frequently accessed pages like daily task updates.
2) While the application server response time was good, 98% of the total response time was spent on data transfer, indicating the network was the bottleneck.
3) Pages with multiple frames and requests slowed down data transfer rates significantly compared to simpler pages.
4) Actions recommended included redesigning pages to reduce frames and requests, relocating servers closer to users, and
The document summarizes a seminar presentation on the World Wide Web (WWW). It discusses the basic client-server architecture of the WWW, with servers hosting documents and clients providing interfaces for users. It also covers the evolution of the WWW to include distributed services beyond just documents. Traditional web systems are described as using simple client-server models with URLs to locate documents on servers. Key aspects like HTTP, document models, and scripting technologies are summarized. Security measures for web transactions like TLS and aspects of caching, replication, and content delivery are also outlined.
The document discusses the evolution of using the web as a real application platform. It outlines key technologies like HTML5, JavaScript, and WebGL that have advanced the capabilities of web applications. The document also notes shortcomings in earlier versions of the web around user interaction, performance, and compatibility issues. However, new technologies and browser improvements have helped address many of these issues. The document concludes that the web is becoming a viable platform for developing full-featured applications that combine the benefits of installed software and web-based applications.
Topics:
- Web Architecture Overview
- HTTP (Hypertext Transfer Protocol)
- REST (Representational State Transfer)
- JSON (JavaScript Object Notation)
際際滷s for the course of "Ambient Intelligence: Technology and Design" given at Politecnico di Torino during year 2013/2014.
Course website: http://bit.ly/polito-ami
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsNicholas Jansma
油
This document discusses modern browser APIs that can improve web application performance. It covers Navigation Timing, Resource Timing, and User Timing which provide standardized ways to measure page load times, resource load times, and custom events. Other APIs discussed include the Performance Timeline, Page Visibility, requestAnimationFrame for script animations, High Resolution Time for more precise timestamps, and setImmediate for more efficient script yielding than setTimeout. These browser APIs give developers tools to assess and optimize the performance of their applications.
Ten practical ways to improve front-end performanceAndrew Rota
油
Conference talk presented at PHP South Coast 2017. Ten concrete ways to improve web performance, split between quick tactical wins and longer-term overarching strategies.
This document discusses optimizing the client-side performance of websites. It describes how reducing HTTP requests through techniques like image maps, CSS sprites, and combining scripts and stylesheets can improve response times. It also recommends strategies like using a content delivery network, adding expiration headers, compressing components, correctly structuring CSS and scripts, and optimizing JavaScript code and Ajax implementations. The benefits of a performant front-end are emphasized, as client-side optimizations often require less time and resources than back-end changes.
Performance is the most important attribute for success of any commercial and Enterprise Software. In a client server environment, developers focus a lot on optimizing the Data and Logical Tiers. Optimization of Presentation Tier which is responsible for more than 30 % of performance is usually ignored.
The document is developed with the intension to teach the technical staff on Optimizing the Presentation Tier which significantly improves the performance of the Client Server applications.
Introduction to AJAX, Reverse Ajax for beginners.
A presentation on Ajax, Reverse Ajax suitable for college level presentations and seminars.Contains 30 slides with example
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...Nicholas Jansma
油
Make It Fast
Using Modern Browser Performance APIs to Monitor and Improve the Performance of your Web Apps.
Presented at CodeMash 2015.
Performance matters. How fast your site loads not just on your development machine, but from your actual customers, across the globe has a direct impact on your visitors happiness and conversion rate. Todays browsers provide several new cutting-edge performance APIs that can give you Real User Metrics (RUM) of your live sites performance. Whether you run a small blog or a top-1K site, monitoring and understanding your performance is the key to giving your visitors a better experience. We will be discussing the NavigationTiming, ResourceTiming and UserTiming performance APIs, which are available in the majority of modern browsers. Youll walk away with a better understanding of what problem these APIs solve and how to start using them today. Well also go through both D.I.Y. and commercial options that utilize these APIs to help you better monitor and improve the performance of your websites.
This document is a curriculum vitae for Chandan Kumar that outlines his professional experience and qualifications. He has over 10 years of experience in software development using technologies like ASP.NET, C#, SQL Server, and Angular. Some of his responsibilities have included requirement gathering, database design, solution design, and acting as a project lead or technical lead on various projects for clients like Zensar Technologies and Indigo. He also lists his education qualifications and certifications in areas like .NET development.
Cloud APIs provide programmatic access to cloud resources and services. They allow developers to interact with applications, development environments, and raw compute/storage resources through standardized interfaces. While each cloud provider currently has their own proprietary APIs, there is a push for open standards to accelerate development of higher-level services and commoditization of basic resources. Key areas for a common cloud API include resource representations, security requirements, and orchestration of ensembles of resources across providers.
HITRUST Overview and AI Assessments Webinar.pptxAmyPoblete3
油
This webinar provides an overview of HITRUST, a widely recognized cybersecurity framework, and its application in AI assessments for risk management and compliance. It explores different HITRUST assessment options, including AI-specific frameworks, and highlights how organizations can streamline certification processes to enhance security and regulatory adherence.
Custom Development vs Off-the-Shelf Solutions for Shopify Plus ERP Integratio...CartCoders
油
Choosing between custom development and off-the-shelf solutions for Shopify Plus ERP integration? Our latest blog explores the pros and cons to help you decide the best approach for optimizing your eCommerce operations.
JACKPOT TANGKI4D BERMAIN MENGGUNAKAN ID PRO 2025 TEPERCAYA LISENSI STAR GAMIN...TANGKI4D
油
MODAL 50RIBU JACKPOT 10JUTA
BERMAIN DI STARLIGHT PRINCESS
TUNGGU APA LAGI MAIN KAN SEKARANG
GUNAKAN POLA BERMAIN REKOMENDASI KAMI
3x MANUAL SPIN DC ON-OFF
10x TURBO Spin DC OFF
2x MANUAL Spin DC ON-OFF
20x CEPAT Spin DC OFF
COMBO DENGAN BUY FITURE SPIN
#Tangki4dexclusive #tangki4dlink #tangki4dvip #bandarsbobet #idpro2025 #stargamingasia #situsjitu #jppragmaticplay
Elliptic Curve Cryptography Algorithm with Recurrent Neural Networks for Atta...IJCNCJournal
油
The increasing use of Industrial Internet of Things (IIoT) devices has brought about new security vulnerabilities, emphasizing the need to create strong and effective security solutions. This research proposes a two-layered approach to enhance security in IIoT networks by combining lightweight encryption and RNN-based attack detection. The first layer utilizes Improved Elliptic Curve Cryptography (IECC), a novel encryption scheme tailored for IIoT devices with limited computational resources. IECC employs a Modified Windowed Method (MWM) to optimize key generation, reducing computational overhead and enabling efficient secure data transmission between IIoT sensors and gateways. The second layer employs a Recurrent Neural Network (RNN) for real-time attack detection. The RNN model is trained on a comprehensive dataset of IIoT network traffic, including instances of Distributed Denial of Service (DDoS), Man-in-the-Middle (MitM), ransomware attacks, and normal communications. The RNN effectively extracts contextual features from IIoT nodes and accurately predicts and classifies potential attacks. The effectiveness of the proposed two-layered approach is evaluated using three phases. The first phase compares the computational efficiency of IECC to established cryptographic algorithms including RSA, AES, DSA, Diffie-Hellman, SHA-256 and ECDSA. IECC outperforms all competitors in key eneration speed, encryption and decryption time, throughput, memory usage, information loss, and overall processing time. The second phase evaluates the prediction accuracy of the RNN model compared to other AI-based models DNNs, DBNs, RBFNs, and LSTM networks. The proposed RNN achieves the highest overall accuracy of 96.4%, specificity of 96.5%, precision of 95.2%, and recall of 96.8%, and the lowest false positive of 3.2% and false negative rates of 3.1%.
Shopify API Integration for Custom Analytics_ Advanced Metrics & Reporting Gu...CartCoders
油
CartCoders offers specialized Shopify integration services to enhance your eCommerce store's functionality and user experience. Connect your Shopify store seamlessly with essential software and applications. Perfect for businesses aiming to streamline operations and boost efficiency.
Introduction on how unique identifier systems are managed and coordinated - R...APNIC
油
Sunny Chendi, Senior Regional Advisor, Membership and Policy at APNIC, presented an 'Introduction on how unique identifier systems are managed and coordinated - RIRs (APNIC for APAC), ICANN, IETF and policy development' at MyAPIGA 2025 held in Putrajaya from 16 to 18 February 2025.
IDM Crack 2025 Internet Download Manger Patchwistrendugftr
油
copy & paste もゐ https://filedownloadx.com/download-link/
This project provides a cracked version of IDM, enabling users to use the premium features without purchasing a license. This project is for educational purposes only. Using cracked software is illegal and unethical. We strongly recommend purchasing a legitimate license from the official IDM website to support the developers and respect copyright laws.
cyber hacking and cyber fraud by internet online moneyVEENAKSHI PATHAK
油
Cyber fraud is a blanket term to describe crimes committed by cyberattacks via the internet. These crimes are committed with the intent to illegally acquire and leverage an individual's or businesss sensitive information for monetary gain
cyber hacking and cyber fraud by internet online moneyVEENAKSHI PATHAK
油
Why is this ASP.NET web app running slowly?
1. Mark Friedman
Demand Technology Software
markf@demandtech.com
http://performancebydesign.blogspot.com
1
Why is this web app running slowly?
2. Main Topics
Building scalable web applications
YSlow scalability model of web page composition
Page Load Time and Round trips
Limitations of the approach
W3C Nav/Timing API
Google Analytics & RUM
Progress report on an ETW-based approach to web application performance
monitoring
plus, sprinkle in some case studies & best practices
2
3. Themes:
The Value of Response Time measurements
Service Level reporting
Application response time measurements correlate with measures of customer
productivity & satisfaction
Queuing models, decomposition & other analytic techniques
Obstacles:
Measurement data missing from standard Windows ASP.NET counters, but it is available
from other sources
Request-Response boundaries are blurred in many AJAX applications
Understanding how to set good response time objectives
Since human beings are adaptable &
Good and Bad are often relative to the application context
See Engineering Time, by Dr. Steve Seow
3
4. Themes:
Web application programming models and fashion change faster than
tools can adapt
AJAX
e.g., Auto-complete in Google Search
achieved using client-side Javascript & Asysnchronous Http web service Requests
High Availability and Scalability using n-tiered architectures
typically, a Presentation Layer, Business Objects layer, and a Data Access Layer
HTML5
Effective performance tools are usually one or two generations behind
emerging technology
e.g., http://webpagetest.org
4
5. Fundamental concept in software performance engineering (SPE)
namely, f(x),
such that f(x) reliably predicts Response time.
Factors can be
linear (m+n)
mutliplicative (m * n)
exponential (mn)
5
8. Developed using ASP.NET (Server-side controls)
Multiple tiers: presentation/business objects/data layer
Uses the Model-View-Controller (MVC) pattern
Key elements of the web Page
data-rich Charting component (.NET Chart, based on the Dundas component)
Chart definition used to generate the PDB Query and the results are mapped to a Chart
instance
Library of Chart templates
Machine selection
Date/Time selection
8
10. Based on the influential work of Steve Souders*
originally at Yahoo
since migrated to Google
Google Chrome extension
Rule-based
Influenced:
Chrome PageSpeed Insights
IE Developer Tools
Fiddler
Glimpse
etc.
* High Performance Web Sites, OReilly Media, 2007
10
11. Optimize for Page Load Time
Request.Start DOM.Complete
Make specific recommendations on how to improve Page Load Time for a
specific web page
Inventorying the Document Object Model (DOM) after the composition &
rendering the of web page:
Calculate # of Http objects and their size
Does not attempt to actually measure Page Load Time, however.
Lead to a standardization effort to wire performance timing data to the
DOM & create a consistent way to access it
Navigation Time, Performance Timing & a High Resolution Clock
11
12. Measurement techniques
sniff network packets
monitoring service to submit
attach handlers to DOM
12
Http GET Request (Uri)
Web Browser Http Server
Compose
&
Render
Http RESPONSE
synthetic Requests
Real User Measurements
window.unload and
window.load events
Note: Http is a sessionless protocol
15. Http GET Request (Uri)
Response message often contains embedded references to additional
resources needed to render the Page
e.g.,
image files
style sheets
javascript files
15
Web Browser Http Server
Compose & Render
Http RESPONSE
16. Http GET Request (Uri)
HTTP interacts with the underlying TCP/IP networking protocols
HTTP Response messages > Ethernet packet size (~ 1500 bytes) require
multiple IP packets
With large cookies and a large number of parms, GET Request messages
can even exceed the Ethernet packet size
16
Web Browser Http Server
Compose & Render
Http RESPONSE
17. YSlow scalability model:
assuming web client processing time is minimal, then
Render Time RoundTrips * RTT
躯鷺
RoundTrips = =
17
19. YSlow scalability model:
Browser Render Time RoundTrips * RTT
Web Browser performs page composition using the Document Object
Model, or DOM
YSlow Rule: Make fewer HTTP requests
YSlow Rule: Improve cache effectiveness
YSlow Rule: Reduce the number of DOM elements
YSlow Rule: Compress the objects the page does need to load
Tuning is a process that attempts to drive
# RoundTrips 1
RoundTripTime 0
19
20. YSlow never actually measures RTT, but other related tools can
RTT may vary across Requests
Objects can be geographically dispersed
Local cluster, remote, cloud
e.g., referencing 3rd-party, advertising services
TCP adaptive window scaling and other network congestion avoidance strategies
Ignores variability in the execution time of client and server-side code
e.g., sort() a large list of elements, or
a hi-res visualization component that scales nonlinearly with the size of the result
set
Compression recommendations can be at odds with good code
maintainability practices
20
21. Web Browsers create multiple TCP sessions to download referenced
objects in parallel
YSlow Rule: take advantage of parallel sessions by loading scripts last
Accurate rendering of the DOM requires that downloading a Javascript file blocks
parallel downloads
Script may add elements to the DOM dynamically, call other scripts or reference additional
resources
Browser assumes DOM rendering can only resume after the Javascript code executes
Page Load Time = Browser Render Time +
Script execution Time +
(RoundTrips * RTT)/Sessions
21
22. Despite the many complications, the YSlow scalability model has
proved very influential
Browser Page Load Time is an end-to-end measurement of service time,
which is apt to be correlated with customer satisfaction
see, for example, http://www.slideshare.net/Strangeloopnet/37-lessons-ive-learned-
on-the-performance-front-lines
Inspired development of related tools to measure Page Load Time
22
23. The YSlow scalability model is useful, but it is not
adequate for many web applications
23
24. Page Load time is a measure of end-to-end
response time
Navigation Timing measurements decompose overall
response time into Network, Server, and Client (i.e., web
browser) components
YSlow is silent:
the scalability of server-side components
the diversity of web client hardware (PCs, tablets,
phones) & software (iOS, Android, Windows)
the performance of the clients network connection
e.g., Internet vs. Intranet connections
24
25. Despite the many complications, the YSlow scalability model has
proved very influential
Sparked a standardization effort so Javascript developers could access the PLT
measurements reliably across Browsers
Creation of standard DOM performance objects that are accessible to
Javascript
Finally, now that actual web application performance data is available in the
web browser, how do I get that data back to my data center for optimization &
capacity planning?
25
27. Http Request/Response and Rendering events
Web Performance Working Group
Performance Timeline, Navigation Timing, and
High Resolution Time specs
Supported in IE, Chrome, WebKit, and FoxFire
Event timings can be use to calculate:
Network latency (from the standpoint of the web client)
Page Render time (once the page components are received
from the server)
Entire sequence from navigation to page load completion:
Navigation Timing spec: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html#processing-model 27
31. see https://developer.mozilla.org/
31
<html>
<head>
<script type="text/javascript">
// Add load event listener.
window.addEventListener("load", loadTime, false);
function loadTime() {
// Get current time.
var now = window.performance.now();
// Calculate page load time.
var page_load_time = now - performance.timing.navigationStart;
// Write the load time to the F12 console.
if (window.console) console.log(page_load_time);
}
</script>
</head><body>
<!- Main page body is here. --> </body>
</html>
32. Now that actual web application performance data is available in the web
browser, how do I get that data back from the web client?
What about the volume of measurement data that requires processing & analysis?
Google Analytics uses web beacons to send the response time data to
Googles data center for analysis and reporting
Yahoo Boomerang project can be used to send web beacons with the data
back to your data center
32
33. Architecture of an ASP.NET application
Windows OS
TCP/IP
(Clustered) IIS front end Web Servers
ASP.NET
.NET CLR
ADO.NET (data layer)
33
34. Dynamic HTML is session-oriented behavior layered on top of the
HTTP
Web applications require state
Who you are
Where you are (mobile apps)
They preserve state:
During a session
TCP protocol is session-oriented
Requires a connection
Calculates RTT per connection (used in re-try logic)
Between sessions (using cookies, etc.)
34
35. Server-side Request processing
Event-oriented programming model (Postback)
HttpContext wrapper around the HTTP Request
Persistent State
ViewState
Session State
Application and Page Cache objects
etc.
35
36. 36
IIS Architecture
User
Kernel
Windows
Authentication
SSL
HTTP
TCP
IP
Network
Inter face
IIS
Administration
Metabase
FTP
SMTP
NNTP
HTTP Kernel Mode
Dr iver
(http.sys)
Application Pool
http
Default.aspx
<code-behind>.dll
Mscoree.dll
Application Pool
Default.aspx
<code-behind>.dll
Mscoree.dll
HTTP Response Cache
(Physical Memory)
LSSAS
Inetinfo
W3SVC
SVCHOST
W3wp
W3wp
W3wp
W3wp
WAS
Cache
net.tcp net.tcp
http
38. Extends the ASP.NET event model to all Http Requests
HttpApplication Event Handlers (IHttpModule)
38
public class BoomerangBeacon : IHttpModule
{
public MyHttpModule()
{}
public void Dispose()
{}
public void Init(HttpApplication application)
{
application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
}
}
39. w3wp.exe
Common Language Runtime (CLR)
JIT compiler
Garbage Collection threads
mscoree.dll
MyApp.dll mscorsvr.dll
39
40. Many, many Windows components are
instrumented with ETW
Kernel objects include disk IO, process, thread,
paging, CPU
TCP/IP, HttpServer, CLR
Providers may issue a current status Rundown
CallStacks can be captured
Event correlation:
CPU ID, Process ID, Thread ID, File Handle, Tcp
Session ID (Port)
40
41. Many obstacles to using trace-based instrumentation effectively in
performance investigations
Sheer volume of trace data that can be generated (e.g., OS Dispatcher ContextSwitch
events)
Cannot always be filtered effectively
Very little documentation on specific events and how they are logically related
Inconsistent semantics (but only a few common patterns)
Sequence: Begin, Step, End
StateChange(oldState, newState)
Fork:Join
Send:Receive
etc.
41
42. Resource Monitor
Windows Performance tools (aka xperf)
VS Profilers Concurrency Visualizer
inspired by Rico Marianis ETLStackBrowser program
leveraged Vance Morrisons TraceEvent .NET libray
and, introducing the Web Application Trace Explorer
Gathers, analyzes, filters & reports on server-side events from TcpIP, HttpServer, and
instrumented application Scenarios, plus Boomerang Beacon data from web clients
Designed to help explore the semantics of these sparsely documented event streams
42
43. IHttpModule to
intercept the
Boomerang
beacon requests
and turn them
into ETW events
43
private void Application_BeginRequest(Object source, EventArgs e)
{
// Create HttpApplication and HttpContext objects to access
// request and response properties.
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
string beaconUrl = GetBeaconUrl(); // Helper routine for beacon url
string filePath = context.Request.FilePath;
string fileExtension = VirtualPathUtility.GetExtension(filePath);
if (fileExtension.Equals(".gif"))
{
if (filePath.Contains(beaconUrl))
{
... // Process the beacon parms
application.Response.End();
}
}
}
49. Boomerang beacon support
Add the boomerang.js script to your web page HTML:
Initialize boomerang:
49
<script src=/slideshow/monitoring-web-application-response-times-a-new-approach-39984538/39984538/"javascriptBoomerangboomerang.js" type="text/javascript"></script>
<script src="javascriptBoomerangplug-insnavtiming.js"
type="text/javascript"></script>
<script src="javascriptBoomerangplug-insrt.js" type="text/javascript"></script
<script lang="javascript">
BOOMR.init({beacon_url: "boomerang.gif"});
</script>
50. Boomerang beacon support
Add the BoomerangBeacon HttpModule from MeasurementWareWebServices.dll to
web.config
50
<system.webServer>
<modules>
<add name="MeasurementWareWebServices
type="MeasurementWareWebServices.BoomerangBeacon"/>
</modules>
</system.webServer>
51. BoomerangBeacon class
derives from IHttpModule
adds an EventHandler for HttpApplication.BeginRequest
In the BeginRequest event handler,
intercepts the boomerang.gif GET Requests
parse the beacon parms
generate a MeasurementWareWeb ETW event whose payload includes
Page Load Time measurements
plus, IP Address and Tcp Port (unique session ID) of the Sender for correlation with other
HttpServer and TcpIP events
51
55. Initial stage of the work to add Boomerang beacon data to the event
collection and the displays is functionally complete
Limited ToDo List prior to release as a github Open Source project
Waterfall View
IIS ServerVariables: (browser, platform, etc.)
Contact me if your org is interested in participating
markf@demandtech.com
See my blog at http://performancebydesign.blogspot.comfor the
latest status (until it reaches the Release to github stage)
55