【转】Performance issues with a list in MOSS 2007 列表慢的问题
2007-11-01 06:15
603 查看
Last week, I visited one of my favorite Customers in Belfast. They experienced performance issues in their Customer's MOSS 2007 production environment.
Symptoms
The symptoms were the followings: a list item takes 10-20 seconds to open, sometimes more. Looking closer, it turns out that those list items are slow to open that are in a list that has a workflow associated and the workflow already finished running for the list item. The more time the list item is modified, the more time it takes to open it. My Customer is really a cool troubleshooter and he already found out these things, together with a SQL trace where it turns out that when the item is opened, the stored prodecure proc_GetListItemWorkflows is called too many times. If there were 2 modifications on the list item (so, the workflow ran 2 times already), it is called about 46 times, if it's 3, it's almost 100 times and so on. The stored procedure itself is just a SELECT statement and it's pretty fast, but the overhead to call the SP takes some time - especially when you do it 46 times. :) If the store procedure's contents are deleted, the problem is solved, but your MOSS box enters into an UNSUPPORTED STATE in this case. We found that the problem occurs only with sites based on the Content Publishing site template - so this means that WSS 3 sites are not affected.
Resolution
The problem was quite hard to identify. The reason why it was hard, because there were 2 bugs with the very same symptoms and we didn't know whether we fixed one and the other one was still there. Let's call them bug #1 and bug #2.
Bug #1 was resolved by installing the latest official *CUMULATIVE* hotfix (Q939599) for MOSS 2007. For getting the hotfix, check the details at the end of this article. MOSS 2007 SP1 will contain the fix - and that's the best way to have this bug fixed in your production environment.
Bug #2 is still there but we found a way to eliminate it (turn off the Office SharePoint Server Publishing feature on the Site features).
Even if we installed the hotfix and disabled the feature, the problem didn't disappear. We had to create a brand new site on the patched server and disable the feature on that one - in this case, the problem got solved on this very site.
What happens with data already in the list?
Data that was entered on the "bad" site before the hotfix is installed is “corrupted”. We tried stsadm -o export and stsadm -o import to export-import it to a patched site but it didn't work either. So, it seems that the patch causes list items to be stored in a different way - but the list items already stored on the "bad" site are in the bad format. My guess is that using the Datagrid view in the list to copy and paste the items will work. I will come back later with an update whether this one helped or not.
Getting the hotfix
You can obtain the hotfix by opening a support incident at Microsoft Product Support Services (see http://support.microsoft.com/gp/services/?LN=id for more info), contact CSS on the numbers at http://www.microsoft.com/services/microsoftservices/srv_support.mspx or use the email hotfix service at https://support.microsoft.com/contactus2/emailcontact.aspx?scid=sw;en;1410&WS=hotfix. In neither case you will be charged for obtaining the hotfix.
Posted: Friday, September 07, 2007 8:52 AM by dszabo
Symptoms
The symptoms were the followings: a list item takes 10-20 seconds to open, sometimes more. Looking closer, it turns out that those list items are slow to open that are in a list that has a workflow associated and the workflow already finished running for the list item. The more time the list item is modified, the more time it takes to open it. My Customer is really a cool troubleshooter and he already found out these things, together with a SQL trace where it turns out that when the item is opened, the stored prodecure proc_GetListItemWorkflows is called too many times. If there were 2 modifications on the list item (so, the workflow ran 2 times already), it is called about 46 times, if it's 3, it's almost 100 times and so on. The stored procedure itself is just a SELECT statement and it's pretty fast, but the overhead to call the SP takes some time - especially when you do it 46 times. :) If the store procedure's contents are deleted, the problem is solved, but your MOSS box enters into an UNSUPPORTED STATE in this case. We found that the problem occurs only with sites based on the Content Publishing site template - so this means that WSS 3 sites are not affected.
Resolution
The problem was quite hard to identify. The reason why it was hard, because there were 2 bugs with the very same symptoms and we didn't know whether we fixed one and the other one was still there. Let's call them bug #1 and bug #2.
Bug #1 was resolved by installing the latest official *CUMULATIVE* hotfix (Q939599) for MOSS 2007. For getting the hotfix, check the details at the end of this article. MOSS 2007 SP1 will contain the fix - and that's the best way to have this bug fixed in your production environment.
Bug #2 is still there but we found a way to eliminate it (turn off the Office SharePoint Server Publishing feature on the Site features).
Even if we installed the hotfix and disabled the feature, the problem didn't disappear. We had to create a brand new site on the patched server and disable the feature on that one - in this case, the problem got solved on this very site.
What happens with data already in the list?
Data that was entered on the "bad" site before the hotfix is installed is “corrupted”. We tried stsadm -o export and stsadm -o import to export-import it to a patched site but it didn't work either. So, it seems that the patch causes list items to be stored in a different way - but the list items already stored on the "bad" site are in the bad format. My guess is that using the Datagrid view in the list to copy and paste the items will work. I will come back later with an update whether this one helped or not.
Getting the hotfix
You can obtain the hotfix by opening a support incident at Microsoft Product Support Services (see http://support.microsoft.com/gp/services/?LN=id for more info), contact CSS on the numbers at http://www.microsoft.com/services/microsoftservices/srv_support.mspx or use the email hotfix service at https://support.microsoft.com/contactus2/emailcontact.aspx?scid=sw;en;1410&WS=hotfix. In neither case you will be charged for obtaining the hotfix.
Posted: Friday, September 07, 2007 8:52 AM by dszabo
相关文章推荐
- Working with large lists in MOSS2007(四)
- python mysql where in 对列表(list,,array)问题
- Top 15 Performance Testing Tools – Comprehensive List of In-Demand Tools with Download Link
- 将Excel 2007表格发布到MOSS列表,发布后的表格和可以和MOSS列表双向同步
- The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 问题的解决
- SharePoint 2007 User Re-created in AD with new SID issue on MySite
- python list列表删除元素需要注意的问题
- SharePoint 2007 在Windows Server 2008上列表Open with Windows Explorer失效 解决
- 由OpenSessionInView引出的List复制问题
- 源码解读Mybatis List列表In查询实现的注意事项
- 关于There is no getter for property named 'mohuname' in 'class java.lang.String'] with root cause问题
- [AngularJS] New in Angular 1.3 - Performance Boost with debugInfoEnabled
- ISA发布MOSS网站以后列表分页问题
- Axure RP Pro - 相关问题 - 在规格文档中动态面板中的droplist下拉列表框部件会重复输出选项列表
- 关于警告: No mapping found for HTTP request with URI [/spMVC/] in DispatcherServlet with name 'spMVC'的问题
- leetcode -- Copy List with Random Pointer -- deep copy问题,dfs
- STSADM operations (with parameters) in MOSS 2007 SP1
- Working with Managed Paths in MOSS
- ios5中使用Reachability的问题) reachabilityWithAddress: (const struct sockaddr_in*) hostAddress;