Reputation: 417
I have a lotus notes database which has almost 34,000 documents in it, with a bunch of views almost 200. Thus performance is a major issue for me.
I have tried a couple of tricks such as:
- Create indexes on server using Ctrl + Shift + F9
- I run a scheduled agent on the database that runs every 3 hours the code is simple refresh each view
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Set db = session.currentdatabase
ForAll v In db.views
v.refresh
End ForAll
End Sub
But they don't seem to work that well? Any ideas or suggestion to improve performance on local and server copy will be great?
Also to let you know I have like 100 users who makes update at different intervals maybe 10-20 users per day.
Upvotes: 0
Views: 2614
Reputation: 2795
Define "performance" first of all. Are you talking about opening views? Or is it when you run code it is slow? As Rich already said in his answer, you have way too many views. 30,000 documents is nothing, I have databases with millions of documenst and around 100 views, they work fine. I suspect that you may have a badly designed application. Perhaps you use date/time functions in views, GetNthDocument(), multiple @DbLookup on forms, etc?
Start by reading this white paper by Andre Guirard: http://www.ibm.com/developerworks/lotus/documentation/d-ls-notesperformance/
You also have info here: http://www-10.lotus.com/ldd/ddwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Redbooks%3A+Lotus+Domino+Development+Best+Practices#action=openDocument&res_title=6.0_Performance_considerations&content=pdcontent
And here: http://www-01.ibm.com/support/docview.wss?uid=swg27008849
Upvotes: 4
Reputation: 426
A couples of things to check:
Make sure none of your views selection formulas and column formulas contains any datetime functions like @now
Check view properties, on the Advanced tab set: Refresh: Auto, after first use Discard: If inactive for 45 days
Drop the update agent, the server should be able to take care of the index.
Upvotes: 3
Reputation: 14628
There are many possible reasons for poor performance, and many things that we could suggest. For example, we could talk about disk fragmentation. We could discuss what Domino version you have (which you didn't mention) and possible upgrades. We could discuss your server's i/o subsystem...
But the first and most glaringly obvious issue is that you have too many views!! The fact is that 30,000 documents is not at all unreasonable for a Notes database, even with a decent amount of new and edited documents per day. On a properly designed and maintained database on fairly basic hardware, this should perform just fine. I've seen databases with 100,000 or more docs with tens of thousands of new and deleted docs every day perform okay, but I've also seen them perform badly if, for example, deletion stubs weren't being purged often enough.
But I've digressed.... You have too many views, plain and simple. That's where you have to start. No matter what else you do, I can guarantee that a database with 200 views will perform poorly compared to a database with 20 views. Some of your views may indeed be problems all by themselves due to poor design, so you need to look at every single one of them; but even before you look at the design, you have to ask: why is this view here? Who needs it? If I remove it, will anyone notice? Is there a different view or a better way to meet whatever needs this view meets?
Upvotes: 8