• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 499
  • Last Modified:

Slow Response on HTTP Application

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

  • 2
1 Solution
Sjef BosmanGroupware ConsultantCommented:
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 http://publib.boulder.ibm.com/tividd/software/saleskits/U288860K54400T49/KEY_36.html

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: http://www.nsftools.com/tips/PerfTips.htm 
The redbook for you in this case is Performance Considerations for Domino Applications: http://publib-b.boulder.ibm.com/Redbooks.nsf/0/bb2af5af66e01de9852567d3006a876a?OpenDocument
crojas70Author Commented:
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

Sjef BosmanGroupware ConsultantCommented:
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...)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now