More Related Content Similar to KCDC - top free ASP.NET performance tools (20) KCDC - top free ASP.NET performance tools1. Top free tools for tackling
ASP.NET Performance
Ben Emmett – KCDC – 16 May 2014
3. A simple page
DNS
Init
Client wait
Server processing
Receive
Layout / render
Req html
Go Finished!
<html>
<head>
<title>A web page</title>
</head>
<body>
<p id=“greeting”>
Hello Kansas!
</p>
</body>
</html>
index.html
4. A stylish page
DNS
Init
Client wait
Server processing
Receive
Layout / render
Req html
Go Finished!
Req css
body {
background-color : #123456;
}
p {
font-weight : bold;
}
stylish.css<html>
<head>
<title>A web page</title>
<link href=“/stylish.css” type=“text/css” />
</head>
<body>
<p id=“greeting”>
Hello Kansas!
</p>
</body>
</html>
index.html
5. A responsive page
DNS
Init
Client wait
Server processing
<html>
<head>
<title>A web page</title>
<script src=“/responsive.js” type=“text/javascript”></script>
<link href=“/stylish.css” type=“text/css” />
</head>
<body>
<p id=“greeting”>
Hello Kansas!
</p>
</body>
</html>
Receive
Layout / render
Req html
Go Finished!
body {
background-color : #123456;
}
p {
font-weight : bold;
}
index.html stylish.css
Req js
responsive.jsalertMessage = function()
{
alert("Hello!");
}
document.getElementById("greeting").onClick =
alertMessage;
Req css
7. Retrieve a 35kb file
Round trip # Purpose Data received Running total
1 TCP handshake -- 0kb
2 Receive 1st chunk 2kb 2kb
3 Receive 2nd chunk 4kb 6kb
4 Receive 3rd chunk 8kb 14kb
5 Receive 4th chunk 16kb 30kb
6 Receive 5th chunk 5kb 35kb
8. Where are the bottlenecks?
• Latency
• Bandwidth
• Server processing
• Rendering
And when do they matter?
14. Some bonus super-easy wins
Use a CDN:
Provided by Google
Provided by Microsoft
Optimize images:
Image Optimizer Visual Studio extension
Minimize & combine:
Web Essentials Visual Studio extension
15. Wrapping up
• Make sure you’re getting the easy wins
• Always have half an eye on performance
• No premature optimization!