0

我有一个 Lotus Notes 数据库,其中包含近 34,000 个文档,其中包含近 200 个视图。因此,性能对我来说是一个主要问题。

我尝试了一些技巧,例如:

  1. 使用 Ctrl + Shift + F9 在服务器上创建索引
  2. 我在数据库上运行一个计划代理,每 3 小时运行一次代码很简单,刷新每个视图
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

但它们似乎没有那么好用?有什么想法或建议可以提高本地和服务器副本的性能吗?

另外让您知道我有 100 个用户,他们以不同的时间间隔进行更新,每天可能有 10-20 个用户。

4

3 回答 3

8

性能不佳有很多可能的原因,我们可以提出很多建议。例如,我们可以谈论磁盘碎片。我们可以讨论您拥有的 Domino 版本(您没有提及)以及可能的升级。我们可以讨论您的服务器的 i/o 子系统...

但是第一个也是最明显的问题是你的观点太多了!!事实上,30,000 个文档对于 Notes 数据库来说一点也不合理,即使每天有相当数量的新文档和已编辑文档也是如此。在相当基本的硬件上正确设计和维护的数据库上,这应该可以正常运行。我已经看到每天有 100,000 个或更多文档以及数以万计的新文档和已删除文档的数据库运行良好,但我也看到它们表现不佳,例如,如果删除存根没有被足够频繁地清除。

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?

于 2013-08-29T19:07:38.887 回答
4

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

于 2013-08-30T18:13:06.483 回答
3

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.

于 2013-08-30T13:35:55.377 回答