Moss文件操作速度慢的问题解决记录

用户反馈在进行文档上传及添加水印操作的时候速度非常慢.

开始进行问题排查

1.检查服务器资源占用情况 web  app  数据库  cpu,内存,磁盘,网络都没有异常情况.

2.检查数据库资源使用. 发现锁的数量非常多.大约在 70-400W个.  大多数都是alldocs 的 key锁.  根据sessionid进行分组排查.发现变动较快. 大约六七个session每个都持有几十万个锁. 关联查询出具体sql的text查看发现.发现执行上传过程会调proc_GetLinkInfoSingleDocInternal存储过程,非常耗时.

3.检查程序发现涉及到文档更新操作的比较慢.

4.进行文档上传操作.发现部分慢部分快.  慢的什么时候上传都慢,快的什么时候都快.总结发现慢的文档内容中有超链接.

5.开profile跟踪执行的sql语句.发现Moss更新文档会取出超链接. 执行proc_GetLinkInfoSingleDocInternal 的查询

分析动态执行计划.发现缺少索引.

增加下面的索引之后上传包含索引的word文档也恢复正常

USE [Wss_Content_80_Contract]
GO
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]
ON [dbo].[AllDocs] ([SiteId],[DirName],[LeafName],[DeleteTransactionId])
INCLUDE ([Type])
GO

未解决的悬案.

1.微软为什么要从word文档里面获取连接.

2.文档中如果有10个连接.只获取了后9个连接,为什么不获取第一个连接.

3.之前是不获取连接的. 是否因为开Fast全文检索造成的问题.

 

你可能感兴趣的:(文件操作)