SlideShare ist ein Scribd-Unternehmen logo
1 von 45
server-side web trackbrought to you by
Getting out of Sync with IISand Riding a COMET  Richard Banks		 richard-banks.org  @rbanks54 TalkingShopDownUnder.com
Goal: Improve your Server Side Performance
WebForms, MVC & Comet
Client side Things we already know(hopefully!)
Fewer requests == more performance!
View State Is EVIL!!! 
CDN’s, css sprites, minification, YSLOW, etc, etc
Server side?
Minimal DB calls, Cache usage, AJAX, and so forth
But what if you’ve done all that already?!
What if you have “Hanging” Requests?
Poor performance with very little load?
Probably BLOCKingREQUEST THREADS
Some IIS Internals
IIS 6.0: 12request threads per CPU Also IIS 7.0 in Classic pipeline mode
20worker & 20 IO threads per CPU
No free threads? The request gets queued PerfMon Counter: ASP.NETequests in Application Queue
Limit is 5000 requests. Over that? 503 errors PerfMon Counter: ASP.NETequests Current
IIS 7.0 (Intg):  12 concurrent requests per CPU Applies to .NET 2.0
In .NET 4.0: 5000 per CPU!
MS says do same in ASP.NET 2.0. Add registry key or edit aspnet.config MaxConcurrentRequestsPerCPU HKLMOFTWAREicrosoftSP.NET.0.50727
Note: App Pool Queue Length is 1000
Before messing with configs… Get Async!
Time For some Demo fun!
ASP.NET Web Forms
Async=“true” in page directive.
REGISTERASYNCTASK and PageASYNCTASK http://msdn.microsoft.com/en-us/library/system.web.ui.pageasynctask.aspx
ASP.NET MVC AsyncControlers
Howz about USING that new ASYNC Keyword?!
Now for the new Hawtness!
COMET! Aka “Reverse AJAX”
Practical uses: Stock ticker Sports scores Auction bidding Bus Service GPS updates Warehouse movements & logistics Google+ Anything broadcasting events/msgs
Canonical Demo: Web Chat
Implement Via UpdatePanel? Ajax Request on Enter: ,[object Object]
Need to send full chat history each time
Uses Update Panel!,[object Object]
Long Polling or StREAMING (no, not web sockets)
Bayeux Protocol http://cometd.org/ Dojo & Jquery Bindings
Lots of other Comet servers. I want TO USE IIS IIS threading means no streaming support, only long polling.
CHAT Demo: AspComet (on Appharbor) http://chat.richard-banks.org
For better Comet go Threadless: Manos de Mono or Node.js Just Remember Mordac will likely need bribing to deploy it
Faye is a Bayeaux server for Node.JS http://faye.jcoglan.com/
Resources Contention, poor performance, and deadlocks:  http://support.microsoft.com/kb/821268 ASP.NET Thread Usage on IIS 6.0 and IIS 7.0: http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx Improving ASP.NET Performance: http://msdn.microsoft.com/en-us/library/ff647787.aspx PageAsyncTask: http://msdn.microsoft.com/en-us/library/system.web.ui.pageasynctask.aspx MVC Async Controllers: http://msdn.microsoft.com/en-us/library/ee728598.aspx Should DB Calls be Async? http://blogs.msdn.com/b/rickandy/archive/2009/11/14/should-my-database-calls-be-asynchronous.aspx AspComet: http://github.com/nmosafi/aspcomet Bayeux and Cometd: http://svn.cometd.com/trunk/bayeux/bayeux.html Manos De Mono: http://github.com/jacksonh/manos Node.JS: http://nodejs.org/ FAYE: http://faye.jcoglan.com/
We would like to thank our sponsors and supporters for helping us bring you this event

Weitere ähnliche Inhalte

Was ist angesagt?

Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET MicroservicesVMware Tanzu
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overviewAbhishek Sur
 
Windows Azure Pack : How to bring windows azure benefits to your DC
Windows Azure Pack : How to bring windows azure benefits to your DCWindows Azure Pack : How to bring windows azure benefits to your DC
Windows Azure Pack : How to bring windows azure benefits to your DCChristopher Keyaert
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionDr. Arif Wider
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App ServicesDamir Dobric
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architectureThe Software House
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftChristian Posta
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Eberhard Wolff
 
Building dynamic applications with the share point client object model
Building dynamic applications with the share point client object modelBuilding dynamic applications with the share point client object model
Building dynamic applications with the share point client object modelEric Shupps
 
Calgary azure dev camp - Service Bus
Calgary azure dev camp - Service BusCalgary azure dev camp - Service Bus
Calgary azure dev camp - Service Buswearsy
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
High available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaSHigh available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaSBizTalk360
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?João Pedro Martins
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMaarten Balliauw
 
Tokyo azure meetup #12 service fabric internals
Tokyo azure meetup #12   service fabric internalsTokyo azure meetup #12   service fabric internals
Tokyo azure meetup #12 service fabric internalsTokyo Azure Meetup
 
Presentation on java servlets
Presentation on java servletsPresentation on java servlets
Presentation on java servletsAamir Sohail
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesAngelos Kapsimanis
 

Was ist angesagt? (20)

Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
 
Top Legacy Sins
Top Legacy SinsTop Legacy Sins
Top Legacy Sins
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
 
Windows Azure Pack : How to bring windows azure benefits to your DC
Windows Azure Pack : How to bring windows azure benefits to your DCWindows Azure Pack : How to bring windows azure benefits to your DC
Windows Azure Pack : How to bring windows azure benefits to your DC
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI Composition
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Ecom 1
Ecom 1Ecom 1
Ecom 1
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
Infrastructure for Continuous Delivery & Microservices: PaaS or Docker?
 
Building dynamic applications with the share point client object model
Building dynamic applications with the share point client object modelBuilding dynamic applications with the share point client object model
Building dynamic applications with the share point client object model
 
Calgary azure dev camp - Service Bus
Calgary azure dev camp - Service BusCalgary azure dev camp - Service Bus
Calgary azure dev camp - Service Bus
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
High available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaSHigh available BizTalk infrastructure on Azure IaaS
High available BizTalk infrastructure on Azure IaaS
 
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows Azure
 
Tokyo azure meetup #12 service fabric internals
Tokyo azure meetup #12   service fabric internalsTokyo azure meetup #12   service fabric internals
Tokyo azure meetup #12 service fabric internals
 
Presentation on java servlets
Presentation on java servletsPresentation on java servlets
Presentation on java servlets
 
Software Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based ArchitecturesSoftware Architectures, Week 3 - Microservice-based Architectures
Software Architectures, Week 3 - Microservice-based Architectures
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 

Andere mochten auch

Andere mochten auch (20)

Inspección de flores, etiquetas y facturas.
Inspección de flores, etiquetas y facturas. Inspección de flores, etiquetas y facturas.
Inspección de flores, etiquetas y facturas.
 
Boards part 4_review
Boards part 4_reviewBoards part 4_review
Boards part 4_review
 
Saran makalah kb
Saran makalah kbSaran makalah kb
Saran makalah kb
 
Concumer behavior
Concumer behaviorConcumer behavior
Concumer behavior
 
11 12-2 学期校历
11 12-2 学期校历11 12-2 学期校历
11 12-2 学期校历
 
R.T_article pdf
R.T_article pdfR.T_article pdf
R.T_article pdf
 
Transactional learning and simulations: how far can we go in professional leg...
Transactional learning and simulations: how far can we go in professional leg...Transactional learning and simulations: how far can we go in professional leg...
Transactional learning and simulations: how far can we go in professional leg...
 
Game is-over
Game is-overGame is-over
Game is-over
 
Pd t 27
Pd t 27Pd t 27
Pd t 27
 
China input method
China input methodChina input method
China input method
 
2008111807581919
20081118075819192008111807581919
2008111807581919
 
Brandstreaming: an introduction
Brandstreaming: an introductionBrandstreaming: an introduction
Brandstreaming: an introduction
 
3cork and kerry
3cork and kerry3cork and kerry
3cork and kerry
 
Quiz for ut iii pps
Quiz for ut iii ppsQuiz for ut iii pps
Quiz for ut iii pps
 
Sainico & Warom - LED Catalog
Sainico & Warom - LED CatalogSainico & Warom - LED Catalog
Sainico & Warom - LED Catalog
 
Why Can't We Be Friends?
Why Can't We Be Friends?Why Can't We Be Friends?
Why Can't We Be Friends?
 
Description of goods
Description of goodsDescription of goods
Description of goods
 
Luzis Proceso
Luzis ProcesoLuzis Proceso
Luzis Proceso
 
Ikp'ko;b0yp
Ikp'ko;b0ypIkp'ko;b0yp
Ikp'ko;b0yp
 
HealthCare BPO
HealthCare BPOHealthCare BPO
HealthCare BPO
 

Ähnlich wie DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet

Comet / WebSocket Web Applications
Comet / WebSocket Web ApplicationsComet / WebSocket Web Applications
Comet / WebSocket Web ApplicationsCodemotion
 
Web Application Development Fundamentals
Web Application Development FundamentalsWeb Application Development Fundamentals
Web Application Development FundamentalsMohammed Makhlouf
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008jorke
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.jsRyan Anklam
 
Cowboy rabbit-websockets
Cowboy rabbit-websocketsCowboy rabbit-websockets
Cowboy rabbit-websocketsWade Mealing
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performancerudib
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersoazabir
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster WebsiteRayed Alrashed
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Connected Web Systems
Connected Web SystemsConnected Web Systems
Connected Web SystemsDamir Dobric
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersViktor Gamov
 
Microsoft, PHP and IIS7
Microsoft, PHP and IIS7Microsoft, PHP and IIS7
Microsoft, PHP and IIS7Nick Hodge
 
DEV301- Web Service Programming with WCF 3.5
DEV301- Web Service Programming with WCF 3.5DEV301- Web Service Programming with WCF 3.5
DEV301- Web Service Programming with WCF 3.5Eyal Vardi
 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsSarvesh Kushwaha
 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On FireJef Claes
 

Ähnlich wie DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet (20)

Comet / WebSocket Web Applications
Comet / WebSocket Web ApplicationsComet / WebSocket Web Applications
Comet / WebSocket Web Applications
 
Web Application Development Fundamentals
Web Application Development FundamentalsWeb Application Development Fundamentals
Web Application Development Fundamentals
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Web servers
Web serversWeb servers
Web servers
 
Cowboy rabbit-websockets
Cowboy rabbit-websocketsCowboy rabbit-websockets
Cowboy rabbit-websockets
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of users
 
Webconnection
WebconnectionWebconnection
Webconnection
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Connected Web Systems
Connected Web SystemsConnected Web Systems
Connected Web Systems
 
ASP.NET vNext ANUG 20140817
ASP.NET vNext ANUG 20140817ASP.NET vNext ANUG 20140817
ASP.NET vNext ANUG 20140817
 
Single Page Apps
Single Page AppsSingle Page Apps
Single Page Apps
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
 
Microsoft, PHP and IIS7
Microsoft, PHP and IIS7Microsoft, PHP and IIS7
Microsoft, PHP and IIS7
 
DEV301- Web Service Programming with WCF 3.5
DEV301- Web Service Programming with WCF 3.5DEV301- Web Service Programming with WCF 3.5
DEV301- Web Service Programming with WCF 3.5
 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSockets
 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
 
WebSockets On Fire
WebSockets On FireWebSockets On Fire
WebSockets On Fire
 

Mehr von Richard Banks

Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0Richard Banks
 
Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)Richard Banks
 
CQRS and what it means for your architecture
CQRS and what it means for your architectureCQRS and what it means for your architecture
CQRS and what it means for your architectureRichard Banks
 
Architecture In The Small
Architecture In The SmallArchitecture In The Small
Architecture In The SmallRichard Banks
 

Mehr von Richard Banks (6)

Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0Improving app performance using .Net Core 3.0
Improving app performance using .Net Core 3.0
 
Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)Reignite your desire to improve (NDC Sydney 2018)
Reignite your desire to improve (NDC Sydney 2018)
 
Flaccid coaching
Flaccid coachingFlaccid coaching
Flaccid coaching
 
CQRS and what it means for your architecture
CQRS and what it means for your architectureCQRS and what it means for your architecture
CQRS and what it means for your architecture
 
Git TFS
Git TFSGit TFS
Git TFS
 
Architecture In The Small
Architecture In The SmallArchitecture In The Small
Architecture In The Small
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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 slidevu2urc
 
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...DianaGray10
 
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 textsMaria Levchenko
 
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 DiscoveryTrustArc
 
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.pdfUK Journal
 
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 2024Rafal Los
 
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 Scriptwesley chun
 
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?Antenna Manufacturer Coco
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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...Neo4j
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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 Takeoffsammart93
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 Processorsdebabhi2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
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...
 
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
 
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
 
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
 
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
 
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
 
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?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet

Hinweis der Redaktion

  1. We want the perf counter to be zero.
  2. Demo:Copy deployment to \\\\webserver\\DeploymentsSwitch to server and run the deployment – use the batch command with /Y optionRun TailspinSpyworks (port 8080!) – use VS web load testShow perf counters:ASP.NET\\Requests in Application QueueASP.NET\\Requests CurrentShow IIS session diagnostics (via IIS mgr) and request queue states
  3. Means page executes asynchronouslyCan run async tasks, but only until pre-render completesWithout Async=True errors get thrownDemo:Async pagesRun load test againNOTE – no real difference. If anything a little worse.Only apply where multiple activities being performed, and where activity is not CPU boundEach async == extra threadDon’t manually create threads!Web service calls use CLR threads as does QueueUserWorkItem – tune thread pool
  4. Show glimpse in action: http://getglimpse.com/
  5. Demo:RSS AggregatorSynchronous fetching == slow Async = better, but async on main threadParallels = best – spawns multiple threads, but leads to thread starvation in a web farmTurn offAsync in page directive and check the error
  6. IIS is still threaded so the issues from earlier still applyLong polling reduces the issue somewhat
  7. Show web chat workingShow long polling in chromedev toolshttp://webserver:8082/jquery.aspxStep through some of the server side code (from the processrequest method onwards) Show JSON content of messageWalkthrough of some of the codeCometHttpHandler. IHttpAsyncHandlerMessage comes in, converted from JSONPushed onto message busDone!Your code?Clients subscribeBack end pushes onto message busASPComet also supports callback messages, not just long polling