SharePoint 2007 Web Content Management 性能优化系列 1 - 做好拓扑架构规划

来源:互联网 发布:快消品集团网络商学院 编辑:程序博客网 时间:2024/04/28 03:42

是的,你可能有些意外,但如果希望你的SharePoint WCM应用有好的性能,第一个要做的,就是在正式开始动手前,好好规划一下整个服务器场的拓扑结构。

SharePoint 2007
支持服务器场部署,我们可以将前端Web服务器、应用服务器(包括Index服务器、Query服务器、文档转换服务器、Excel Services服务器等)和数据库服务器分开部署。最小的服务器场规模,可以将所有服务器角色安装到一台物理服务器上,而对于大型应用而言,将各个服务器角色分开部署到单独的物理服务器上,确实可以大大的提高服务器场的响应速度。

微软发布过两个针对SharePoint WCM的解决方案,它们是Visio格式文件,里面包含了解决方案的描述、需要考虑的问题、推荐的实现方式等等。第一个是针对不常更新Web内容的WCM应用,另外一个是针对经常更新Web内容的WCM应用。我建议您在开始之前,好好看看这两个Visio文件。

我个人的推荐部署拓扑方案:
(1)
、不要将域控器(Domain Controller)与任何SharePoint服务器安装在一起,这是一种既没有必要、也不方便维护的方法。
(2)
、尽量将数据库服务器单独安装到一台物理服务器上,给数据库服务器大一点的内存,SQL Server 2005能够充分的享受大内存的好处,由于SharePoint会将所有数据存放到数据库中,所以好的磁盘IO可以很大的提高数据存取速度,同时RAID-1对于SharePoint数据安全也是很有必要的。如果数据量非常大,那么就要考虑使用多台数据库服务器,给一个Web Application配置多个Content Database,将各个Content Database分布到不同的物理服务器上。
(3)
、尽量将应用服务器与前端Web服务器分开到单独的物理服务器上。如果SharePoint中有大量的文档和数据,Index服务是很耗费CPU资源的,所以将IndexQuery服务器部署到一台单独的物理服务器上是一个不错的选择。
(4)
、对于前端Web服务器,仔细考虑一下,是否有必要使用多台前端Web服务器(也就是说,如果有必要,那就添加一个新的前端Web服务器。怎样才算是有必要呢?我的建议是,在实际环境中亲自体验和测试一下站点的访问速度,比如,使用一些网站压力测试工具来模拟多用户并发访问。任何事先的估算都只是估计而已。)。由于SharePoint对服务器场部署的良好支持,我们可以随时将一台新的前端Web服务器添加到整个SharePoint服务器场中,而且SharePoint会自动帮我们在这台新的前端Web服务器上配置IIS站点等,极大的简化了管理员的负担。

关于向SharePoint服务器场中添加新的前端Web服务器,请参考http://technet2.microsoft.com/Office/en-us/library/b4279ff9-2842-475a-8d7f-cc90711c47271033.mspx?mfr=true

总结来说,前端Web服务器:应用服务器:数据库服务器使用1:1:1在很多场合都够用了,如果是2:1:1则更好。

image

要提醒的是,如果在服务器场中有多台前端Web服务器,SharePoint自己是不会自动做访问请求分发的,我们要么需要使用一个NLB设备要做请求分发(推荐的方式),要么使用Windows Server自带的NLB功能来实现。不过好消息是,由于SharePoint不会在前端Web服务器上保存任何访问状态信息(比如Session),所以NLB非常简单,我们可以把任意请求分发到任意前端Web服务器上(也就是说,当一个用户第一次打开页面时,NLB将他的请求分发到Web服务器A,用户点击了页面上的一个按钮触发页面刷新,NLB可能将他的请求分发到Web服务器B,由于SharePoint应用不依赖Web服务器上保存的状态信息,所以这是没问题的),而不用关注访问绑定问题。这确实是SharePoint在设计上的一个大亮点!

关于服务器的硬件,要知道,硬件是很便宜的,有些时候吝惜好的硬件投入只会带来更多的麻烦。下面的微软推荐的硬件配置:

(1)
、数据库服务器:双CPU(主频不低于2.5G),4GB RAM64位系统可以支持更多的内存),SCSIRAID-1
(2)
、应用服务器(IndexQueryExcel ServicesDocument Conventer):双CPU(主频不低于2.5G),
4GB RAM
(3)
、前端Web服务器:双CPU(主频不低于3G),
>2GB RAM

当然了,并不是说你非得要有上面所说的这些硬件,才能开始玩SharePoint。有时候在真实项目中由于设备所限,我们甚至要将所有东东都安装到一台物理服务器上。我的建议是,如果服务器数量很少,那么内存一定不能低于3GB,然后要有一个双核CPU