摘要:应用规模不同,在规划时应该选择合适的应用拓扑结构。本文以SharePoint 2010为例,谈谈如何根据应用规模的大小来选择合适的拓扑结构。规模越大,所用的拓扑结构可能就越复杂;反之,则选择简单的拓扑结构更加合理。
SharePoint的灵活性和丰富的功能一直为人所称道。如在规划时,可以根据应用规模的不同,选择不同的拓扑结构,在满足用户在性能与功能上的需求。在这里,笔者以SharePoint 2010为例,谈谈如何根据应用规模的大小来选择合适的拓扑结构。
一、服务器拓扑规划的关键因素
对于SharePoint应用来说,该采用什么类型的服务器拓扑结构主要是有企业应用的规模来决定的。规模越大,所采用的拓扑结构可能就越复杂。因为简单的拓扑结构,无法满足用户在性能与功能上的需求。在考虑规模的同时,可能需要兼顾企业安全、网络部署、服务器配置等方面的因素。
另外服务器拓扑结构确定之后,后续调整会比较麻烦。这跟网络的拓扑结构是相同的道理。为此在SharePoint规划的时候,一定要权衡各个方面的因素,合理确定所需要采用的服务器拓扑结构。虽然计划没有变化快,但是仍然需要尽量避免在短时间内(如5年或者8年内)更改服务器的拓扑结构。
二、小型拓扑结构的应用
大型的拓扑结构一般是由一台数据库、一台Web应用服务器、一台应用程序服务器组成。有时候甚至将应用服务器与Web应用部署在同一台服务器上。如下图所示。在小型服务器拓扑结构中,通常情况下将前端服务器配置为Web服务器,另外将一台用作应用程序服务器(也可以将两者合二为一)。这里的应用程序服务器,主要用来承载管理中心网站,并且处理其他与服务器环境相关的维护与管理任务。
如上图所示,这个小型拓扑结构中,最重要的特点是全部采用的都是带台服务器。如数据库应用、应用程序服务、Web应用服务等等都是独立的服务器,没有负载均衡的功能。这种方案有利有弊。优势主要体现在成本与管理上面。对于中小型企业来说,用户数量并不是很多,而且在SharePoint中实现的应用也并不是很复杂。为此相对来说,对于性能的要求并不会很高。此时采用单独的服务器基本上可以满足要求。而且这个拓扑结构相对来说比较简单,维护起来也比较方便。
这个拓扑结构的劣势则主要体现在稳定性上面。其采用的都是单一的服务器,但有一个服务器出现故障,如Web应用服务器或者数据库服务器出现问题的时候,那么用户就将无法再使用这种应用。而且在这种情况下,访问压力都是集中在单台服务器上。没有负载均衡的功能。为此在这种拓扑结构下,需要做好数据的即时备份,特别是数据的异地备份。这有利于当服务器出现故障时,数据不会丢失。
可见小型拓扑结构优势与劣势都是相当明显的。作为管理人员,应该对这些优势与劣势都有清晰的认识。只有如此,才能够根据企业的实际情况下,判断是否需要采用这种小型的拓扑结构。通常情况下,这种拓扑结构主要适用于小型企业,而且能够忍受一定的当机时间。
三、中型拓扑结构的应用
中型服务器拓扑结构主要由一台数据库服务器、一台应用程序服务器和一台到两台Web服务器构成。中型拓扑结构与小型拓扑结构相比,主要体现在两个方面。一是在小型拓扑结构中,应用程序服务器与Web服务器可以在同一台服务器上实现。而在中型拓扑结构中,往往要求他们是独立的。二是对于Web服务器的数量也不同。在小型拓扑结构中,Web服务器一般只有一台,甚至与应用服务器部署在同一台服务器上。而在中型拓扑结构中,Web服务器一般是独立的。有时候为了提高性能,甚至可以使用两台Web服务器来实现负载均衡。在这个配置中,应用程序服务器主要用来负责管理中心网站和服务器环境管理与维护工作。而前端Web服务器则处理搜索查询和响应客户端的请求等工作。
在这个拓扑结构中,笔者认为需要注意以下两点内容。
一是Web服务器数量的选择。当访问的用户数量比较多的时候,可能SharePoint的性能会下降。由于一个典型的SharePoint应用有数据库、应用程序服务、WEB服务三部分构成。此时管理员就需要分析,其性能的瓶颈出在哪个地方。根据以往的经验,在相同配置的情况下,一般都是Web服务器最先出现问题。这主要是因为Web服务器用来处理查询与响应客户端请求等相关的工作。相对其他服务器来说,这些工作量是比较大的。为此当这个应用性能下降时,管理员应该首先想到的是是否在Web服务器上存在着性能的瓶颈。这是一种经验。在大部分情况下这个经验都是有效的。
二是当应用的瓶颈出现在Web服务器上,此时该如何优化呢?一般的优化有三种。一是对应用的优化,二是对服务器配置的优化,三是对Web服务器实现负载均衡。这三种优化的方式并没有先后的顺序,而是需要根据不同的情形选择不同的方式。如管理员分析后发现某个应用设计的不合理,此时即使通过提高服务器的配置或者增加Web服务器的数量,最终能够起到的效果也并不是很明显。相反,相关应用本身涉及的比较合理,当用户数量比较多时,此时采用Web服务器负载均衡反而能够取得比较好的效果。再如,如果跟踪发现,其性能的瓶颈主要在于磁盘的I/O冲突上,此时通过增加Web服务器的数量,就有点小题大做。在原有的Web服务器上实现一个磁盘阵列就可以解决问题。
通常来说,这种中型的拓扑结构可以满足500人左右的应用。如果对于性能有比较苛刻的要求或者用户的并发访问数量比较多的情况下,可以适当的增加一台Web服务器来提高应用的性能。同时这个拓扑结构也给了我们一个提示。一般在优化SharePoint应用性能的时候,往往是从Web服务器那边寻找突破口。这个服务器是整个链条中的一个关键点。
四、大型拓扑结构的应用
在大型拓扑结构中,往往是有两台或者两台以上的服务器组成一个群集数据库服务器、一台应用程序服务器(也可以视情况增加)和多台前端Web服务器构成。在这个配置中,所有的应用程序服务器都配置为支持特定服务应用程序或者服务应用程序组件。而查询等工作仍然是在Web服务器上。
如上图所示,与中型拓扑结构相比,这个大型拓扑结构的主要变化是在数据库服务器上。此时在数据库服务器上也采用了多台数据库服务器,以实现负载均衡。在提高应用性能的时候,同时提高应用的稳定性与冗余功能。不过在实现数据库负载均衡的时候,笔者提一个小的建议。管理员可以根据需要将数据库分为查询数据库和更改数据库两类。因为根据以往的经验,在SharePoint中用户大部分的操作都是查询,而不是数据更新。此时如果有三台数据库组成一个群集服务器,那么可以将一台数据库设置为可更新,其他两台数据库设置为可读。当用户只是查询操作,则其访问的是可读数据库。相反要进行更新操作时,其访问的是更新数据库。当然这对于用户来说都是透明的。应用系统会自动根据用户的操作判断其该连接到那台数据库上。这么操作主要的目的是为了提高数据的安全性。同时查询与更新分工合作,更能够提高应用的性能。