High Speed Sitefinity

Download Report

Transcript High Speed Sitefinity

High Speed Sitefinity
Lino Tadros, MVP
Chairman & CEO
Falafel software Inc.
@linotadros
@falafelsoftware
Lino Tadros, MVP
Chairman & CEO – Falafel Software
Microsoft C# MVP for the last 10 years
Former member of the Delphi & C++ development team at
Borland.
 Microsoft established Technical Speaker worldwide (43
countries) in the last 18 years.
Architect of major projects for Morgan Stanley, Johnson &
Johnson, Shell, Chevron, US Navy, US Air Force, Bank of
America, Wells Fargo, State of CA, and others…
Permanent member of the VSX team at Microsoft.
Expert on Web technologies, MVC, WCF, Silverlight, WPF,
SQL databases, Mobile development, Telerik Products and
Testing tools.
Agenda
14 Ways to get your Sitefinity Web Application screaming fast:
1. Warm up the frontend, don’t forget to warm up the backend too
2. DataRam your compiled temp files
3. JavaScript bundles
4. RequireJS – You need to look at this!
5. Use Azure for hosting (well soon enough )
6. Disable WCF tracing
7. Do you really need the Navigation controls of Sitefinity?
8. HTML Vs Content Blocks
9. Turn off the debug option on the compiler in the config file.
10. Turn off the Tools icon for editing in the frontend.
11. Minify your JavaScript but also minify your images
12. Load Balance your servers for scalability
13. Remove what you DON’T need from the WebResource.axd
14. Use MVC, WebForms is for consultants that charge per hour 
Warm up
http://jbokkers.posterous.com/70665601
http://memory.dataram.com/products-andservices/software/ramdisk
<compilation debug="false" targetFramework="4.0"
tempDirectory="G:\cache\">
http://www.sitefinitysteve.com/blog/code/2012/06/17/introducin
g-sitefinity-primer-nuget-101
Removing axd from resources
By overriding the “Render” method on your master page
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(pageSource);
if (htmlDoc.DocumentNode == null) return;
var bodyNode = htmlDoc.DocumentNode.SelectNodes("//script").Where(s =>
s.GetAttributeValue("src", string.Empty).Contains(TelerikWebUiWebresource) ||
string.IsNullOrEmpty(s.GetAttributeValue("src", string.Empty)));
foreach (var node in bodyNode)
{
node.ParentNode.RemoveChild(node);
}
Tools of the trade
WebGrease
RequireJS
svcConfigEditor
Minification tools (nugget packages)
HTMLActivityPack
Surprises
Sitefinity around the world
UNITED KINGDOM
+44-20-7291-0580
NORTH AMERICA
+1-888-365-2779
BULGARIA
+359-2-8099850
Winnipeg
Houston
San Diego
London
Boston
Austin
Munich
Sofia
Delhi
GERMANY
+49-89-2441642-70
Sydney
AUSTRALIA
+61-2-8090-1465