为了客观的了解Apache的服务器性能,在此选取Apache自带的性能测试软件ApacheBench,
Version 2.0.40-dev and
Version 2.3 分别作为性能测试工具。
1.比较现有T2000 Apache2.2.8经过优化前后的效果
Webserver
IP:10.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
测试方法: 访问20kb的jpg图片来获取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.比较现有T2000上Apache2.2.8和Apache2.2.11优化后的性能
Webserver IP:10.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.11的worker模块时修改了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
测试方法: 访问20kb的jpg图片来获取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.8和Apache2.2.11经过优化后的测试结果相近。
3.比较CMCC的机遇HP Blade的Apache2.0.52的性能
Webserver
IP:10.56.135.64
优化配置:同step2中Apache2.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
测试方法:访问20kb的jpg图片来获取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。初步怀疑是硬件系统架构差异引起的性能差异。
分享到:
相关推荐
### Apache启动问题与Solaris服务管理器(SMF)详解 #### 引言 Apache作为全球最广泛使用的Web服务器之一,其稳定性和性能受到广大用户的认可。然而,在部署或维护过程中,用户可能会遇到Apache启动问题,尤其是在...
Unix based systems (Linux, Solaris and Mac OS X) and others: No minimum requirement. Installing Maven ---------------- 1) Unpack the archive where you would like to store the binaries, eg: ...
6. **性能测试**:使用工具如ab(ApacheBench)进行基准测试,确保性能得到了实际提升。 #### 四、PHP加速 除了Apache本身的优化外,PHP作为常用的Web开发语言之一,其性能也直接影响着整个网站的速度。以下是两种...
Unix based systems (Linux, Solaris and Mac OS X) and others: No minimum requirement. Installing Maven ---------------- 1) Unpack the archive where you would like to store the binaries, e.g.: ...
You will find details for using Tomcat on all major platforms, including Windows, Linux, OS X, Solaris, and FreeBSD, along with specifics on Tomcat configuration files, and step-by-step advice for ...
过去,微软与Linux被视为竞争对手,但如今,微软已认识到Linux和开源软件的重要性,并开始支持在其Windows平台上运行开源应用,如Apache on Windows。与此同时,Linux平台上运行的商业软件也在增长,这表明开发者...
例如,Windows的TTL基数通常是128,而Linux系统的TTL基数可能为255(旧版Red Hat Linux和Solaris)或64(FreeBSD和新版Red Hat Linux)。要改变这个值,可以编写自定义的TCP/IP堆栈或在iptables规则中添加伪装TTL的...
5. **跨平台兼容**:支持多种操作系统和硬件架构,如Linux、Solaris、FreeBSD、Windows等。 6. **丰富的应用程序支持**:提供了C、C++、Java、Perl、PHP和Python等多种语言的API,方便开发。 7. **功能强大**:...
RazorSQL is an SQL query tool, database browser, SQL editor, and database administration tool for Windows, Mac OS X, Linux, and Solaris. RazorSQL has been tested on over 29 databases, can connect to ...
在Linux环境中,Nginx是一款广泛应用的开源Web服务器和反向代理服务器,以其高性能、稳定性以及模块化的特性而著名。Nginx的工作原理基于事件驱动模型,能够在处理高并发请求时展现出优秀的性能,因此在互联网行业中...
On Solaris: ulimit -n 1024 set rlim_fd_cur=1024 Acknowledgments ---------------- The Apache Lucene project is the basis for this software, so the biggest acknoledgment goes to that project. We wish...
这里推荐使用OTK脚本安装Oracle,会大大提高安装Oracle的成功系数。 Description oraToolKit is the ... OTK runs on Linux, zLinux, Solaris, AIX, HP-UX and other UNIX based systems. 来自 <http://sourcefo
It has been tested with PostgreSQL, Oracle, DB2,Apache, Netscape, Mozilla, Galeon, Explorer, Links, Lynx,Konqueror, Voyager, W3M and Opera clients on Linux, FreeBSD,Solaris, Windows, Mac computers ...
Flex产品包含了Apache Software Foundation开发的软件,以及Macromedia Flash8视频中采用的On2 TrueMotion视频技术。这反映了Flex框架不仅限于Adobe内部的技术,还整合了外部开源社区的成果,增强了其功能性和兼容性...
对于初学者和开发者来说,XAMPP 提供了一站式的解决方案,支持 Windows、Solaris、Mac OS X 和 Linux 系统。 安装 XAMPP 的步骤如下: 1. 以管理员权限运行 XAMPP 的安装程序。 2. 在安装过程中,可以选择将 XAMPP ...
与专属于特定操作系统的数据库不同,MySQL在平台兼容性方面表现出色,支持超过20种操作系统,包括但不限于Linux、Windows、Mac OS、Solaris和HP-UX等。这种广泛的平台支持意味着MySQL用户无需受限于单一的操作系统,...
Java Web Start技术不仅支持Windows环境,同时也适用于Linux、Unix(如Solaris)以及较新版本的Macintosh OS X操作系统。部署过程通常采用HTTP协议,这意味着可以利用任何HTTP服务器。为了充分利用Java Web Start...
它支持多种操作系统,包括Windows、Solaris、Mac OS X和Linux,使得配置AMP服务器变得更加简单。 #### 四、Software准备 1. **下载XAMPP**:访问官方网站或其他可信赖的网站下载XAMPP安装包。本文以duote.com为例。...
Macromedia Flash 8 视频由 On2 TrueMotion 视频技术驱动。 ### 六、示范用途的公司名称 在示例模板中提及的公司名称仅供演示之用,并非意图指向任何实际组织。 通过上述分析,我们可以看出《Flex 2 开发者指南》...