Apache2性能测试on Solaris and Linux

为了客观的了解Apache的服务器性能,在此选取Apache自带的性能测试软件ApacheBench, Version 2.0.40-dev and  Version 2.3 分别作为性能测试工具。

 

1.比较现有T2000 Apache2.2.8经过优化前后的效果

Webserver IP10.56.234.31

优化前httpd.conf

----------------------------------------------------------------------

<IfModule prefork.c>

           StartServers        10

           MinSpareServers     50

           MaxSpareServers    100

           ServerLimit     10000

           MaxClients        10000

           MaxRequestsPerChild  0

</IfModule>

----------------------------------------------------------------------

优化后httpd.conf

----------------------------------------------------------------------

<IfModule prefork.c>

           StartServers        150

           MinSpareServers     10

           MaxSpareServers    20

           ServerLimit     20000

           MaxClients        20000

           MaxRequestsPerChild 10000

</IfModule>

----------------------------------------------------------------------

测试命令: /opt/apache2.2.8/bin/ab -n 10000 -c 1000 http://127.0.0.1/pete/20kb/automot.jpg

测试方法: 访问20kbjpg图片来获取tps数据,为了排除网络因素,选取127.0.0.1本地环路地址。

测试结果:

    ----------------------------------------------

    使用ApacheBench v2.0进行测试

    apache2.2.8(20k) 优化前 1657tps

    apache2.2.8(20k) 优化后 1666tps

    ---------------------------------------------

    使用 ApacheBench v2.3进行测试

    apache2.2.8(20k) 优化前 1765tps

    apache2.2.8(20k) 优化后 1822tps

    -----------------------------------------------

测试结论:由于这个Apache2.2.8版本没有编入worker.c模块,无法进行worker优化。但是,单独就对prefork的优化,发现性能提升很小。基本保持以后的水平。同时我们发现,测试结果受到T2000机器状态影响很大。所以,本测试基本在没有其他压力的情况下进行。

 

 

2.比较现有T2000Apache2.2.8Apache2.2.11优化后的性能

Webserver IP10.56.234.31

配置:

a. Apache2.2.8优化后配置请见step1

b.Apache2.2.11中对于httpd-mpm.conf优化:

----------------------------------------------------------------------

# prefork MPM

# StartServers: number of server processes to start

# MinSpareServers: minimum number of server processes which are kept spare

# MaxSpareServers: maximum number of server processes which are kept spare

# ServerLimit: maximum value for MaxClients for the lifetime of the server

# MaxClients: maximum number of server processes allowed to start

# MaxRequestsPerChild: maximum number of requests a server process serves

<IfModule prefork.c>

StartServers       150

MinSpareServers    10

MaxSpareServers    20

ServerLimit        20000

MaxClients         20000

MaxRequestsPerChild 10000

</IfModule>

# worker MPM

# StartServers: initial number of server processes to start

# MaxClients: maximum number of simultaneous client connections

# MinSpareThreads: minimum number of worker threads which are kept spare

# MaxSpareThreads: maximum number of worker threads which are kept spare

# ThreadsPerChild: constant number of worker threads in each server process

# MaxRequestsPerChild: maximum number of requests a server process serves

<IfModule worker.c>

StartServers         2

MaxClients         1500

MinSpareThreads     25

MaxSpareThreads     75

ThreadsPerChild     25

MaxRequestsPerChild  0

</IfModule>

 

同时在httpd.conf中打开httpd-mpm.conf注释。在编译Apache2.2.11worker模块时修改了worker源代码,

# vi server/mpm/worker/worker.c
找到下面几行,并改成如下的数值,其目的是在源码中修改apache可支持的最大线程数和最大客户端数目。
# define DEFAULT_SERVER_LIMIT 256
# define MAX_SERVER_LIMIT 40000
# define DEFAULT_THREAD_LIMIT 256
# define MAX_THREAD_LIMIT 40000

 

----------------------------------------------------------------------

测试命令:

 /opt/apache2.2.8/bin/ab -n 10000 -c 1000 http://127.0.0.1/automot.jpg

 /opt/apache2.2.8/bin/ab -n 10000 -c 1000 http://127.0.0.1/pete/20kb/automot.jpg

 /opt/apache2.2.11/bin/ab -n 10000 -c 1000 http://127.0.0.1/automot.jpg

 /opt/apache2.2.11/bin/ab -n 10000 -c 1000 http://127.0.0.1/pete/20kb/automot.jpg

 

测试方法: 访问20kbjpg图片来获取tps数据,为了排除网络因素,选取127.0.0.1本地环路地址。

测试结果:

    -----------------------------------------------

    使用ApacheBench v2.0进行测试

    apache2.2.8(20k) 1631tps

    apache2.2.11(20k) 1581tps

    -----------------------------------------------

    ----------------------------------------------

    使用ApacheBench v2.3进行测试

    apache2.2.8(20k) 1773tps

    apache2.2.11(20k) 1747tps

    ----------------------------------------------

测试结论:

Apache2.2.8Apache2.2.11经过优化后的测试结果相近。

 

 

 

3.比较CMCC的机遇HP BladeApache2.0.52的性能

Webserver IP:10.56.135.64

优化配置:同step2Apache2.2.11配置

测试命令:

/opt/apache2.2.8/bin/ab -n 10000 -c 1000 http://10.56.135.64/automot.jpg

/usr/bin/ab -n 10000 -c 1000 http://10.56.135.64/automot.jpg

测试方法:访问20kbjpg图片来获取tps数据,为了排除网络因素,选取127.0.0.1本地环路地址。

测试结果:

    -----------------------------------------------

    使用ApacheBench v2.0.1.141进行测试

    Apache2.0.52(20k) 3773tps

    -----------------------------------------------

    ----------------------------------------------

    使用ApacheBench v2.0.1.146进行测试

    Apache2.0.52(20k) 7556tps

    ----------------------------------------------

 

测试结论:测试工具的版本差异会造成结果的巨大差异。但是,总的来说,CMCC HP Blade  webserver性能在此项测试中要优于T2000 Webserver。初步怀疑是硬件系统架构差异引起的性能差异。

 

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值