服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

设置MaxWorkItems没有效果(Windows Server 2003)

我们有一个应用程序,使用ReadDirectoryChangesW()来监视远程目录的更改通知。 根据Microsoft文档,每个未完成的更改通知请求都会消耗服务器上的“工作项目”资源。 我有一个testing,在Windows Server 2003(32位)机器上监视数百个目录。 当目录数量超过某个值(大约120)时,它会一直失败,此时在服务器上logging一个事件,如下所示: 服务器在最近60秒内无法分配工作项目2次。 当发生这种情况时,连接被中断,perfmon显示“Work Item Shortage”已经发生。 这里和那里的文章指出,可以通过设置MaxWorkItemsregistry项来增加工作项的数量。 然而,我不清楚这是否适用于Windows Server 2003.我试着把这个键(和MaxMpxCt一起 )设置为更高的数值,大约几千,然后重新启动服务器服务(也重新启动)。 然而,perfmon总是显示“可用的工作项目”在120-160附近的某处。 当我运行我的testing程序时,这个数字下降,可以预见,直到它达到零,短缺logging,并连接到我的客户端被丢弃。 我的问题是:我可以影响我的设置中可用工作项目的数量,如果是这样,怎么办? 我也可以为我们可能使用的其他版本的Windows(即Server 2008等)做到这一点? 为了logging,我也尝试玩MinFreeWorkItems , InitWorkItems , MaxRawWorkItems和MaxCmds ,都没有用。 参考文献: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/77a9fbf8-e889-414c-a9f9-f3fa72e3b593.mspx?mfr=true http://support.microsoft.com/kb/810886