cancel
Showing results for 
Search instead for 
Did you mean: 
Ralfeus
Level 4
Certified

A long time ago I've met a situation when I couldn't use EV functionality in OWA anymore. At the same time I've noticed drastical delay while opening EV web application (http://sevemea1/EnterpriseVault) or any other ASP pages like Archive Explorer (http://sevemea1/EnterpriseVault/ArchiveExplorerUI.asp) or store usage report (http://sevemea1/EnterpriseVault/Usage.asp).

I have found out the direct reason of such behavior was the fact my account has access to almost all archives in the directory (about 16000 archives). When I tried to open same pages with fresh account having access only to one archive all pages opened quite quickly.

I created a case to Symantec. They told it's normal behavior and recommended to review access to archives policy. Quite good recommendation but not always possible to accomplish :)

So then I started digging deep into ASP part of web application. Since I saw same sympthoms with different ASP pages I thought it could be some common procedure causing problems. But quickly I have found out the problem occurs right on browser opening and doesn't reoccur on page refresh. So the conclusion was certain - something wrong is going on while session initialization.

There is one procedure running on session start. It's Session_OnStart in file global.asa. I have covered this procedure with timeline tracing and found out the most time consuming operation is calling GetArchives function, which is located in the archives.inc file included into global.asa.

In the function GetArchives I have found out the list of archives is taken from the directory as an XML document. Then using XSL transformation a VB script is generated basing on the list of archives and then executed. I have dumped generated code into file and got over 800K lines script surprise. I guess just loading of such script could cause lot of problems. The code for each archive was completely same. Only archives IDs differed.So I couldn't see any reason to do not use good old "for each".

After function modification I have compared opening of ASP pages with Fiddler. With original function opening (in new session) of any ASP script took about 8 minutes. With modified one it took up to 1 minute. Pretty nice resut as for me. Also I could use EV functionality in OWA again.

The modified file is attached. So if you have same situation it might help you as well.

Comments
JesusWept3
Level 6
Partner Accredited Certified

just so you know if you implement this you will be in an unsupported configuration and if any issues arise in the webapps, the file will asked to be replaced with the original, and also any hotfixes and definitely service packs and upgrades will overwrite the file

JesusWept3
Level 6
Partner Accredited Certified

nevermind, apparantly this is already implemented in EV10, nice job :)

Version history
Last update:
‎07-10-2011 02:45 PM
Updated by: