Linux认证 百分网手机站

Linux系统Web服务器性能测试

时间:2018-04-23 19:54:20 Linux认证 我要投稿

Linux系统Web服务器性能测试

  linux作为一种免费的开源操作系统,正越来越受到人们的重视。linux系统的Web服务器性能如何测试呢?下面跟yjbys小编一起来看看吧!

  一、基于linux的Web服务器的重要性

  linux作为一种免费的开源操作系统,正越来越受到人们的重视。随着稳定的Linux 2.4内核发布日期的临近和Intel IA-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(Security Socket Layer)。但是Apache服务器在缺省情况下并没有提供对SSL的有效支持,因此要想利用WebBench测试Apache服务器的电子商务性能,就需要重新配置Apache服务器使之支持SSL。下面就以Redhat linux6.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)解压缩:

  # tar zxvf apache*.tgz

  # tar zxvf openssl*.tgz

  # tar zxvf modssl*.tgz

  3)更改perl可执行文件的目录

  # cd /openssl*/util

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

  4)编译配置

  # cd openssl-0.9.x

  # sh config

  -fPIC

  # make

  # make test

  # cd mod-ssl*

  # ./configure

  --with-apache=/apache_1.3.12 --with-ssl=/openssl-0.9.5

  --prefix=/apache_1.3.12

  # cd apache_1.3.12

  # make

  # make certificate

  # make install

  在make certificate时会有很多的选项,主要的是选择加密算法,包括RSA(它是由R. Rivest、A. Shamir和L. Adleman三位教授于1977年提出的公开密钥密码系统,它的取名就是来自于这三位发明者的姓的第一个字母)和DSA(Digital Signature Algorithm),这时选择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

  # make certificate

  # make install

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

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

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

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

  SMP(Symmetric MultiProcessing),即:对称多处理。指在一个计算机上汇集了一组处理器(多CPU)。它们共享内存及总线结构,系统将处理任务队列对称地分布于多个CPU上,从而极大地提高了系统的数据处理能力。Windows2000采用了SMP,一般情况下,双CPU的服务器比单CPU服务器性能提高70%左右。而linux系统对于SMP技术并不敏感,根据测试结果显示,使用双PentiumIII800CPU比单CPU的Web服务器性能没有显著的提高。

  与SMP相比,集群技术更易于实现,它开发周期短,而且造价低。虽然节点之间数据传输的速度比SMP总线低,但是它的可扩展性远远超过了 SMP,在一个集群中可以很轻松地支持256个CPU。同时,由于各节点之间使用了松散耦合的方式连接,可以在系统正在运行的情况下方便地更换或添加节点,因此它的可靠性与可扩展性也优于目前的SMP技术,但是同时我们应该注意到的是集群技术的主要局限在网络的瓶颈上,对于关键的节点甚至使用千兆网,这是一般用户无法承受的。因此在选择上应该考虑到这个问题。