• 0
  • 0
分享
  • web页面与java websocket接口的压力测试——软件测试圈
  • 恬恬圈 2022-01-10 10:55:49 字数 4246 阅读 941 收藏 0

对于网站开发,压力测试是少不了的。压力测试可以对网络,服务器,系统架构的优化程度进行检验。以便提前知道网站的负载能力,并未优化提供依据。

对于网站的压力测试,基本离不开下面两点的测试:web页面访问的压力测试和java接口的压力测试(我们接口是通过websocket实现)。

web页面访问压力测试工具可以使用apache自带的ab命令进行检测;java websocket接口的压力测试可以使用Jmeter+websocket插件进行检测。

ab安装与使用

一、下载软件

下载地址:http://de.apachehaus.com/downloads/httpd-2.4.17-x64.zip

二、进入软件路径

把下载的文件解压到后,用cmd指令进入”文件夹路径/Apache24/bin”

三、获取ab指令参数列表

执行“ab help”

Options are:
    -n requests     Number of requests to perform
    -c concurrency  Number of multiple requests to make at a time
    -t timelimit    Seconds to max. to spend on benchmarking
                    This implies -n 50000
    -s timeout      Seconds to max. wait for each response
                    Default is 30 seconds
    -b windowsize   Size of TCP send/receive buffer, in bytes
    -B address      Address to bind to when making outgoing connections
    -p postfile     File containing data to POST. Remember also to set -T
    -u putfile      File containing data to PUT. Remember also to set -T
    -T content-type Content-type header to use for POST/PUT data, eg.
                    'application/x-www-form-urlencoded'
                    Default is 'text/plain'
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attributes   String to insert as td or th attributes
    -C attribute    Add cookie, eg. 'Apache=1234'. (repeatable)
    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
                    Inserted after all normal header lines. (repeatable)
    -A attribute    Add Basic WWW Authentication, the attributes
                    are a colon separated username and password.
    -P attribute    Add Basic Proxy Authentication, the attributes
                    are a colon separated username and password.
    -X proxy:port   Proxyserver and port number to use
    -V              Print version number and exit
    -k              Use HTTP KeepAlive feature
    -d              Do not show percentiles served table.
    -S              Do not show confidence estimators and warnings.
    -q              Do not show progress when doing more than 150 requests
    -l              Accept variable document length (use this for dynamic pages)
 
    -g filename     Output collected data to gnuplot format file.
    -e filename     Output CSV file with percentages served
    -r              Don't exit on socket receive errors.
    -m method       Method name
    -h              Display usage information (this message)

四、进行web压力测试

执行“ab -n 1000 -c

100 http://www.baidu.com/index.html”

五、报表结果

Server Software:        Apache/2.4.7Server Hostname:        www.3elearn.com.cnServer Port:            80
 Document Path:          /index.htmlDocument Length:        16300 bytes
 Concurrency Level:      100Time taken for tests:   26.931 secondsComplete requests:      1000Failed requests:        0Total transferred:      16573000 bytes
HTML transferred:       16300000 bytesRequests per second:    37.13 [#/sec] (mean)Time per request:       2693.147 [ms] (mean)Time per request:       26.931 [ms] (mean, across all concurrent requests)Transfer rate:          600.95 [Kbytes/sec] received
 Connection Times (ms)
              min  mean[+/-sd] median   maxConnect:        9   27   9.1     26      51Processing:    50 2532 466.3   2659    2740Waiting:       27 1325 769.3   1330    2649Total:         80 2559 466.1   2687    2776
 Percentage of the requests served within a certain time (ms)
  50%   2687
  66%   2704
  75%   2714
  80%   2718
  90%   2730
  95%   2739
  98%   2749
  99%   2754
 100%   2776 (longest request)

Jmeter安装与使用

一、下载

下载地址:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-2.13.zip

二、安装

解压文件夹,然后进入“apache-jmeter-2.13/bin/”

双击“jmeter.bat”启动软件

三、安装websokcet插件

Websocket插件下载:https://dl.dropboxusercontent.com/u/89045969/jmeter/ApacheJmeter_websocket-0.1.0-SNAPSHOT.jar

https://dl.dropboxusercontent.com/u/89045969/jmeter/ApacheJmeter_websocket-dist-0.1.0-SNAPSHOT.jar

把jar包复制到“jmeter安装路径/lib/ext/”

关闭jmeter再启动

四、使用

a)添加线程组

在“测试计划”—“添加“——”Threads(users)”——“线程组”

b)添加websocket

在“线程组”——“添加”——“sample”——“websocket sample”

c)添加结果树

在“线程组”——“添加”——“监听器”——“查看结果树


作者:佚名

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   改进您的需求管理过程可以对你的开发过程产生重大影响,所带来的益处包括:提高效率、缩短上市时间,以及节省宝贵的预算和资源。需求是最能向工程师说明要构建什么,以及向测试人员说明要测试什么的信息。  需求具有三个主要功能:  · 定义计划创建什么样的产品  · 确定产品需要做什么以及它应该是什么样子  · 描述产品的功能和价值。  需求的复杂性因项目而异。需求管理计划可以是粗略想法或结构化“应该有的样子”的描述,也可以是文本、模型、从高级需求的层级结构中分化出的子需求。需求也可以是详细规范,其中包含对于产品行为或组件的功能要求描述。  高级需求有时被简称为“要求”或“目标”,...
            0 0 344
            分享
          • 前言selenium自动化+ pytest测试框架本章你需要一定的python基础一定的selenium基础——不讲selenium,不会的自己去看selenium中文翻译网测试框架简介测试框架有什么优点呢:代码复用率高,如果不使用框架的话,代码会很冗余可以组装日志、报告、邮件等一些高级功能提高元素等数据的可维护性,元素发生变化时,只需要更新一下配置文件使用更灵活的PageObject设计模式测试框架的整体目录目录/文件说明是否为python包common这个包中存放的是常见的通用的类 是config配置文件目录是logs日志目录page对selenium的方放进行深度的封装是pag...
            5 9 5834
            分享
          •   根据分析公司Similarweb的数据,去年11月发布后就火爆全球的人工智能聊天机器人ChatGPT,在今年6月出现了首次网站流量和独立用户访问量的月度下滑。  数据显示,ChatGPT今年6月的全球桌面和移动设备流量较5月下降9.7%,其网站的独立用户访问量下降5.78%。6月的访客花在该网站上的时间也减少了8.5%。  Similarweb高级洞察经理DavidCarr表示,流量变化表示这款聊天机器人带给人们的新奇感渐渐消失。加拿大皇家银行资本市场分析师RishiJaluria解释道,这些数据表明,人们对生成式人工智能的实时信息生成能力的需求有所增加。  ChatGPT的开发者Open...
            0 0 789
            分享
          •   摘要:作者在新项目中搭建了python+requests+unittest+HTMLTestRunner接口自动化测试框架,通过修改配置文件实现环境隔离,一份脚本即可在不同的环境执行接口测试用例。  但是没有实现任何形式的消息通知,也没有集成到jenkins,原因很简单,因为还没做到很大,而且用户活跃不够,问题也相对较少,只在上线前后执行一次uat和prod环境。  那这几天想完善一下消息通知功能,让它具备发送消息及报告的功能。  流程  代码  流程及代码功能已在注释中说明。  '''   Created on 2021年5月12日   @au...
            0 0 1320
            分享
          •   春节档的相关热门话题仍在继续,只不过影迷已经从各影片内容方面的争论,拓展到了对周边衍生品的关注上。  舆论关注度最高的是科幻大片《流浪地球2》的周边产品。外骨骼装甲、行星发动机、门框机器人、机械合金旋挖钻机模型、机械小狗笨笨……关于春节档大片的周边产品,在社交媒体、电商平台上轮番被讨论。  其中,阿里鱼旗下的娱乐电商平台“造点新货”,以众筹形式推出的《流浪地球2》的官方周边衍生品热度最高:截至1月29日14点,该平台有关《流浪地球2》的周边众筹金额累计超过8000万元,并且仍在不断地增长,打破中国文娱类众筹纪录。图源淘宝App  这源于这届影迷对春节档影片的热情。今年属于疫情防控放开后第一...
            0 0 1220
            分享
      • 51testing软件测试圈微信