当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 基于Linux的Web服务器性能测试

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 基于Linux的Web服务器性能测试


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 55 ::
收藏到网摘: n/a


摘要:Linux作为一种免费的开源操作系统,正越来越受到人们的重视。随着稳定的Linux2.4内核发布日期的临近和IntelIA-64构架的推出,Linux在服务器操作系统市场所占的份额会继续扩大,那么基于Linux的应用也就会日益丰富。而在Internet时代,操作系统最广阔的市场空间就是Web服务器,正是遍布全球的千千万万的Web服务器才构成了因特网信息资源的基础,而Web服务器性能的优劣直接关系到人们对信息资源的利用效率,因此对Web服务器性能的测试就显得非常必要

一、基于Linux的Web服务器性能测试的重要性

Linux作为一种免费的开源操作系统,正越来越受到人们的重视。随着稳定的Linux2.4内核发布日期的临近和IntelIA-64构架的推出,Linux在服务器操作系统市场所占的份额会继续扩大,那么基于Linux的应用也就会日益丰富。而在Internet时代,操作系统最广阔的市场空间就是Web服务器,正是遍布全球的千千万万的Web服务器才构成了因特网信息资源的基础,而Web服务器性能的优劣直接关系到人们对信息资源的利用效率,因此对Web服务器性能的测试就显得非常必要。

二、以运行在Linux平台的Apache服务器为例,谈Web服务器的性能测试

Web服务器的性能不仅仅和Web服务器软件本身有关,它还和服务器硬件设计水平和服务器操作系统有很大的关系,因此Web服务器性能测试是一项综合性能的测试。目前在全球Web服务器软件市场上Apache服务器占到了60%以上的市场份额。下面就以运行在Linux平台上的Apache服务器为例,谈谈如何进行Web服务器性能的测试。

1.Web服务器性能测试的工具

Web服务器的性能测试工具很多,比较著名的有WebStone和WebBench,这两个工具虽然实现的方法有所不同,但是测试指标是相同的,即都是测试每秒最大请求响应数和数据吞吐量。

2.Apache服务器支持SSL协议的配置

随着电子商务的发展,webBench2.0还增加了电子商务测试集,这就需要Apache服务器支持SSL(SecuritySocketLayer)。但是Apache服务器在缺省情况下并没有提供对SSL的有效支持,因此要想利用WebBench测试Apache服务器的电子商务性能,就需要重新配置Apache服务器使之支持SSL。下面就以RedhatLinux6.1,Apache1.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

把perlpath.pl文件开始的#!/usr/local/bin/perl改成现在操作系统中perl的目录,在RedHatLinux中是#!/usr/bin/perl。然后运行./perlpath.pl/usr/bin即可。

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

在makecertificate时会有很多的选项,主要的是选择加密算法,包括RSA(它是由R.Rivest、A.Shamir和L.Adleman三位教授于1977年提出的公开密钥密码系统,它的取名就是来自于这三位发明者的姓的第一个字母)和DSA(DigitalSignatureAlgorithm),这时选择RSA即可,接下来会有包括国家名,单位名,认证有效期等等需要输入的信息。这些步骤完成之后,会产生一个server.crt和server.key文件,注意server.key文件一定要保密,接下来就是输入连接用户名和口令。

以上工作全部结束后,会生成三个服务器认证文件,他们分别是:

/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-BASE=/openssl*
./configure
--enable-module=ssl
--prefix=/apache_1.3.12
#make
#makecertificate
#makeinstall

3.测试Web服务器的吞吐量和每秒最大请求响应数

全部编译完成之后的apache就可以支持ssl,但是要想进行WebBench的测试,还需要配置/apache/conf/http.conf文件,最关键的是要打开ssl的监听端口443,并且把documentroot和Webbench3.0所在的目录对应起来。然后在/apache*/bin/下运行apachectlstartssl执行电子商务子集测试,运行apachectlstart执行普通的测试,通过控制台和客户端WebBench软件的配合就可以测试出当前系统配置下Web服务器的吞吐量和每秒最大请求响应数。

三、WEB服务器测试结果分析

1.SMP技术与服务器集群技术

SMP(SymmetricMultiProcessing),即:对称多处理。指在一个计算机上汇集了一组处理器(多CPU)。它们共享内存及总线结构,系统将处理任务队列对称地分布于多个CPU上,从而极大地提高了系统的数据处理能力。Windows2000采用了SMP,一般情况下,双CPU的服务器比单CPU服务器性能提高70%左右。而Linux系统对于SMP技术并不敏感,根据测试结果显示,使用双PentiumIII800CPU比单CPU的Web服务器性能没有显著的提高。与SMP相比,集群技术更易于实现,它开发周期短,而且造价低。虽然节点之间数据传输的速度比SMP总线低,但是它的可扩展性远远超过了SMP,在一个集群中可以很轻松地支持256个CPU。同时,由于各节点之间使用了松散耦合的方式连接,可以在系统正在运行的情况下方便地更换或添加节点,因此它的可靠性与可扩展性也优于目前的SMP技术,但是同时我们应该注意到的是集群技术的主要局限在网络的瓶颈上,对于关键的节点甚至使用千兆网,这是一般用户无法承受的。因此在选择上应该考虑到这个问题。

2.系统内存的影响

在Linux系统下,有一点需要注意:对于某些BIOS来说,如果超过64MB内存就需要在LILO.CONF中加入扩展内存的命令,否则服务器内存显示只有64MB。我们对64MB内存和128MB内存的服务器进行测试,结果表明:内存对Web性能的影响是巨大的,尤其是在大负载下的性能提高得很快。笔者认为,对于部门级服务器而言,由于CPU速度、网络带宽、磁盘性能的限制,512MB-1G内存是比较适宜的。

3.64位操作系统与64位服务器

对于Linux界来说Tru64Linux系统的推出是一件大事。我们分别在天兆阳光的Alpha、杜文的SparcII的服务器上作了RedHat6.2的Web性能测试。但是测试结果并非像想象中的那样令人满意。笔者分析有以下几个原因:首先,不合时宜的测试集。我们所使用的测试工具WebBench还没有64位Linux的测试集,没有充分考虑到64位的高带宽、海量存储等优势。第二,Tru64Linux系统与64位硬件系统的配合还存在一定的问题,它毕竟不象Solaris是SUN定制开发的支持64位运算的操作系统。

4.Apache服务器的优化

Apache服务器系统的优势之一就是可以对其进行优化。笔者认为主要分为应用级和代码级两种优化方式。应用级优化比较简单,主要是对HTTPD.conf、ACCESS.conf、SRM.conf三个配置文件中的参数进行配置。本次测试中没有对系统作优化,只是针对64位服务器系统性能好的特点,将最大进程数从默认的150提高到了1000,减少了CPU杀掉进程的时间,测试后发现Web性能提高了10%。而对于代码级的优化相对复杂得多,并且可以参考的实例不多,希望在以后的测试中进一步体会。总之,Linux操作系统应用于Web服务器有许多优势,如:服务器大负载稳定性好等,相信许多Web用户都有很深的体会。

WebBench介绍

WebBench是一个主要用来考查Web服务器性能的测试工具。它的测试结构与ServerBench相同,同样采用服务器、客户端和控制台三种方式。WebBench在Web服务器端安装测试文件,这些文件主要由HTML、GIF和可执行文件组成,利用客户端计算机来模拟Web浏览器向Web服务器发送请求。但是,在客户端并不使用真正的浏览器,也不真正显示服务器发送的响应文件,而是在收到Web服务器的响应后立即纪录该响应的相关信息,并立即发送另外一个请求。通过这种方法来测试Web服务器每秒处理的请求数和数据吞吐量。WebBench测试可以分为普通测试和电子商务测试:普通的测试集由静态和动态请求组成;而电子商务测试集由8%的安全请求和92%的非安全请求组成。在电子商务测试中,Web服务器需要支持SSL(SecureSocketLayer)协议,它是Web服务器上使用广泛的基本安全措施,可向基于TCP/IP协议的Client/Server应用程序提供Client/Server端的鉴别、数据完整性和信息机密性等安全措施。

ServerBench介绍

ServerBench是一个著名应用服务器性能测试工具,它主要在Client/Server环境下测试应用服务器的处理器性能、网络性能和系统性能。其中,应用服务器系统的综合性能测试(sys)是ServerBench最基准的测试。这次测试我们也主要测试了综合性能(sys)和处理器性能(proc)两项。

ServerBench的