您的位置: 网界网 > 周报全文 > 正文

[周报全文]跨平台的代价

2004年06月14日 00:00:00 | 作者:佚名 | 来源:$page.getBroMedia() | 查看本文手机版

摘要:跨平台的代价

标签

    Web测试经验谈之一:跨平台

    跨平台的代价

    此次测试初期, 我们对送测的所有方案,都使用了统一的后台数据库平台,使用了统一的用JSP实现的网站内容,同时,我们使用了目前主流的中间件产品——Oracle的9iAS和BEA的WebLogic来实现JSP访问,以使所有参测方案更具可比性,但是,从测试结果来看,我们发现了跨平台方案导致性能下降的问题。

    在Windows平台上,运行用JSP实现的网站内容需要使用类似TOMCAT的中间件作为解释JSP的容器,我们使用了Oracle的9iAS和BEA的Weblogic来实现。Oracle的9iAS绑定了Apache和OC4J,也就是说,在Windows平台上我们也必须使用9iAS自带的Apache作为Web服务器软件。而且,在Windows平台上进行的过载测试,Apache的表现要逊于linux平台上的Apache。BEA的Weblogic虽然没有绑定Apache,但测试得到的结果跟使用Oracle的9iAS差不多。

    在Linux平台上,使用Oracle的9iAS对于操作系统有诸多限制,比如版本,涉及到的各种环境变量的设置更是非常复杂。虽然两种商用的中间件产品与Linux的匹配要好得多,但系统资源的消耗仍然比较大。

    下表是我们试验得到的一些数据。我们分别使用小于10K和小于100K的纯静态页面进行测试,连接的IP数设为1000。从这些数据可以看出,使用跨平台的技术一定要使用中间件的产品,而中间件产品一定会占用一些CPU资源和进程,在Windows平台上,这种资源的占用相当大。鉴于目前企业门户网站越来越多地采用动态页面,我们也使用了实现动态技术的软件进行试验,主要是针对Linux平台的实现动态技术的中间件(因为Windows平台集成了ASP实现动态网页的访问),包括Tomcat、Oracle的9iAS、WebLogic的Web Server,Tomcat是免费软件,在实验过程中,我们确实看到了其在最大并发连接数量上的限制。其他的中间件产品对于资源的占用确实很大,尤其是CPU资源。需要说明的是(+微信关注网络世界),我们在实验过程中使用的WebLogic为默认配置,在实际应用中,WebLogic还可以做很多优化的配置。

    从这些数据得到的经验是,使用统一后台的技术来实现跨平台的Web应用,无法充分发挥各自平台的优势,跨平台的方案在性能上都要逊色于各自平台上的经典组合(根据我们前期对Web服务器应用情况的调研显示,在中小型的企业门户网站应用中最常用的组合是Windows 2000 Server+IIS+SQL Server 2000或Access和Linux+Apache+PHP+MySql),而且,中间件产品与Windows匹配后的性能都低于Linux操作系统与中间件匹配后的性能。

    对于用户的建议是:慎用跨平台的中间件实现Web应用,实现Web应用还是首先考虑经典组合。在Linux平台上,可选择的中间件比较多,不过优化的工作比较复杂,免费软件还是慎用。

实现方案HTTP活动会话数CPU占用率(≈)
<10K<100K
Windows 2000 Server + IIS 5.04500~50001500~160030%~40%
SuSE Enterprise8 + Apache 2.0.4845001500~160030%左右
Windows 2000 Server + Oracle 9iAS (IIS屏蔽掉)15001300~1400Apache占用70%以上;总CPU占用率99%左右
SuSE Enterprise8 + Oracle 9iAS35001300~140070%
Windows 2000 Server + WebLogic 8.11500~1600>90%
SuSE Enterprise8 + WebLogic 8.13500140060%~70%
[责任编辑:程永来 cheng_yonglai@cnw.com.cn]