So, from what I saw with dottrace, a lot of time was spent in the
dictionary adapter factory, which I use heavily. In fact, the
Assembly.GetName() method is slow.
The problem is that I use for Session, Context, view components and
controllers property bag and flash, even for helpers access from a
view component code. AspView use it too.
So, I made my own implementation of the dictionary adapter factory
which keeps a Dictionary<Assembly, string> with the assemblies and
their names. I saw an improvement already with this. Then, I found out
that AspViewBase instanciate a new DictionaryAdapterFactory in its
constructor instead of resolving this service through the engine
context. I changed that too. I hope Ken will read this. There's
probably a good reason for that but the performances were better too
after this change.
Andre, I've checked the lock counters for SQL : nothing special. There
was a lot of locks request, but no wait time and no dead locks.
I'll let the website run some days and will let you know how it goes.
Thanks for your help.
--
Gildas