
一、基于linuxWeb服务器性能测试的重要性
linux作为一种免费的开源操作系统,一、基于linuxWeb服务器性能测试的重要性
谈Web服务器的性能测试二、以运行在linux平台的Apach服务器为例。
还和服务器硬件设计水平和服务器操作系统有很大的关系,Web服务器的性能不只仅和Web服务器软件自身有关。因此Web服务器性能测试是一项综合性能的测试。目前在全球Web服务器软件市场上Apach服务器占到60%以上的市场份额。下面就以运行在linux平台上的Apach服务器为例,谈谈如何进行Web服务器性能的测试。
1.Web服务器性能测试的工具
比较著名的有WebSton和WebBench这两个工具虽然实现的方法有所不同,Web服务器的性能测试工具很多。但是测试指标是相同的即都是测试每秒最大请求响应数和数据吞吐量。
2.A pach服务器支持SSL协议的配置
webBench2.0还增加了电子商务测试集,随着电子商务的发展。这就需要Apach服务器支持SSLSecurSocketLayer但是Apach服务器在缺省情况下并没有提供对SSL有效支持,因此要想利用WebBench测试Apach服务器的电子商务性能,就需要重新配置Apach服务器使之支持SSL下面就以Redhatlinux6.1Apache1.3.9为平台讲一下具体的配置方法:
1下载Apache1.3.9
http://www.apache.org
Openssl-0.9.5
http://www.openssl.org
Mode-ssl-2.6.0
http://www.modssl.org
2解压缩:
#tarzxvfapache*.tgz
#tarzxvfopenssl*.tgz
#tarzxvfmodssl*.tgz
3更改perl可执行文件的目录
#cd/openssl*/util
RedHatlinux中是#!/usr/bin/perl然后运行./perlpath.pl/usr/bin即可。把perlpath.pl文件开始的#!/usr/local/bin/perl改成现在操作系统中perl目录。
4编译配置
#cdopenssl-0.9.x
#shconfig
-fPIC
#make
#maketest
#cdmod-ssl*
#./configure
--with-apache=/apache_1.3.12--with-ssl=/openssl-0.9.5
--prefix=/apache_1.3.12
#cdapache_1.3.12
#make
#makecertificate
#makeinstall
主要的选择加密算法,makecertif时会有很多的选项。包括RSA 由R.RivestA.Shamir和L.Adleman三位教授于1977年提出的公开密钥密码系统,取名就是来自于这三位发明者的姓的第一个字母)和DSA DigitSignaturAlgorithm这时选择RSA 即可,接下来会有包括国家名,单位名,认证有效期等等需要输入的信息。这些方法完成之后,会产生一个server.crt和server.kei文件,注意server.kei文件一定要保密,接下来就是输入连接用户名和口令。
会生成三个服务器认证文件,以上工作全部结束后。分别是
/apache*/conf/ssl.key/server.key
/apache*/conf/ssl.crt/server.crt
/apache*/conf/ssl.csr/server.csr
#cd/mod-ssl*
#./configure
--with-apache=/apache_1.3.12
--with-crt=/apache_1.3.12/conf/ssl.crt/server.crt
--with-key=/apache_1.3.12/conf/ssl.key/server.key
#cd/apache*
#SSL-BA SE=/openssl*
./configure
--enable-module=ssl
--prefix=/apache_1.3.12
#make
#makecertificate
#makeinstall
3.测试Web服务器的吞吐量和每秒最大请求响应数
还需要配置/apache/conf/http.conf文件,全部编译完成之后的apach就可以支持ssl但是要想进行WebBench测试。最关键的要打开ssl端口443并且把documentroot和Webbench3.0所在目录对应起来。然后在/apache*/bin/下运行apachectlstartssl执行电子商务子集测试,运行 apachectlstart执行普通的测试,通过控制台和客户端WebBench软件的配合就可以测试出当前系统配置下Web服务器的吞吐量和每秒最大请求响应数。
三、WEB服务器测试结果分析
1.SMP技术与服务器集群技术
系统将处置任务队列对称地分布于多个CPU上,SMPSymmetrMultiProcess即:对称多处理。指在一个计算机上汇集了一组处理器(多CPU共享内存及总线结构。从而极大地提高了系统的数据处置能力。Windows2000采用了SMP一般情况下,双CPU服务器比单CPU服务器性能提高70%左右。而linux系统对于SMP技术并不敏感,根据测试结果显示,使用双PentiumIII800CPU比单CPUWeb服务器性能没有显著的提高。
集群技术更易于实现,与SMP相比。开发周期短,而且造价低。虽然节点之间数据传输的速度比SMP总线低,但是可扩展性远远超过了SMP一个集群中可以很轻松地支持256个CPU同时,由于各节点之间使用了松散耦合的方式连接,可以在系统正在运行的情况下方便地更换或添加节点,因此它可靠性与可扩展性也优于目前的SMP技术,但是同时我应该注意到集群技术的主要局限在网络的瓶颈上,对于关键的节点甚至使用千兆网,这是一般用户无法接受的因此在选择上应该考虑到这个问题。
2.系统内存的影响
有一点需要注意:对于某些BIOS来说,linux系统下。如果超越64MB内存就需要在LILO.CONF中加入扩展内存的命令,否则服务器内存显示只有64MB对64MB内存和128MB内存的服务器进行测试,结果标明 内存对Web性能的影响是巨大的尤其是大负载下的性能提高得很快。
对于部门级服务器而言,笔者认为。由于CPU速度、网络带宽、磁盘性能的限制,512MB-1G内存是比较适宜的
3.64位操作系统与64位服务器
不合时宜的测试集。所使用的测试工具WebBench还没有64位Linux测试集,对于linux界来说Tru64Linux系统的推出是一件大事。分别在天兆阳光的Alpha杜文的SparcII服务器上作了RedHat6.2Web性能测试。但是测试结果并非像想象中的那样令人满意。笔者分析有以下几个原因:首先。没有充分考虑到64位的高带宽、海量存储等优势。第二,Tru64Linux系统与64位硬件系统的配合还存在一定的问题,终究不象SolariSUN定制开发的支持64位运算的操作系统。
4.A pach服务器的优化
主要是对HTTPD.confACCESS.confSRM.conf三个配置文件中的参数进行配置。本次测试中没有对系统作优化,Apach服务器系统的优势之一就是可以对其进行优化。笔者认为主要分为应用级和代码级两种优化方式。应用级优化比较简单。只是针对64位服务器系统性能好的特点,将最大进程数从默认的150提高到1000减少了CPU杀掉进程的时间,测试后发现Web性能提高了10%而对于代码级的优化相对复杂得多,并且可以参考的实例不多,希望在以后的测试中进一步体会。
linux操作系统应用于Web服务器有许多优势,总之。如:服务器大负载稳定性好等,相信许多Web用户都有很深的体会。
WebBench介绍
同样采用服务器、客户端和控制台三种方式。WebBenchWeb服务器端装置测试文件,WebBench一个主要用来考查Web服务器性能的测试工具。测试结构与ServerBench相同。这些文件主要由HTMLGIF和可执行文件组成,利用客户端计算机来模拟Web浏览器向Web服务器发送请求。但是客户端并不使用真正的浏览器,也不真正显示服务器发送的响应文件,而是收到Web服务器的响应后立即纪录该响应的相关信息,并立即发送另外一个请求。通过这种方法来测试Web服务器每秒处理的请求数和数据吞吐量。WebBench测试可以分为普通测试和电子商务测试:普通的测试集由静态和动态请求组成;而电子商务测试集由8%的平安请求和92%的非平安请求组成。电子商务测试中,Web服务器需要支持SSLSecurSocketLayer协议,Web服务器上使用广泛的基本平安措施,可向基于TCP/IP协议的Client/Serv应用顺序提供Client/Serv端的鉴别、数据完整性和信息机密性等安全措施。
ServerBench介绍
主要在Client/Serv环境下测试应用服务器的处置器性能、网络性能和系统性能。其中,ServerBench一个著名应用服务器性能测试工具。应用服务器系统的综合性能测试(syServerBench最基准的测试。这次测试我也主要测试了综合性能(sy和处置器性能(proc两项。