分析了您之前提供的在CPU使用率高的时候抓取的w3wp进程的dump,以下是一些发现:
- 在抓取dump文件的这个时刻,.Net的垃圾回收正在运行,在内存资源紧张时,.Net会自动启动内存垃圾回收机制,释放内存资源以供程序使用。由于垃圾回收过程需要占用较多CPU资源,这就是这段时间CPU使用率较高的原因。
- 在这个w3wp进程使用的内存中,绝大部分都被PermissionCollection结构体占用,这个结构体是用来记录SharePoint站点中各个项目对应的权限,因此如果我们SharePoint站点中有很多独立权限的项目,这些结构体会占用较大的内存空间。有关这个结构体中的内容,您可以参考msdn文章:http://msdn.microsoft.com/en-us/library/permissions.permissions.getpermissioncollection(v=office.12).aspx
- 在抓取dump文件的时刻,您的环境中应该有爬网正在进行,我们看到了w3wp进程中有类似如下http请求:http://apps.westrac.com.cn:80/_vti_bin/sitedata.asmx,这个Web Service请求是由爬网程序发出的,爬网程序通过这个Web Service获取 SharePoint站点中的内容以及与这些内容对应的权限,所以以上提到的PermissionCollection在多数情况下是由sitedata.asmx这个Web Service在处理爬网请求时产生的。
因此,您之前观察到的CPU和内存使用率间歇性增高的问题,与您环境中的爬网有一定关系。建议您在考虑Jinkui之前提出的减少独立权限数量和列表项目数量的同时,尽量不要把SharePoint爬网设置在高峰时间启动,以免影响SharePoint服务器的整体性能。
数据库查询语句执行时间的长短是由很多因素综合决定的,根据我们对日志的分析,更新新环境SharePoint内容数据库中两个表的统计信息并重置索引,可以较有效的提高查询速度。请您在新升级的SQL Server数据库中执行以下命令,请确定WTC_App_Center_Content是您访问慢网站使用的内容数据库:
use WTC_App_Center_Content;
go
UPDATE STATISTICS AllUserData WITH FULLSCAN
UPDATE STATISTICS AllDocs WITH FULLSCAN
ALTER INDEX ALL ON AllUserData REBUILD
ALTER INDEX ALL ON AllDocs REBUILD
由于执行这个命令时会对数据库产品性能影响,请您最好的非工作时间执行,根据数据库中数据量的大小,这个命令可能会执行较长时间。
如果我们在调整了爬网排程,更新了数据库中的统计信息后,发现新环境还是明显慢于老环境,我们可以继续抓取SQL Server的PSSDiag日志,进一步分析还有没有提升查询速度的空间。结合之前的分析,导致您环境中SharePoint访问慢的根本原因是当前站点中有独立权限项目的数量太多,导致SQL Server中的查询语句需要较多时间返回。所以这个问题的根本解决方法是根据我们官方文档中的推荐配置对您站点的内容做适当调整,具体可以参考JianKui之前的邮件。
sharepoint site performance的更多相关文章
-
SharePoint Site Pages &; Application Pages
转:http://www.wcode.net/plus/view.php?aid=1582071 SharePoint一个很重要的概念就是Site Pages和Application Pages.接触 ...
-
SharePoint自动化系列——通过PowerShell创建SharePoint Site Collection
通过PowerShell创建SharePoint Site Collection,代码如下: Add-PSSnapin microsoft.sharepoint.powershell function ...
-
Q: Why can't I access the Site Settings of my SharePoint site? 'File Not Found'
Q: I am trying to access the Site Settings of my SharePoint site, but I get a File Not Found error, ...
-
Development of large-scale site performance optimization method from LiveJournal background
A LiveJournal course of development is a project in the 99 years began in the campus, a few people d ...
-
SharePoint Site ";Regional Settings";功能与CSOM的对应
博客地址:http://blog.csdn.net/FoxDave SharePoint网站中的区域设置:"Regional Settings",可以用CSOM通过Site的一些 ...
-
SharePoint Site ";Language Settings";功能与CSOM的对应
博客地址:http://blog.csdn.net/FoxDave SharePoint网站中的语言设置:"Language Settings",可以用CSOM通过Site的一些 ...
-
SharePoint API测试系列——Manage SharePoint Site Policy &; Expiration Email with CSOM API
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 对CSOM(Not SSOM) Site Policy & Expiration Emai ...
-
如何用ip代替机器名访问sharepoint site
1. iis里绑定ip 2. AAM里加一条ip的记录
-
Sharepoint学习笔记—习题系列--70-576习题解析 -(Q84-Q87)
Question 84You are designing a Web Part for SharePoint 2010 that must be able to be used on any sit ...
随机推荐
-
解决Android与服务器交互大容量数据问题
对于目前的状况来说,移动终端的网络状况没有PC网络状况那么理想.在一个Android应用中,如果需要接收来自服务器的大容量数据,那么就不得不考虑客户的流量问题.本文根据笔者的一个项目实战经验出发,解决 ...
-
[转]crontab命令指南
原文链接:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html 前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划 ...
-
查看Linux系统网卡信息
nmcli是一款能够方便我们配置网络的工具,能够轻松的查看网卡信息或网络状态: 实例1:查看网卡信息 [root@localhost ~]# nmcli connection show 名称 UUID ...
-
Objective-C基础学习笔记——对象初始化
obj中创建新对象有两种方式:[classname new]和[[classname alloc] init].两种方法等价,Cocoa惯例是使用alloc和init. 1.分配对象: allocat ...
-
Play Modules Morphia 1.2.9a 之 Aggregation and Group aggregation
聚合 和 分组聚合: PlayMorphia 它提供了基于开发人员models的友好接口 设想你定义了一个model.class Sales: @Entity public class Sales e ...
-
部署在服务器中的WebService
1.继上篇之后,我把我的WebService部署在了比较小的Tomcat中,首先要把Jax-ws.jar架包放在lib里面 2.在我的WEB-INF里面增加了一个xml文件:sun-jaxws.xml ...
-
微信小程序实现“鲜肉APP”首页效果
项目地址http://git.oschina.net/djcx/WeiXinXiaoChengXu/tree/master 如果您觉得不错,记得给一个star 由于微信小程序目前是当下趋势,正好昨天弄 ...
-
Eclipse4.8.0的svn插件离线安装说明
Eclipse4.8.0离线安装Subclipse(SVN插件)的方法: Subclipse迁到github上了,地址:https://github.com/subclipse/subclipse/w ...
-
pring @Configuration 和 @Component 区别
一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例. 从定义来看, @Configuration 注解本质上还是 @Com ...
-
Date、Calendar、DateFormat类
Date类与Calendar类之间的转换 package date; import java.util.Calendar; import java.util.Date; public class Da ...