Hi,
Our portal is running on IIS, front end is built using ASP and back-end notes db.
After user authentication, client request goes from IIS to Domino, an agent is called to fetch the data, send it as an xml back to web server.
In the agent we are building dynamic selection formula (which depends on current user’s functional dept. location and so many other criterias), based on this doc collection is retrieved from the view. view.refresh and view.AutoUpdate = False is also used in the agent code.
For each user, minimum four agents run sequentially and this happens for any user logging to the portal.
Problem faced - Slow response time
We are suspecting that the agent execution time is more and its pulling down the performance.
Any suggestions on improving the performance will help us.
Thanks and Regards
Sarala.C
Subject: Agent Performance tuning
Is there any way that you can build a view whose first categorised column combines all of the lookup criteria that you need?
Andrew\Sales\Dublin
That way you could do a view.getalldocumentsbykey to get the documents that you need in one go? Or is there any way you could configure IIS to authenticate with domino and then run the agent as web user to use a more reliable way to authenticate?
HTH
Andrew.
Subject: Re: Agent Performance tuning
Obviously the first thing to do is to prove its slow agent execution time that affects you, so do a control with and without the agent’s code running.
Also benchmark the time of the agent with a start and an end log, eg
NotesLog.LogAction "Started running " & Format$(Now)
If the agents are the problem you have options such as:
- Running more than one agent sequentially on the server - see Domino Administrator Help topic “Running Web agents”:
DominoAsynchronizeAgents
This setting specifies whether Web agents triggered by browser clients can run at the same time (asynchronously). The default is zero (only one agent can run at a time). Set this to 1 to allow multiple agents to run simultaneously. This can result in faster execution of agents. However, a high number of agents executing at the same time can slow overall system performance. Open the Server document you want to change, and click the Internet Protocols - Domino Web Engine tab. In the Web Agents section, enable or disable the “Run Web agents concurrently?” option. For “Web agent time-out (in seconds),” the default is 0 (no time-outs).
-
Getting rid of the delay caused by agent loading into memory each time by re-writing the agents as Java servlets (assuming that they are Lotusscript agents now. Servlets stay in memory, once used, so are quicker to launch.
-
See also Domino Administrator Help topic “Improving Domino server performance”.
Subject: Agent Performance tuning
Have you verified that the problem is with the agents? Can you write out timer data to see how long it takes to run each agent? How about writing out timer data at various points in the agents to see which bits take longer than the rest?
How big/complex are the views? Is it possible that view.refresh is the problem?
HTH
Doug