Chinaunix首页 | 论坛 | 博客
  • 博客访问: 432212
  • 博文数量: 73
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 1260
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-28 09:31
文章分类

全部博文(73)

文章存档

2011年(1)

2010年(18)

2009年(28)

2008年(26)

我的朋友

分类:

2009-10-02 01:17:03

平时,当使用 sh stat database.dbcache.* 命令,可以看到如下所示的DB Cache的统计信息:

 

  Database.DbCache.CurrentEntries = 132

  Database.DbCache.DatabaseLinkEntries = 0

  Database.DbCache.HighWaterMark = 132

  Database.DbCache.Hits = 67

  Database.DbCache.InitialDbOpens = 252

  Database.DbCache.Lookups = 642

  Database.DbCache.MaxBucketLength = 3

  Database.DbCache.MaxEntries = 384

  Database.DbCache.NumBuckets = 389

  Database.DbCache.NumBucketsUsed = 109

  Database.DbCache.OvercrowdingRejections = 0

  Database.DbCache.Size = 1262

  12 statistics found

 

其中Database.DbCache.MaxEntries = 384,显示了此服务器能够支持并发打开的数据库数量是 384个。通常在峰值状态,支持的并发DB数量可以达到此值的两倍。这个参数的配置存在两种方式:

1)在服务器端的Notes.INI文件中配置NSF_DbCache_Maxentries

2)在服务器端配置NSF_BUFFER_POOL_SIZE_MB参数。一旦配置此参数,则Database.DbCache.MaxEntries = Database.DbCache.MaxEntries × 1024 /341

适当的提高Database.DbCache.MaxEntries有助于提升服务器的性能,但囿于可使用的内存限制,过大的值将会导致系统处于不稳定状态。本人建议,在自己不确定的情况下,轻易不要去碰这个。因而,若实在存在修改此配置参数值的必要,还应该事先了解生产系统的DB Cache中数据库的活动状态。

关于Domino系统的DB CacheDB活动情况,可以通过nsd日志文件的NSF DB Cache区段数据中获得。首先需要执行 nsd 命令获得nsd日志文件;其次,阅读分析其中的数据。

下面内容为一个客户实际生产环境中因服务器CRASH而生成的nsd日志文件,将其中NSF DB Cache区段内容截出,供参考。

 

*****************************************************************************************************

<@@ ------ Notes Data -> NSF Data -> NSF DB Cache (Time 22:58:01) ------ @@>

 

DbCacheMaxEntries = 1536

       OpenByAger  State  MinutesLeftInState   Database

         YES         6             2           /XXXX007/mail01/wangdhd.nsf

         YES         6             2           /XXXX007/mail02/zhaoman.nsf

         YES         6             2           /XXXX007/mail01/wanghlb.nsf

         YES         6             3           /XXXX007/mail01/wanglmd.nsf

         YES         6             4           /XXXX007/mail01/wenle.nsf

         YES         6             4           /XXXX007/mail01/maokai.nsf

         YES         6             4           /XXXX007/mail01/wangyxa.nsf

         YES         6             5           /XXXX007/mail01/qilei.nsf

         YES         1             1           /XXXX007/mail02/wanghmb.nsf

         YES         1             1           /XXXX007/mail02/zhouqiongb.nsf

         YES         1             1           /XXXX007/smd/smvlog.nsf

         YES         1             1           /XXXX007/mail02/zhanghtb.nsf

         YES         1             2           /XXXX007/mail01/pengqiong.nsf

         YES         1             2           /XXXX007/dbdirman.nsf

         YES         1             2           /XXXX007/mail01/wangzzc.nsf

         YES         1             3           /XXXX007/mail01/rangjuan.nsf

         YES         1             3           /XXXX007/mail02/zhangxye.nsf

(余下内容略去)

       ……       ……       ……       ……

       ……       ……       ……       …… 

*****************************************************************************************************

 

字段说明:

þ       DBsOpenByAger —— 指示该数据库是否已经由数据库Cache Ager线程所打开;

þ       State ——数据库当前所处的状态;

þ       MinutesLeftInState —— 允许数据库保持当前状态的剩余持续时间;

þ       Database – 包含完全路径的数据库名称

 

数据库状态描述:

状态类别

标志值

描述

DBSTATE_CLOSED

0

数据库已关闭 (未缓冲)

DBSTATE_OPENCLEAN

1

数据库已打开,但是干净的(缓冲状态未知)

DBSTATE_OPENDIRTY

2

数据库已打开,且存在未写入DB的“脏”数据,即fixup标志位仍处于置位。缓冲状态未知

DBSTATE_FLUSHEDDIRTY

3

Database is flushed, dirty and cached.

DBSTATE_COMMITTEDDIRTY

4

内存中数据已经写入DB物理文件,但fixup标志位仍置位

DBSTATE_FLUSHEDCLEAN

5

内存中数据已经写入DB物理文件,且fixup标志位复位

DBSTATE_CACHEDUNIDCLOSED

6

DB处于打开状态,但UNID索引已关闭

 

注:此文内容系本人自己胡思乱想的结果,引用时请慎重考虑!

阅读(2279) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~