Blog entries tagged with Performance

Configuring cache expiration on IIS 7

by: Per Bjurström

As you may be aware of we used something called wildcard mappings on IIS 6 to be able to trap all requests inside EPiServer CMS, that also meant that we took care of delivery of static files even outside the VPP-folders. So, for example the... [ Read full article ]

13 March 2009  0 Comments


Mitigating high memory pressure in CMS (SP1)

by: Per Bjurström

There are two features in EPiServer CMS going back all the way to EPiServer CMS 4 that were specifically designed to mitigate high memory pressure. Feature #1 EPiServer CMS loads pages into the cache including all properties, that means if you hav... [ Read full article ]

30 January 2009  6 Comments


Performance tools: Visual Roundtrip Analyzer and Firebug

by: Per Bjurström

The “Net” tab in Firebug is a developers best friend when analyzing performance on sites, it’s so easy to use I haven’t gone back to Fiddler even once. Everyone should use a similar tool to get a good understanding on what is happening when users... [ Read full article ]

23 January 2009  0 Comments


Content Generator on EPiCode

by: Per Bjurström

Just as I promised “sometimes after the summer vacation” here is the Content Generator available with source code on EPiCode ;-) Content Generator is used for generating dummy data in EPiServer CMS 5 for testing purposes, for example large... [ Read full article ]

08 January 2009  0 Comments


Http Caching strategies: Pages

by: Per Bjurström

These strategies applies to EPiServer CMS 5 R2, the setting httpCacheability does not exist in R1. Page caching in CMS is enabled by setting httpCacheExpiration in web.config, but remember that this setting has no effect on logged in users. #1... [ Read full article ]

13 October 2008  3 Comments


Http Caching strategies: VPP Files

by: Per Bjurström

These strategies applies to EPiServer CMS 5 R2, but all settings will work in R1 even though option 3 won’t get you the extra performance boost over option 2. Remember that you can have different settings for different folders if you like. Update:... [ Read full article ]

13 October 2008  0 Comments


Database performance advances in R2

by: Per Bjurström

EPiServer CMS 5 R2 introduces a bunch of database performance optimizations related to classic page functionality such as load, save, delete, empty wastebasket, loading dynamic properties, simple address etc. Fixes include table changes, stored... [ Read full article ]

24 September 2008  2 Comments


Performance lab at EPiServer

by: Per Bjurström

Since I write about performance testing I should give you some idea on how we do performance tests on the dev department. We run all our load testing using Visual Studio Team System 2008 : Visual Studio Team System Load Agent . Applies the load to... [ Read full article ]

11 September 2008  3 Comments


Template performance: EPiServer CMS 4 vs EPiServer CMS 5

by: Per Bjurström

There have been some posts about performance improvements in EPiServer CMS 5 already, but I thought I post my results as well. These tests were conducted by applying load on the default templates on one of our test servers and then measuring hits... [ Read full article ]

10 September 2008  0 Comments


Automatic index rebuild script

by: Per Bjurström

To speed up access to the data in SQL Server we use something called indexes, most of you probably know all about it. Indexes are B-tree structures that are extremely efficient for looking up data, consider the fact that looking up row based on a... [ Read full article ]

04 July 2008  13 Comments


Content Generator Preview

by: Per Bjurström

Marek Blotny wrote a post some months ago about his Dummy Content Generator which was a great initiative. At the same time I was writing a tool called Content Generator that we are using for our internal testing which did something similar but... [ Read full article ]

25 June 2008  0 Comments


Performance testing Windows Server 2008

by: Per Bjurström

I have been doing some performance testing on Windows Server 2008 , the goal was to see differences in how EPiServer CMS behaves on different operating systems. These tests are performed using EPiServer CMS 5 SP1, the official support for Windows... [ Read full article ]

11 June 2008  6 Comments


Setting cache limits in ASP.NET 2.0

by: Per Bjurström

Since ASP.NET 2.0 you have full control over much memory the ASP.NET cache is allowed to use per application, in this example I've set it to 200MB. By looking at the performance monitor you see that the Microsoft.NET memory usage keeps itself unde... [ Read full article ]

05 June 2008  4 Comments


Performance tweak: Bulk creation of pages in EPiServer CMS 5

by: Per Bjurström

So, you are creating large amount of pages in code (1000+) and need to find ways of tweaking the performance? There is currently in EPiServer CMS 5 (SP2) a performance booster that you can use: Set PageData.UrlSegment yourself. Why ? When EPiServe... [ Read full article ]

22 May 2008  1 Comments


Performance tweak: Optimizing StaticFileHandler in EPiServer CMS 5 (part 2)

by: Per Bjurström

This is a update to my previous post . EPiServer CMS 5 Release 2 will support kernel-mode response caching when you enable expirationTime on a VPP in web.config. Kernel mode response caching is handled by http.sys which is the HTTP protocol stack ... [ Read full article ]

06 May 2008  2 Comments


Performance tweak: Optimizing StaticFileHandler in EPiServer CMS 5

by: Per Bjurström

The StaticFileHandler that serves files from a VPP is by default configured without a expiration date, or really a negative expiration time. That will cause the browser to, for every request, ask the server if there is a new version of the file, a... [ Read full article ]

18 April 2008  2 Comments


LOOP JOIN and other fun query optimizations

by: Per Bjurström

Consider this SQL Server query that is part of EPiServer CMS 5: SELECT tblPageLanguage.fkPageID, tblLanguageBranch.LanguageID as LanguageBranch FROM tblPage JOIN tblPageLanguage ON tblPage.pkID=tblPageLanguage.fkPageID LEFT JOIN tblLanguageBranch ... [ Read full article ]

26 March 2008  0 Comments


Meet the new slender tblPage

by: Per Bjurström

Back in EPiServer 4.60 when we introduced the new multilanguage support we did a lot of changes in the good old database, one of them were making a table for page languages called tblPageLanguage. This table became a subset of the main table tblPa... [ Read full article ]

25 March 2008  2 Comments

EPiTrace logger