• 高并发压力测试


    为什么要压力测试

    1)帮助我们了解服务器的性能以及并发

        2)帮助我们查找程序问题

        3)帮助我们了解网站的并发量

        4)了解业务系统的瓶颈

        5)了解服务器硬件的瓶颈

    使用apache的ab.exe进行压力测试

    -n

    即requests,用于指定压力测试总共的执行次数。

    -c

    即concurrency,用于指定压力测试的并发数。

    使用ab进行压力测试

    我们对位于本地Apache服务器上、URL为localhost/index.php的页面进行压力测试。测试总次数为1000,并发数为100(相当于100个用户同时访问,他们总共访问1000次)。我们输入DOS命令ab -n 1000 -c 100 localhost/index.php,打印结果如下:

    使用PYLOT进行压力测试
    一、pylot是什么?

      一个基于python的简单易用,跨平台的开源网站压力测试工具,可以从命令行运行也可以开启图形界面运行,可以设置cookie,可以将测试结果制作成图表方便查看。


    二、使用pylot进行压力测试

    1、安装python

    https://blog.csdn.net/weixin_41782053/article/details/80670656

    2、使用pylot

       1、下载完pylot之后,解压到一个目录下,例如:C:pylot_1.26,无需安装。

          2、配置testcases.xml

          在pylot_1.26文件夹里,会看到一个testcases.xml的文件,我们需要更改一下这个文件,用记事本打开它,把需要测试的网页地址添加进去。

    <testcases>
        <!-- SAMPLE TEST CASE -->
        <case>
            <url>http://www.example.com/</url>
        </case>
        
        <!-- SAMPLE TEST CASE -->
        <!--
        <case>
            <url>http://search.yahooapis.com/WebSearchService/V1/webSearch</url>
            <method>POST</method>
            <body><![CDATA[appid=YahooDemo&query=pylot]]></body>
            <add_header>Content-type: application/x-www-form-urlencoded</add_header>
        </case>
        -->
    </testcases>

    上面代码中,把“http://www.example.com/”改为你要测试的网址,然后保存文件。

          3、压力测试

          打开dos窗口(点击“开始”-“运行”,输入cmd,点击“确定”),进入pylot的目录,

          输入如下命令:

                        python run.py -a 100 -d 20

           解释:-a 表示并发100个客户端连接,-d 表示持续运行时间为20秒

          这时,会看到python的运行界面(我这里演示并发20,运行时间10秒),

    python pylot压力测试

          看到类似以上信息,就表示测试结束了。(如果一直没有出现上图的信息,那可能是并发数太多了,把并发数改少点试试,例如只并发20,不要一下子就并发1000)

          测试结束后,会在pylot的文件目录里生成一个“results”的文件夹,还生成一个results.html的文件,这个文件记录了详细的测试数据。我们可以进入results的目录,打开这个文件,看看我的测试结果:

    ---------------------
    作者:一曲微茫度此生
    来源:CSDN
    原文:https://blog.csdn.net/weixin_41782053/article/details/80665746
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    基于差分隐私的安全机制
    基于散列和RSA的纵向联邦学习样本对齐实现方案
    富文本及编辑器的跨平台方案
    计算机字符编码的前世今生
    探究Presto SQL引擎(1)-巧用Antlr
    vivo 全球商城:优惠券系统架构设计与实践
    复杂多变场景下的Groovy脚本引擎实战
    分布式存储系统可靠性:系统量化估算
    手把手教你实现Android编译期注解
    灵活运用分布式锁解决数据重复插入问题
  • 原文地址:https://www.cnblogs.com/zhangqing979797/p/10533437.html
Copyright © 2020-2023  润新知