zoukankan      html  css  js  c++  java
  • apache配置优化测试

    apache配置优化测试

    apache配置优化测试
    一、apache安装
    1、先解压缩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
            可以根据实际情况做出修改。
    2、安装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目录下。
       
    3、测试工具说明以及安装
        1)、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.
            备注:每次仅仅能针对一个连接做重复的测试。
       
        2)、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一致,但是会在每一次增量结束之后都有输出。
       
    4、测试方法说明
        测试步骤:
        方法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
    5、测试结果总结
        ab测试:测试并发连接数在50~500的情况下,方法2比方法1性能略有提升,但是相差在10个并发连接数左右, 并且方法1方法2在测试并发数100的情况下,实际并发数都相差无几。
        siege测试:测试并发数从50之后直到500,性能都有提升,并且在测试并发数100、200、500的情况下,提升相差10~30个实际并发数。
        bombardment测试:相差不大。
       本次测试的结果不太理想,性能的变化不显著,也不明显,可以所属于失败的测试结果。
       分析原因:
       1.本身硬件配置不高,所以默认设置和修改后的设置变化不明显,对性能的提升也明显不足;
       2.负载情况太少,由于系统性能原因,增量测试都不能过大的进行,系统性能load average过高;
       3.测试页面程序也太少,没有太大说服力。
  • 相关阅读:
    DS博客作业03--栈和队列
    DS博客作业02--线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06--结构体&文件
    DS博客作业08--课程总结
    DS博客作业07--查找
    DS博客作业06--图
    DS博客作业05--树
    DS博客大作业--树 (陈梓灿组)
    DS博客作业03--栈和队列
  • 原文地址:https://www.cnblogs.com/buffer/p/1886066.html
Copyright © 2011-2022 走看看