当前位置:Linux教程 - Linux - 构建高负载Web服务器

构建高负载Web服务器

架设一台Web服务器已经变得非常简单了,尤其是在Windows平台上,很多Web服务器软件都有图形化的安装工具和图形化的管理工具。然而,如何使得架设的Web服务器真正能达到承担非常高的负载,对于Web服务器的系统管理员来讲,却仍然是一个不小的挑战。

对于任何网站来讲,其提供的内容都可以分为静态网页或动态网页两种,由于网站可以提供动态内容,整个网站的负载就不但包括Web服务器的负载,而且还要包括后端应用软件(CGI,PHP等),数据库服务器的负载等,此时,如何提高整个站点的负载能力就相对复杂一些。通常的做法是使用垂直划分的方法,将不同的功能划分到不同的服务器上去,这是因为为了让Web服务器达到最佳的性能和负载能力,需要针对不同目的进行调整服务器参数设置,提供静态网页的服务器和提供动态访问的服务器有不同的要求。例如,提供CGI程序通常需要大量的CPU处理时间,而仅提供静态网页的服务器很少使用CPU,等等。

虽然越来越多的网站中,动态内容变得非常重要,但是一个网站中大多数访问还是对于静态数据的访问,例如,页面中常用到的大量不同图片都是静态数据。而且,即使对于一个提供动态内容Web服务器来讲,它除了要满足后端应用程序的性能要求之外,其他需要注意的问题和提供静态内容的Web服务器是相同的。很多情况下,还会特别要求服务器能提供优秀的静态数据访问能力,例如提供图片、音乐、视频片段的服务器。

 在另一方面,对于访问量较大的站点,通常使用会使用负载均衡的技术,通过使用多台服务器构成的服务器集群来分担负载。这种服务器集群或负载均衡的技术已经相当成熟,尤其对于大型网站,其应用非常广泛。这种方法中每台服务器的功能相同,因此可以称为水平划分的方式。

一个真正的高负载站点通常综合利用以上的方法,将负载分配到不同的服务器上,以便解决服务器的负载问题。然而,对网站的访问随机性相当大,并且还会随着一个网站内容的丰富,访问量会迅速增加。因此,一个系统管理员就需要了解Web站点真正的负载能力,以便能够满足不断增加的访问者的访问。