Slow Response on HTTP Application

Posted on 2006-10-23
Last Modified: 2013-12-18
Hi Xperts, i have a situation here. I've built a complete Human Resources ERP like system using Lotus Domino R5.012 completly for Web with the following characteristics :

a) i use only 1 Notes user, (the server) and the anonymous and each person has a profile document where it is located its own password.
b) there are about 50 logins daily but in diferent times (separated by seconds)
c) The mainly function is that there you have all your personal data in one database and all the collaboration and work documents in other 10 different databases in the same server.
d) For Front-end  i use javascript (of course) with AJAX callings to the other databases so i can retrieve the data
e) For document save and send i use Lotusscript with one library per datanase and a lot of agents calling the functions in the library
f) In some process the application send emails to the HR people and external people
g) i have connections to SQL using NotesSQL and some text files writing

So the problem i´m having extactly is that each time i call for a lotusscript processing the application gets slow
sometimes the Domino Administrator has to restart the HTTP service and , in other cases the complete server inlcuding Windows 2003 Server.

I am trying to convince the my bosses that we have to uograde to version 6x, but will it be the answer?

Could it be that i'm using one Notes User for the entire organization? For security im using cookies on each client that access the web application and putting some HTML header security

Thanks for your help

Question by:crojas70
  • 2
LVL 46

Accepted Solution

Sjef Bosman earned 250 total points
ID: 17794141
You're asking a lot of questions... And answers are hard to give, for I think the structure of your database and application needs to be studied in detail. There are some very good books about Domino performance, especially on R5. One problem with that release was/is that the HTTP-server builds a cache of pages and their info, which costs quite some performance and in the end isn't a great help. How many pages are really exactly the same? Usually, and certainly in your application, people tend to change something and then revisit a document, to see if the changes are correctly executed. One of the reasons they dropped the HTTP-cache in R6 (and R7).

What do you use NotesSQL for? Is it to query Notes databases using SQL?? I suspect a real problem here.

Lotusscript libraries do indeed slow down the execution of agents. If you use many, they all need to be opened. On the other hand, it shouldn't be that dramatic that you decide to put all code in the agents themselves.

R6 is better, and heavier, so it is by no means guaranteed that your application will run faster. The details of the agents are far more important than the version of Domino yoyu run it on. WebQueryLoad and -Save agents are rather expensive, but usually inevitable. R7 is even better: "With Lotus Domino Designer 7, application developers can use code profiling to analyze running agents and Web services coded in LotusScript". Read

Interesting you use cookies for security. Is that to avoid the Notes built-in security and user licences that are required? AFAIK, any method of discriminating one user from another on a Domino server requires CALs. Please ask your Lotus/IBM Business Partner. Furthermore, there must be some extra load because of the home-made security in your application.

The server itself, the hardware, I suspect more. But I cannot substantiate that without plunging deeper into the structure and the code of your application. What works in a test situation must be optimized for the real world.

This it a page that will lead you to the Performance Redbook: 
The redbook for you in this case is Performance Considerations for Domino Applications:

Author Comment

ID: 17796389
Thanks sjef, here i have more specific details:

1- I use NotesSQL because some documents, when they have been processed, some of their data must be written in an other application that uses SQL Server (its a Payroll system built in Visual Basic with MSSQL 2000)

2- Each database has its own library and the agents of each Database uses only their library

3- Must FORMS have an Agent Call in the WebQuerySave because there is where the document save is done apart from other data processing

4.- The use of cookies is necesary beacuse there a lot of people in the Factories that do not use a computer (so do not have a Lotus id)  so they put one for everybody to register their extra hours timing in our web application. The cookies recognize who is logged in the application. Maybe this kind of security creates the extra load, but has worked fine (on security basis)

5.- The hardware is big, big in RAM and speed, kind of 2Gb RAM and 2 processors at 2Ghz each

6.- Furthermore, i'm using a database of contents so i developed a group of Documents each having a URL that links to forms, agents or views of the other databases. each document has its security related to the person logged in.

i´m thinking, as you say, that a mixture of things is creating this problem. The users sometimes get desperate so i must find a way of solving this because the application is very good in its function and trying to change it to other plataform could be time consuming (the app took about 3 years to build and the last 10 lotus prgrammers in the area)

Version 6x is being authorized (that means Lotus continues in the company, thats good) so i wll start making tests and get back here.

Thanks a lot

LVL 46

Expert Comment

by:Sjef Bosman
ID: 17796645
First, you accepted my answer, but I assume it's a mistake. In that case, put a question in the Community Service topic area to "unaccept" your question.

1) You use NotesSQL from Notes, or is there another application that uses NotesSQL to get to your data?

2) Even then, the use of libraries can be slow

3) Whether or not the WebQuerySave is present, the document is ALWAYS saved. The only way to get some grip on the document in "real-time" is to use the WebQuerySave agent. Post-processing new documents is also possible, using other agents. It may take a while before they kick in, depending on the load of the server.

4) Still, a cookie mechanism is a security mechanism, and therefore requires a CAL. I think it's got little to do with the real question here, so let's drop that part of the discussion. Although... why did you decide to use cookies?? Now you have a great Domino server  with perfect built-in security and what do you do? You throw it away??

5) Awesome! Can't be the problem...

6) ...

In fact, I'd love to analyze this application, but from a distance that would be practically impossible (unless...)

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
Article by: Rob
Notes 8.5 Archiving Steps and Tips This article covers setting up a Notes archive, and helps understand some of the menu choices making setting up and maintaining a Notes archive file easier.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question