`
Jatula
  • 浏览: 276659 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

apache 压力测试

阅读更多
1.apache安装
    下载:
        从Apache官方网站http://httpd.apache.org/download.cgi下载httpd-2.0.58.tar.gz。
    安装:
 先解压缩tar文件
 tar -zxvf httpd-2.0.58.tar.gz
 ./configure --prefix=/usr/local/apache2test --enable-so --enable-shared=max --with-mpm=worker --enable-deflate --enable-headers --enable-rewrite --enable-proxy --enable-proxy --enable-ssl --with-ssl=/path/to/install/openssl_0.97i --enable-modules=all && make && make install
 (这是正式服务器上的apache2的编译参数,其中--with-mpm=worker --with-ssl=/path/to/install/openssl_0.97i可以根据实际情况做出修改)
 然后安装php,并且在/usr/local/apache2test/conf目录下的httpd.conf里面的DSO支持之后加入
  AddType application/x-httpd-php .php .phtml .html .htm
  AddType application/x-httpd-php-source .phps
 最后将测试的php网页文件添加到/usr/local/apache2test/htdocs目录下。
 
2.测试工具说明以及安装
    ab:
 ab是Apache超文本传输协议(HTTP)的性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求;
    概要:运行/usr/local/apache-install-path/bin/ab -help查看ab的具体命令选项;
  命令选项-c concurrency 一次产生的请求个数。默认是一次一个。
  -n requests 在测试会话中所执行的请求个数。 默认时,仅执行一个请求,但通常其结果不  具有代表意义
    运行结果:主要要注意的是以下内容
  Time taken for tests: 总共执行所花费的时间.(以上 1000 次共多久)
  Requests per second:  每秒平均可以处理多少个connection.
 备注:每次仅仅能针对一个连接做重复的测试。
 
    Siege:
 是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
 下载/安装
 Siege时一个开放源代码项目,可以在http://www.google.com上查找
 备注:最好选择2.5以上版本,因为高版本多包括一个辅助工具,能够做增量压力测试,低版本不包括此工具。
 安装:
 %./configure --prefix=/path/to/install && make && make install
 
 使用说明:
 siege使用
   在/path/to/install/bin/目录下创建需要测试的链接文件,如www.test.com.url,添加需要的测试的链接
  http://10.5.3.122/test/google.php/
  http://10.5.3.122/test/baidu.php/
  http://10.5.3.122/test/sogou.php/
   然后保存。
   siege使用样例:
  siege -c 20 -r 2 -f www.chedong.com.url
  参数说明:
  -c 20 并发20个用户
  -r 2 重复循环2次
  -f www.test.com.url 任务列表:URL列表
  
  输出样例:
  ** Siege 2.59
  ** Preparing 20 concurrent users for battle. 这次“战斗”准备了20个并发用户
  The server is now under siege.. done. 服务在“围攻”测试中:
  Transactions: 40 hits 完成40次处理
  Availability: 100.00 % 成功率
  Elapsed time: 7.67 secs 总共用时
  Data transferred: 877340 bytes 共数据传输:877340字节
  Response time: 1.65 secs 相应用时1.65秒:显示网络连接的速度
  Transaction rate: 5.22 trans/sec 平均每秒完成5.22次处理:表示服务器后台处理的速度
  Throughput: 114385.92 bytes/sec 平均每秒传送数据:114385.92字节
  Concurrency: 8.59 最高并发数 8.59
  Successful transactions: 40 成功处理次数
  Failed transactions: 0 失败处理次数
  
   bombardment使用样例:
  bombardment www.test.com.url 5 3 4 1
  初始化URL列表:www.test.com.url
  初始化为:5个用户
  每次增加:3个用户
  运行:4次
  每个客户端之间的延迟为:1秒
  输出样例和siege一致,但是会在每一次增量结束之后都有输出。
 
 
3.测试方法说明
    测试步骤:
 方法1.安装apache2后,直接使用apache2的默认设置配置,不做任何修改,进行测试;
 方法2.按照以前文档提出的Web容量规划和内存的大小,计算出相应的启动进程数,配置httpd.conf文件,再进行测试;
 ServerLimit             400
 StartServers            20
 MinSpareServers         20
 MaxSpareServers         50
 MaxClients       300
 MaxRequestsPerChild     10000
 方法3.超过极限设置,进行测试。(规划容量的2倍进行)
 
 1000个链接,分为不同的并发数请求,10、50、100、200、300、500
 ab测试:
  /usr/local/apache2.53/bin/ab -n 1000 -c 10 http://10.5.3.122/test/google.php/
  /usr/local/apache2.53/bin/ab -n 1000 -c 50 http://10.5.3.122/test/google.php/
  /usr/local/apache2.53/bin/ab -n 1000 -c 100 http://10.5.3.122/test/google.php/
  /usr/local/apache2.53/bin/ab -n 1000 -c 200 http://10.5.3.122/test/google.php/
  /usr/local/apache2.53/bin/ab -n 1000 -c 300 http://10.5.3.122/test/google.php/
  /usr/local/apache2.53/bin/ab -n 1000 -c 500 http://10.5.3.122/test/google.php/
 siege测试:
  /usr/local/siege/bin/siege -c 10 -r 100 -f www.test.com.url
  /usr/local/siege/bin/siege -c 50 -r 20 -f www.test.com.url
  /usr/local/siege/bin/siege -c 100 -r 10 -f www.test.com.url
  /usr/local/siege/bin/siege -c 200 -r 5 -f www.test.com.url
  /usr/local/siege/bin/siege -c 300 -r 3 -f www.test.com.url
  /usr/local/siege/bin/siege -c 500 -r 2 -f www.test.com.url
 增量测试:
  /usr/local/siege/bin/bombardment www.test.com.url 1 100 5 1
  /usr/local/siege/bin/bombardment www.test.com.url 1 100 6 1
 
4.测试结果总结
 ab测试:测试并发连接数在50~500的情况下,方法2比方法1性能略有提升,但是相差在10个并发连接数左右,并且方法1方法2在测试并发数100的情况下,实际并发数都相差无几。
 siege测试:测试并发数从50之后直到500,性能都有提升,并且在测试并发数100、200、500的情况下,提升相差10~30个实际并发数。
 bombardment测试:相差不大。
 本次测试的结果不太理想,性能的变化不显著,也不明显,可以所属于失败的测试结果。
 分析原因:1.本身硬件配置不高,所以默认设置和修改后的设置变化不明显,对性能的提升也明显不足;
    2.负载情况太少,由于系统性能原因,增量测试都不能过大的进行,系统性能load average过高;
    3.测试页面程序也太少,没有太大说服力。
分享到:
评论

相关推荐

    Apache压力测试工具

    Apache压力测试工具是一种用于评估服务器性能和稳定性的关键软件,主要针对Apache HTTP Server进行测试。...深入学习这些资料,将有助于你更好地掌握Apache压力测试工具的使用技巧,提高测试效率。

    apache压力测试之ab

    以上就是关于“Apache压力测试之ab”的详细讲解,希望对你理解和使用ab工具进行压力测试有所帮助。如果你对此有更多疑问,或者想交流相关经验,可以加入指定的QQ群或通过提供的联系方式与作者取得联系。

    apache压力测试.pdf

    ### Apache压力测试知识点详解 #### 一、Apache压力测试简介 Apache是一款广泛使用的Web服务器软件,为了确保其在高负载下的稳定性和性能表现,压力测试成为了一项必不可少的工作。通过模拟大量的用户请求来评估...

    Apache 压力测试工具ab

    Apache 压力测试工具ab是一个非常实用的性能测试工具,专门用于评估Apache HTTP服务器的性能。通过模拟多个并发用户发送请求,ab可以帮助管理员了解服务器在高负载下的表现,包括处理速度、吞吐量和资源利用率等关键...

    Apache 压力测试工具ab 专注接口测试 并发测试

    Apache的ab(ApacheBench)是一款简单而强大的压力测试工具,专用于接口和并发测试。在Web服务性能优化和系统负载能力评估中,ab扮演着关键角色。它可以帮助开发者和运维人员了解服务器在高并发情况下的表现,以及...

    Apache Benchmark(简称ab压力测试工具) 是Apache安装包中自带的压力测试工具 ,简单易用

    -n 即requests,用于指定压力测试总共的执行次数。 -c 即concurrency,用于指定的并发数。 -t 即timelimit,等待响应的最大时间(单位:秒)。 -b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。 -p 即...

    Apache ad 服务器压力测试

    Apache是全球最广泛使用的Web服务器软件,因此了解如何对其进行压力测试对于系统管理员和开发人员至关重要。 首先,我们要明白压力测试的基本概念。压力测试是一种测试方法,用于模拟超出正常工作条件的负载,以...

    Apache ab压力测试工具

    Apache ab压力测试工具是HTTP服务器性能评估的重要工具,主要用于测试Apache服务器在特定条件下的处理能力。这个工具简单易用,可以提供对服务器性能的详细分析,帮助管理员优化配置,提升服务器响应速度,确保在高...

    ApacheBench(压力测试)

    ApacheBench,简称ab,是一款由Apache服务器项目提供的轻量级压力测试工具。它主要用于评估Web服务器的性能,通过对服务器发送HTTP请求来模拟用户负载,从而分析服务器在一定压力下的处理能力。以下是对ApacheBench...

    压力测试工具:apache-jmeter-5.0

    Apache JMeter是一款强大的、开源的压力测试工具,专为评估应用程序的性能和稳定性而设计。它最初是为了测试Web应用,但随着时间的发展,其功能已经扩展到支持多种协议和服务,包括HTTP、FTP、SMTP、JDBC、SOAP、RMI...

    ApacheBench压力测试工具DYF

    ApacheBench是一款由Apache HTTP服务器项目开发的压力测试工具,主要用于评估Web服务器的性能。它能够模拟多个并发用户向服务器发送请求,从而分析服务器在高负载情况下的响应速度和稳定性。这款小巧但强大的工具...

    apache-bench压力测试

    Apache Bench(ab)是Apache HTTP服务器自带的一个命令行工具,用于进行HTTP服务器的压力测试和性能评估。这个工具可以帮助我们了解服务器在高并发情况下的处理能力,优化服务器配置,以及对比不同服务器软件或不同...

    Restful压力测试工具Apache Jmeter

    **Apache JMeter:高效的压力测试工具** Apache JMeter是一款开源的、Java编写的性能测试工具,主要用于测试Web应用,特别是RESTful服务。它能够模拟大量并发用户,对HTTP和FTP服务器进行压力和性能测试,从而评估...

    apache-jmeter-5.1.1项目压力测试,scoket接收测试

    在进行压力测试时,JMeter可以帮助我们评估系统在高负载下的稳定性、响应时间和资源消耗情况。通过创建测试计划,我们可以模拟不同类型的用户行为,如登录、浏览页面、提交表单等,以了解系统在真实场景下的表现。...

    ApacheBench压力并发测试

    ApacheBench,简称ab,是Apache HTTP服务器项目的一部分,它是一个简单而强大的工具,用于对Web服务器进行性能评估和压力测试。这个小巧的命令行工具可以模拟多个并发用户请求,以此来测量服务器处理这些请求的能力...

    Apache ab压力测试

    NULL 博文链接:https://2279972332.iteye.com/blog/1989163

    apache-jmeter-5.5压力测试工具

    1.写在前面 等到服务上线后,在业务压力的冲击下,会发现程序运行非常的慢,或者是宕机,莫名其妙的出现各种问题,只会进行一些无脑的硬件资源扩容,哪扩容真的能解决问题吗... Apache的ab压力测试 Nginter 韩国研发

    压力测试工具apache-jmeter-5.3

    Apache JMeter是Apache组织开发的基 于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本...

Global site tag (gtag.js) - Google Analytics