Solved

Access to Domino database slow and to document is even slower

Posted on 2007-04-05
17
551 Views
Last Modified: 2013-11-16
Greetings all,

I am on Domino 7.0.1 and am having a strange issue. I have 2 databases one in which there are almost 48K records and another where there are almost 29K records. Of course the database with more documents is not only opening up faster but to open up each document is also faster by a factor of 10. Do you have any recommendations as to what I can do to speed up access to the smaller database and it's documents? I have read the design help and will be going through the views to see if I can reduce the number of them, I've implemented allow more fields and am not maintaining unread marks. I've also tried to reduce the number of computed fields in my form. What I have noticed is that the time lag occurs between the Queryopen and Postopen events and when I click on the Edit button (so that would involve the Postmode change) andwhen I save the document. Any insight would be greatly appreciated. Thank you.
0
Comment
Question by:notesrookie
  • 8
  • 3
  • 3
  • +2
17 Comments
 
LVL 63

Assisted Solution

by:SysExpert
SysExpert earned 100 total points
Comment Utility
Are there any lookups being done.

Is the Database indexed ( if needed )

have you compacted it lately ?

I hope this helps !
0
 

Author Comment

by:notesrookie
Comment Utility
Do you mean @DbColumn and @DbLookups when you refer to lookups? The database is not FTI if that's what you mean. It was compacted lately but no difference in performance. I also noticed something else. A copy of this database exists in another directory. It has 1,000 less documents than the original and is only 70 MBs in size. The original is close to 500 MBs. Is all this extra room due to indexing? Thanks.
0
 
LVL 63

Assisted Solution

by:SysExpert
SysExpert earned 100 total points
Comment Utility
No, it is probably because of views.

Old views are discarded if not used.

You can log in the Log.nsf and do a databases by Size view and see the actual sizes of each view.

I hope this helps !
0
 
LVL 46

Expert Comment

by:Sjef Bosman
Comment Utility
Just curious: do both database have the same design? If not, there's nothing one could possibly say about the speeds of either of them.
0
 

Author Comment

by:notesrookie
Comment Utility
sjef - No they do not have the same design. So you're right - no basis of comparison.

sysexpert - I did look at the size of the views through the admin client and they were contributing to the vast majority of the database size.

I've looked at the tips that lotus put out in order to streamline the application. I guess I may have to start from scratch. I'm using outlines but allowing folks to see only certain aspects of it based on their roles. I get their roles from a view in the database as they are assigned. I've removed almost all the @Dblookups and @DbColumns from the formulas in the form. I'll keep looking to see where I can optimize performance and keep checking back here. Thank you.
0
 
LVL 18

Assisted Solution

by:marilyng
marilyng earned 250 total points
Comment Utility
Other than what has been previously suggested:

If the forms have many subforms, or shared fields, then this will really impact document opening on a slow network.  Which is probably why the mail file forms don't have them :)

If you have a lot of multi-categorized views, then I found running a server updall program on the database will make it open quicker, especially to the default view.   Also, making the default view a simple view upon opening will speed up the open event.

If that is a complex view, then forcing it to index more often will speed up opening.  I had a warehouse app that I had to index every hour else opening it across a wan was painful.  :)
0
 
LVL 46

Accepted Solution

by:
Sjef Bosman earned 150 total points
Comment Utility
What do you use the roles for, I mean, are they in Readers-fields? That could seriously influence the speed of a view, most importantly when only a small portion of the database can be read by a specific user. A suggestion: you might think of a categorized view, based on the Readers-field, and Show single category set.

But what's more important: speed or security? If both are important, buy a faster server (or increase the speed of the current one). Sheesh, where is the time we could wait for 15 minutes till the compilation of 50 C-files was done...

There's a very good Redbook on Performance somewhere, the original one was for R5 but I think there's a new one for R7.
This is the old one, but still worth reading: http://www.redbooks.ibm.com/abstracts/sg245602.html

A paper: http://www.redbooks.ibm.com/redpapers/pdfs/redp4182.pdf
A checklist: http://www-1.ibm.com/support/docview.wss?rs=203&uid=swg27008849

Actually, here's the lot, I can't find the R7 version: http://www.redbooks.ibm.com/cgi-bin/searchsite.cgi?query=performance+AND+domino

:-)
0
 

Author Comment

by:notesrookie
Comment Utility
I was using the roles to show portions of the outline, which view action buttons can be seen. I am using author fields for controlled access section so that only the folks mentioned in the author fields can update. The categorized view sounds like a good idea, sjef, but where would I show it? In a form? I think I found the R7 performance article in notes.net forums.

I'll make it a point to run updall more often and I've started the process of opening the initial view to a simpler one, more like a page with some instructions, marilyng. But no subforms or shared fields.

If you have any other ideas like what I shouldn't be doing, that would be great, too. Thanks.
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 

Author Comment

by:notesrookie
Comment Utility
Duh - that categorized view should go into a page that the outline then references.
0
 

Author Comment

by:notesrookie
Comment Utility
OK - that didn't work.
0
 
LVL 18

Assisted Solution

by:marilyng
marilyng earned 250 total points
Comment Utility
Then it's the painful process of elimination.  Grab a new copy, test version of the database, and open it vanilla.  Clock it.   One by one, add an opening feature.

You know, also check the replication>>Settings>>number of days to keep delete stubs.  One of my old clunkers (that I didn't write) had 50,000 delete stubs in it, from several years -- nasty.  Along with that there was several hundred agent data files, and garbage from extinct profile documents, design delete stubs.   For that, I had to grab a new blank copy, with NO documents in it.  Set the replication Settings, days to keep delete history to 0, check the box.. that clears out the stubs and the white space.  Uncheck the box, set the days to 30 (or whatever you prefer), compact, and transfer the data.  Run updall, verify the data, test it on the server.  If it performed better, changed the replica ID on the database on a local copy, retired the old version, and replaced it with the new version.

sjef's idea I use alot - I create a non-savable form, with a computed view set to a combo-box at the top of the form.  The initial, embedded view is a blank view with one form:  Select a view from the combo box above.

This way I can embed the view inside a table, to the right of the table I can put notes and instructions, or "Latest news" - etc.  OpenNTF.org uses this technique in their website.
0
 
LVL 1

Expert Comment

by:FKoutchouk
Comment Utility
The key to your question is that you've noticed the problem when opening individual documents:
"the time lag occurs between the Queryopen and Postopen events and when I click on the Edit button "
You also mentioned that one database is 500MB for what appears as a low count of documents.
Therefore I would suggest focusing into two areas:
- The documents contain a lot of data, probably attachments or embedded objects.
--> do all the documents take about the same time to open?  do you have encryption enabled on the form used to open the documents?
- There is code executing upon the opening of the documents.  That code fetches information from other views, perhaps in an inefficient way.
--> Use alternate forms to open the documents to identify the problem.   Copy the form associated with the view.  Change your view design to select the new form.   Remove all code in the events.  Try again. If that fails to improve the situation, keep on removing fields from the form.
0
 

Author Comment

by:notesrookie
Comment Utility
Yup, that's exactly what I started to do this morning, marilyng. Once I removed all the @Db related lookups from the outline, the db opened much faster. I'll also need to start to do the test for whether or not a user has authority to click on a button instead of not allowing them to see the button. I'm trying to show a set of user only their documents. Could I still use the non-saveable form as mentioned above?
Thanks.
0
 

Author Comment

by:notesrookie
Comment Utility
I have an outline entry that computes to composing a document that contains the name of the person who clicked on the outline entry and an embedded view. It keeps popping up with a "cannot execute specified command". The @Command([Compose]; "formname") is the only thing being computed and all my folks have author access. Hmmmm.
0
 
LVL 18

Assisted Solution

by:marilyng
marilyng earned 250 total points
Comment Utility
The non-saveable form:  I just create a form that does my username, etc., but set the SaveOptions field =0.  then that's the form I bring up in the frame.   You can set it to always open in edit mode. :)
0
 

Author Comment

by:notesrookie
Comment Utility
In reading more of what sjef provided, they talked about using @SetViewInfo. It looks like an easier way of showing just that user's information. Thanks for all your help.
0
 
LVL 46

Expert Comment

by:Sjef Bosman
Comment Utility
@SetViewInfo might help you, but you really have to test whether it's not slowing things down too much. What I also noticed is that there are some snags in the use of that function: the entire view may show up just before the call to it (e.g. in the PostOpen of the view), and you have to reset it in time. See the Help database.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

For users on the Lotus Notes 8 Standard client, this article provides information on checking the Java Heap size and adjusting it to half of your system RAM in attempt to get the Lotus Notes 8.x Standard client to run faster.  I've had to exercise t…
This is an old article, please see an updated version of this article, located here: http://www.experts-exchange.com/articles/23619/Notes-8-5x-Windows-7-Notes-info-and-tips.html
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

772 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now