随着Internet的飞速发展,数据库技术也越来越广泛地应用在企业的各个方面。无论是Web应用,企业级的MIS乃至ERP,越是大的应用,数据库的作用就越明显。可以说离开了数据库,我们就不可能有一个信息化的社会。在众多的数据库产品中,Oracle占据着强大的市场份额,根据IDC 2000年的统计结果,Oracle占据了46%的市场份额,微软占6.7%,IBM占23.6%,随着6月份Oracle 9i的发布,Oracle给市场带来了现今技术最先进的数据库产品,Oracle也进入了自己创建以来最强大的时期。
Oracle 9i是业界第一个完整、简单的用于互联网的新一代智能化的、协作各种应用的软件基础平台。 Oracle9i实际上是指Oracle 9i数据库、Oracle 9i Application Server和Oracle 9i Developer Suite的完整集成。
Oracle 9i数据库通过进一步提供用于电子商务环境的一系列特定功能和产品集,继续强化了Oracle在互联网数据库平台上的领先地位。特别是针对互联网上日益增长的在线应用市场而进行了许多关键的改进,使Oracle 9i在现今这一最具挑战性服务的市场上成为最受欢迎的方案。Oracle 9i特性方面的最主要的增强有以下几方面。
* 革命性的伸缩性能改进: 通过采用新的Cache Fusion结构获得无比优异的伸缩性能。真正实现了透明的、高速增长的集群功能。
* 连续数据可用性: 这一新特性极大地减少了计划和非计划中的系统宕机。实现了零数据丢失。
* 集成的系统管理: 所有关键电子商务组件共享一个完整统一的界面。
* 最安全的互联网平台。
* 实时的商务智能
我们了解到在中、小企业的应用中,Oracle是广泛使用的一种数据库。相比微软的SQL Server2000,Oracle9i提供更高的性能和更可靠的支持,当然,同时也占用了系统更多的资源,所以对服务器也提出了更高的要求,我们的目的也正是通过这次评测对服务器的性能做一个横向的比较,给中、小企业用户选择服务器的时候做一个参考。
在选择服务器的时候性能是一个主要的因素,只有高性能高可靠性的服务器才会给企业带来利益,如果服务器的性能影响了企业正常工作以及和外界沟通,必定会影响到企业的效益。设想一下,如果同样是处理一个定单,竞争对手只要1秒,而你却要5秒,这样,要么是客户被对手抢走,最后企业支撑不下去;要么是提高我们的效率,将时间缩短到0.5秒。相信企业都会选择后者,所以性能是服务器选择的最重要因素,我们安排这一次的性能测试,也是为了给我们的读者一个客观的量化的比较,在选择服务器的时候借鉴一下。
随着国内PC市场的增长减缓,厂家的目光逐渐向服务器市场转移。而企业用户在选择服务器的时候,面对众多的服务器品牌和厂家,如何选择适合自己的服务器成为一个现实的问题。而性能是和具体的应用密不可分的,现在Intenet已经成为人们生活、工作中不可分割的一部分,基于Internet的应用正在逐渐取代传统的客户机/服务器(Client/Server)模式,成为各种应用软件的主流模式。在这样的B/S系统中,主要的工作由服务器一端来完成,客户端只要有一个浏览器就可以满足应用的需要。同时,在系统升级和维护时大大节省了人力和物力,并且可以满足远程访问的要求。所以与传统的C/S系统相比有很大的优势,从而成为系统设计时首选的方式。在现有的已经投入使用的系统中这样的例子有很多。例如中关村科技园区海淀园的网上办公;国家图书馆的网上借阅、网上预定;火车票的网上订票……这些都是基于Web的B/S系统的实际应用,的确给我们的工作和生活带来了很大的便利。当然,任何事情都是有利有弊,由于系统中客户端不承担处理的工作,大量的工作需要在服务器端完成,加重了服务器的负担,对服务器的要求也就提高了。为此,我们组织了这次评测活动,主要的目的是通过本次基于Web方式的评测,对几款服务器加以横向的比较,给企业在选择服务器的时候作为参考。
测试方案的选择
在选择测试方案的时候,我们还是以面向应用为宗旨。目前,在中、小企业的众多应用中基于B/S方式的随处可见,无论是人事管理、物流报表、产品进销存、都有这样的例子。所以我们选择Web方式进行评测,从而使我们的评测更加贴近实际的应用,为中、小企业选择服务器的时候提供切实的依据。
我们的网络环境采用10M/100M共享到桌面的网络架构,这是我们国内最流行的网络综合布线方案。服务器通过100M网线连接到交换机。客户机和服务器使用同一个网关。客户机选择60台赛扬600MHz / 64M内存的PC作为网络客户机,我们只安装了Windows 98SE操作系统,将IE浏览器(5.0)作为客户端的访问工具。
在服务器上我们安装了Windows 2000 Server Build2195 SP2作为操作系统,数据库采用Oracle9i,全部采用默认安装,保证每个服务器软件环境的相似性。在操作系统上我们之所以选择Windows操作系统,是因为在中小企业应用中,基于Windows操作系统的应用十分流行,现在大部分用户使用的操作系统是基于Windows 2000/NT4的环境下。在数据库方面,作为全球最大的电子商务解决方案供应商,Oracle公司的数据库在全球范围内获得广泛的应用。Oracle9i比以前的版本有了一个质的飞跃,无论是功能上还是性能上都可以满足现在应用系统的要求。这个集群的、完整的数据库软件提供了400多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等都实现了新的突破,成为最完整的Internet数据库。Oracle9i作为全球最流行数据库的二代产品将对企业如何构建和部署信息技术基础架构产生深远的影响。随着企业电子商务的进一步发展,迁移到可伸缩的、安全的、集成的数据库,已成为企业用户强化自身电子商务应用环境的有效途径。
在Web Server方面我们使用微软的IIS5.0,在Windows平台的服务器上这是使用十分广泛的一个Web Server,大多数Windows平台的服务器上面都在使用IIS作为Web Server。在IIS上使用的最广泛的就是ASP这种服务器端脚本语言了,所以我们用ASP编写了一部分代表B/S应用的小程序。主要包括数据库的插入和查询,目的是模仿实际应用当中常见的操作。我们实际的系统当中经常要进行大量的并行的查询操作。比如在图书馆的网上查询当中,我们每次提交的查询请求都要到数据库中做相应的查询操作。而往往是同时有很多人在做这样的查询。还有企业的MIS应用中各种数据的查询,无论是库存、结款、发货还是入库都需要进行查询的操作,这就要求服务器能够面临这样的考验。这样的操作对系统的性能要求是比较高的,所以我们在评测当中模仿了这样的操作。同时,数据的写入对于系统的I/O操作也是一个衡量的重要因素,我们知道现在的服务器中磁盘对于系统的性能是一个关键的因素,大多数时候瓶颈发生在I/O部分。而实际的应用当中,我们检索数据的时候、插入数据的时候都不可避免地要用到I/O操作,尤其是在数据量比较大的时候,我们要在数据库文件中长时间地扫描以寻找我们需要的记录,比如在全部的注册商标当中寻找是否有和我们想申请的商标雷同的,在众多的专利当中查找我们需要的项目,或者将最近的销售表单存入数据库中等等。可见这样的应用也是非常普遍的,所以我们也使用了并行数据写入的测试程序。
在监测性能的时候,我们还结合Windows的性能监视器以及Oracle提供的utlbstat.sql和utlestat.sql生成报表。
值得关注的是我们这次的评测中服务器的磁盘大都采用了RAID(Redundant Array of Inexpensive Disks,简称RAID)技术,RAID对于提高服务器的I/O性能有很大的帮助,下面简单介绍一下RAID的几个级别:
RAID 0:主机要求写入数据时,RAID控制器将数据分成许多块,然后并行地将它们写到磁盘阵列中的各个硬盘上;读出数据时,RAID控制器从各个硬盘读取数据,把这些数据恢复为原来顺序后传给主机。这种方法的优点是采用数据分块、并行传送方式,能够提高主机读写速度,并且磁盘阵列中存储空间没有冗余。但它对系统可靠性没有任何提高,任一个硬盘介质出现故障时,系统无法恢复。
RAID 1:它把磁盘阵列中的硬盘分成相同的两组,互为镜像,当任一磁盘介质出现故障时,可以利用其镜像上的数据恢复,从而提高系统的容错能力。对数据的操作仍采用分块后并行传输方式。所以RAID1不仅提高了读写速度,也加强系统的可靠性。但其缺点是硬盘的利用率低,冗余度为50%。
RAID 3:同RAID 0一样,RAID 3也采用数据分块并行传送的方法,但所不同的是它在数据分块之后计算它们的奇偶校验和,然后把分块数据和奇偶校验信息一并写到硬盘阵列中。采用这种方法对数据的存取速度和可靠性都有所改善,当阵列中任一硬盘损坏时,可以利用其他数据盘和奇偶校验盘上的信息重构原始数据。在硬盘利用率方面,RAID 3比RAID 1要高,例如由5个硬盘组成的阵列,冗余度只有20%。不过,RAID 3也有缺点,由于奇偶校验信息固定存储在一个硬盘上,使该硬盘负担较重,从而产生新的瓶颈。
RAID 5:与RAID 3所采用的数据处理方法相似,所不同的是它把奇偶较验信息交叉写到阵列中的每个硬盘上,从而克服了RAID 3中的瓶颈问题。
至于 RAID 2和RAID 4:这两个级别在实际中很少应用,多数系统也不支持。
应用了RAID之后,系统的I/O性能得到了很大的提高,从而解决了一部分I/O瓶颈,提高服务器的整体性能。
在评测当中我们主要使用了下面的指标:
Processor Queue Length
如果处理器列队中总是有两个以上的线程通常表示处理器堵塞。表明CPU存在瓶颈,应当考虑增加CPU。
% Processor Time
指处理器执行非闲置线程时间的百分比。这个计数器用来作为处理器活动的主要指示器。如果该参数值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。
Avg. Disk Queue Length
指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。表征磁盘性能的参数,如果该值持续走高,表明存在I/O瓶颈。
Transition Faults/sec
是
查看本文来源