优化你的应用服务器
3.1、内存因素
即便在只有少数客户正在存取并且操作存储在服务器上的数据的情况下,为有效的文件缓存提供足够的内存也是很重要的。例如,具有64MB内存的低端系统快速地用完缓冲后,其性能(以每秒交易数计算)即随着服务器转向磁盘子系统而开始恶化。在这种情况下,增加处理器数目将于事无补,因为没有足够的缓存,磁盘子系统就不能工作地更快。为什么多数数据库几乎不会运行在只有64MB内存的服务器上,以上事实就解释了其原因。
如果没有充足的缓存,应用服务器的表现将是很糟糕的,那么随后就应该增加内存了吗?这只有在某种程度上是确定的。当我们将测试服务器的内存从 64MB 增加到了512MB 时(但是仍然使用一个处理器),服务器的性能才仅仅上升大约10%。
随着越来越多的客户程序利用请求开始持续的冲击应用服务器,你开始看见一种熟悉的模式了:当文件缓存被扩充时,服务器必须增强对磁盘子系统的依靠来满足需求,直到整体性能的恶化。这是所有的服务器都面临的问题,对应用服务器而言尤其如此。
为了增加一度拥有超过大约16个客户的应用服务器的性能,你确实需要利用你全部可用的缓存和处理器。正如上面所提到的那样,应用服务器的功能不仅仅是简单地提供文件;他们所处理的交易类型需要检索数据的磁盘活动和进行这些操作的处理器能力。当越来越多的顾客存取数据时,仅仅增加缓存只能让你的服务器性能原地踏步。但是,为了随着客户数量的增长而同时提高应用服务器的性能,那么你不仅必须增加存储器也要同时增加处理器的数目。
3.2、内存不是一切
因为服务器的缓存有限,所以,一台配置64MB内存、单一处理器的应用服务器的性能是差强人意的。增加内存数量到128MB 将增加缓存的大小并且提供更好一些的性能,但是随着内存进一步增加到512MB,而你又仍然使用那唯一的一个处理器,那么别指望性能将会有多大的改进,如果你在配置中加入第2个处理器,那么你将看见服务器的峰值性能有明显上升,这是因为你的服务器现在增加了驱动新加缓存的处理能力。
3.3、一个CPU还不够
为了确实利用增加的缓存,你的服务器需要更大的处理能力。在你增加内存同时增加处理器数目将显著地提高性能;一个CPU对大多数应用服务器而言是不够的。例如,当我们将测试服务器上的内存增加到128MB的同时相应地增加了一个处理器,结果服务器的峰值性能即戏剧般地增加了大约90%。而当我们将2 个处理器增加到4个时,其性能结果又在此基础上上升了50%。
事实上,与简单地增加内存相比,增加处理器的数目在提高性能上具有更大的效果。问题在于;当我们将具有2个处理器的服务器内存从256MB 升级到512MB时并没有真正的获得应有的增益。虽然在缓存耗尽之前,额外的内存有效地加倍了服务器可处理的客户数量,但服务器的性能却由于磁盘活动的相应增加而在实际上开始下滑了。在将处理器的数目增加到 4个以后,性能就比2个处理器配置的情况上升了大约70%。
3.4、4个CPU值得
处理器子系统对你的应用服务器获得优异的性能而言具有重要的作用。尽管你将两个处理器的服务器的内存从256MB升级到512MB时你不能看见性能上出现大的跳跃,但是更多的客户已经可以在不可避免的瓶颈问题发生之前存取服务器数据了。不过,为了使你的服务器能够达到它的最佳性能水平,你还是为其装备4 个处理器和 512MB内存吧。所有的服务器都一样,一旦缓存耗尽,随着磁盘溢出,服务器的性能就会下降。
3.5、底线
正如与 ServerBench交易所关联的、负担较重的磁盘和处理器活动所表现的那样,具有64MB内存和一个 CPU的计算机不能作为多于4个客户的有效应用服务器。当访问你的应用服务器的客户数量增长时,你就应该增加内存以容纳他们,同时也要增加处理器的数目来充分利用这些附加的缓存。如果磁盘子系统成为瓶颈,那么,除非你还要增加内存以减轻磁盘的一些负担,否则简单地增加处理器数量就可能不会改进性能。
如果磁盘成为瓶颈,那么通过增加盘片或者迁移到更快的磁盘来升级磁盘子系统可以提高应用服务器的性能。例如,舍弃旧的 5,500rpm的磁盘并用10,000rpm的磁盘代替他们,那么在你受磁盘所限时将获得性能上的显著提高。然而,这应该是最后要做的事,因为最大的性能增益来源于你的服务器上所增加的内存数量和处理器的数目。
相关报道
本文导航>>
- 1.优化你的应用服务器
- 2.优化你的应用服务器
