51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2033|回复: 5
打印 上一主题 下一主题

一般夜间批量系统的性能测试该如何执行呢?

[复制链接]
  • TA的每日心情
    擦汗
    前天 09:07
  • 签到天数: 527 天

    连续签到: 4 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2020-8-31 14:09:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    如何执行?是跑批测试时间呢?还是有特殊的技术或者工具来测试。
    一般在性能测试上,以及跑批的时间控制上,一般开发的系统,是怎样的性能测试标准?

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:59
  • 签到天数: 1801 天

    连续签到: 5 天

    [LV.Master]测试大本营

    2#
    发表于 2020-9-1 09:25:53 | 只看该作者
    https://ask.csdn.net/questions/731019  参考下这个,很详细
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-9-30 15:02
  • 签到天数: 751 天

    连续签到: 2 天

    [LV.10]测试总司令

    3#
    发表于 2020-9-1 10:01:59 | 只看该作者
    pts进行压测
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 07:28
  • 签到天数: 2812 天

    连续签到: 5 天

    [LV.Master]测试大本营

    4#
    发表于 2020-9-1 13:41:57 | 只看该作者
    可以分阶段监控
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-10-22 14:23
  • 签到天数: 1007 天

    连续签到: 1 天

    [LV.10]测试总司令

    5#
    发表于 2020-9-1 15:49:21 | 只看该作者
    批量的测试需要首先明确性能测试的的目标和需求,包括至少如下内容:
    1. 晚上跑批量Job的允许运行时间窗口,比如从24:00~06:00总共6小时是运行窗口,那么所有的批处理必须在这个时间范围内完成作业
    2. 明确在跑批处理的时候,是否允许前台在线程序继续运行,如果是的话,需要设计来支持如何避免数据的混乱
    3. 明确不同频率的批处理处理的处理数据量(比如一个每月处理的批处理需要处理的数据量一般来说都比Daily的批处理要多很多,那么需要明确数据量和估计处理时间)
    4. 对于不同批处理间是否允许并行运行,还是需要有一定的执行顺序依赖关系
    5. 是可以支持在同一个批处理中根据处理数据进行合理的分割来支持并发运行
    6. 对于CPU、IO、内存使用情况是否有一定的要求
    7. 实际运行环境的硬件(CPU核数量、内存大小、IO情况等)、软件(其他应用是否同时运行、JDK版本、JVM参数、被实际分配的CPU、内存等)情况

    测试数据的准备:
    1. 需要按照实际业务的数据的分布情况来准备测试使用的数据(包括数据库数据、数据文件等)
    2. 如果可能的话,可以先进行没有数据负载的测试(比如数据库数据比较少,批处理只进行新增数据处理),然后才进行大负载情况下的测试

    测试和性能监控工具:
    1. 批处理执行机器上部署和运行CPU、内存、IO监控工具 (比如Linux下的vmstat, top, sar等,监控时间间隔需要根据实际情况设置,一般在5秒~5分钟之间)
    2. 测试过程中数据Log(DB中的,Log文件中的等)的开始、结束时间;
    3. 测试过程中实际真正成功完成(有时候非正常完成和正常完成的性能相差很多,务必关注)的数据量
    4. 数据库Top SQL、CPU、IO、Wait等监控;可能有的网络带宽使用监控
    5. JVM GC的情况、ThreadSnapshot等
    6. JProfiler等用于详细分析工具

    测试过程:
    1. 先整体按照正常顺序执行的顺序跑一下所有的批处理程序,检测大致上哪些批处理是瓶颈、需要主要分析和优化的对象
    2. 重点对于瓶颈的批处理使用Jprofiler进行详细的跟踪分析(主要是CPU和GC,有时候还需要看是否有内存Leak),看具体批处理中哪段程序比较慢(这时候,使用小数据量<100单的数据进行精细的跟踪)
    3. 同时Jprofiler中有JDBC访问的CPU时间可以参考DB端的TopSQL进行SQL的优化和调整
    4. 调整可以进行批处理分片处理(多线程并发或者多批处理并发)的并发数,看那个是合理的值(一般分片为CPU核心数量×2左右的数量比较合理,但是需要根据实际测试环境来决定)
    4. 重复以上过程,直到达到目标

    测试结果分析:
    1. 整体处理时间,以及平均CPU使用率和IO使用率、内存使用率等(如果执行慢,但是CPU使用不高,请检查是否有IO等待,或者是否需要提高线程数)
    2. CPU时间使用曲线,看是否有特别不正常的情况(比如有些点特别消耗CPU),其他IO和内存类似
    3. GC分析,用来调整JVM参数
    4. 其他
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-17 20:18 , Processed in 0.068186 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表