ASP.NET Performance Tips and Tricks
-
Upload
kevin-griffin -
Category
Technology
-
view
695 -
download
4
description
Transcript of ASP.NET Performance Tips and Tricks
![Page 1: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/1.jpg)
ASP.NET Quick Wins20 Tips and Tricks To Shift Your Application into High Gear
Kevin Griffintwitter.com/[email protected]
![Page 3: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/3.jpg)
Now Accepting Pre-Orders!
Special CodeMash Deal! Ends at midnight Friday. Get on email list!
$15 $39
http://TwilioBlueprint.com/Codemash
![Page 4: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/4.jpg)
RevolutionConf
May 13th, 2016Virginia Beach, VA
RevolutionConf.com
![Page 5: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/5.jpg)
Want Slides? Conversation?
Let’s continue the conversation after Codemash! Put your name and email address on the clipboard, and I’ll send you a blast next week after we have all had time to recover!
No spam, just conversation.
![Page 6: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/6.jpg)
Defining Performance
![Page 7: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/7.jpg)
Performance is the amount
of time a person will wait
before getting pissed off.
![Page 8: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/8.jpg)
Performance is sweating
because you have ONLY 16
cores and 32 gigs of RAM.
![Page 9: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/9.jpg)
The Great Scale of Performance
Done before you ask Throw Computer Out the Window
![Page 10: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/10.jpg)
The Great Scale of Performance
Done before you ask Throw Computer Out the Window
ASP.NET Application After File, NewGoogle
Visual Studio
![Page 11: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/11.jpg)
Why
Performance?
![Page 12: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/12.jpg)
3 Numbers to
Remember
![Page 13: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/13.jpg)
100
milliseconds
![Page 14: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/14.jpg)
1 second
![Page 15: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/15.jpg)
10 seconds
![Page 16: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/16.jpg)
Did you know: Google will
rank a slower loading
website below a faster one.
![Page 17: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/17.jpg)
The number of mobile device
users is growing by the daily.
They hate slow websites.
![Page 18: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/18.jpg)
Two simple rules for
better performance
![Page 19: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/19.jpg)
Fewer
payloads
![Page 20: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/20.jpg)
Faster
payloads
![Page 21: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/21.jpg)
20 ASP.NET Quick
Wins
![Page 22: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/22.jpg)
#1
![Page 23: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/23.jpg)
Disable “debug”
mode
![Page 24: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/24.jpg)
![Page 25: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/25.jpg)
![Page 26: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/26.jpg)
#2
![Page 27: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/27.jpg)
Enable HTTP
Compression
![Page 28: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/28.jpg)
![Page 29: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/29.jpg)
What gets compressed?
• HTML
• JavaScript
• JSON
• CSS
• XML
• Non-compressed images (ico)
![Page 30: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/30.jpg)
#3
![Page 31: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/31.jpg)
Enable IIS
Auto-Start
![Page 32: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/32.jpg)
Do you have a lot of
upfront loading and
configuration?
![Page 33: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/33.jpg)
![Page 34: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/34.jpg)
#4
![Page 35: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/35.jpg)
Disable ViewState
![Page 36: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/36.jpg)
Ways to Disable
• Control • Add EnableViewState=“false” to
control
• Page• Add EnableViewState=“false” to
the <%@ Page %> construct
• Application<configuration>
<system.web>
<pages enableViewState="false" />
</system.web>
</configuration>
• Machine<Machine.config >
<system.web>
<pages enableViewState="false" />
</system.web>
</Machine.config>
![Page 37: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/37.jpg)
#5
![Page 38: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/38.jpg)
STOP using
WebForms
![Page 39: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/39.jpg)
I’m just kidding.
![Page 40: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/40.jpg)
But seriously,
stop it.
![Page 41: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/41.jpg)
#6
![Page 42: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/42.jpg)
Disable
SessionState
![Page 43: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/43.jpg)
Ways to Disable
• Application • Page
![Page 44: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/44.jpg)
#7
![Page 45: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/45.jpg)
Throw hardware at it!
![Page 46: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/46.jpg)
Stop it!
![Page 47: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/47.jpg)
Processors are
cheap.
RAM is cheap.
![Page 48: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/48.jpg)
![Page 49: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/49.jpg)
#8
![Page 50: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/50.jpg)
Minify/Compress
JavaScript and CSS
![Page 51: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/51.jpg)
![Page 52: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/52.jpg)
![Page 53: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/53.jpg)
#9
![Page 54: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/54.jpg)
Output Cache
![Page 55: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/55.jpg)
![Page 56: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/56.jpg)
![Page 57: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/57.jpg)
Caching Options
• Duration (in seconds)
• Location• Client
• Server
• Proxies
• VaryByParam
• VaryByHeader
• SqlDependency
![Page 58: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/58.jpg)
#9b
![Page 59: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/59.jpg)
Cache “look up”
tables
![Page 60: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/60.jpg)
#10
![Page 61: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/61.jpg)
Stop shipping the
kitchen sink
![Page 62: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/62.jpg)
![Page 63: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/63.jpg)
![Page 64: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/64.jpg)
#11
![Page 65: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/65.jpg)
Async
![Page 66: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/66.jpg)
.NET Async Features
• Speeds up parallel processes
• Useful if your page needs to talk to several data sources
![Page 67: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/67.jpg)
![Page 68: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/68.jpg)
![Page 69: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/69.jpg)
![Page 70: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/70.jpg)
![Page 71: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/71.jpg)
![Page 72: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/72.jpg)
![Page 73: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/73.jpg)
#12
![Page 74: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/74.jpg)
CDNs and
Subdomains
![Page 75: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/75.jpg)
CDNs and Subdomain
• Modern browsers limit downloads from a single domain.
http://assets.kevgriffin.com/images/2014/foo.png
could be better as
http://a1.assets.kevgriffin.com/images/2014/foo.png
![Page 76: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/76.jpg)
![Page 77: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/77.jpg)
#13
![Page 78: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/78.jpg)
Glimpse
![Page 79: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/79.jpg)
http://getglimpse.com
![Page 80: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/80.jpg)
![Page 81: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/81.jpg)
![Page 82: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/82.jpg)
![Page 83: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/83.jpg)
![Page 84: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/84.jpg)
![Page 85: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/85.jpg)
![Page 86: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/86.jpg)
#14
![Page 87: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/87.jpg)
Upgrade Your User
Experience
![Page 88: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/88.jpg)
![Page 89: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/89.jpg)
![Page 90: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/90.jpg)
#15
![Page 91: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/91.jpg)
ORM
Considerations
![Page 92: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/92.jpg)
Test code-generated
“read” vs Stored
Procedures
![Page 93: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/93.jpg)
Optimize for Ad Hoc
Queries
![Page 94: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/94.jpg)
![Page 95: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/95.jpg)
#16
![Page 96: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/96.jpg)
Dispose SQL
Connections
Appropriately
![Page 97: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/97.jpg)
![Page 98: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/98.jpg)
#17
![Page 99: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/99.jpg)
Hire a DBA to Optimize
Database Indexes and
Stored Procedures
![Page 100: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/100.jpg)
Or if you must “do it yourself”
• Create indexes for columns used inside of:• WHERE clauses
• JOIN clauses
• ORDER BY clauses
• GROUP clauses
• TOP clauses
![Page 101: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/101.jpg)
Or if you must “do it yourself”
• Don’t do SELECT *
![Page 102: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/102.jpg)
#18
![Page 103: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/103.jpg)
Consider Alternative
Data Stores
![Page 104: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/104.jpg)
Alternatives
• MongoDB
• RavenDB
• Redis
• Azure Tables
![Page 105: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/105.jpg)
#19
![Page 106: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/106.jpg)
Embrace Workflow
![Page 107: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/107.jpg)
Workflow
• Message-based workflows
• Examples: RabbitMQ, ZeroMQ, Azure Queues, etc
• Offload long running and critical tasking
• Example: Twitter, Amazon
![Page 108: ASP.NET Performance Tips and Tricks](https://reader031.fdocuments.in/reader031/viewer/2022020116/559470ab1a28aba00e8b46f9/html5/thumbnails/108.jpg)
#20