您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[观远数据]:观远数据性能测试指导手册 - 发现报告

观远数据性能测试指导手册

2023-08-25观远数据小***
观远数据性能测试指导手册

版权所有©杭州观远数据有限公司 2021。 保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明 和其他观远数据商标均为杭州观远数据有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意 您购买的产品、服务或特性等应受观远数据商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,观远数据对本文档内容不做任何明示或暗示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 目录 1. 概览.......................................................................................................................................1 2.1 Java 环境安装..................................................................................................................22.2 JMeter 部署......................................................................................................................22.3 卡片查询脚本编写.........................................................................................................22.4 压测线程数.....................................................................................................................72.5 测试报告.........................................................................................................................82.6 命令行模式压测.............................................................................................................92.7 性能测试排查...............................................................................................................10 3.1 数据准备.......................................................................................................................123.2 添加运算测试案例.......................................................................................................123.3 测试步骤.......................................................................................................................123.4 注意事项.......................................................................................................................13 4. 项目案例.............................................................................................................................14 4.1 某大型零售集团项目性能测试背景............................................................................144.2 某大型生产集团项目性能测试背景............................................................................14 5. 附件清单.............................................................................................................................16 1.概览 观远数据是一站式智能分析平台,面向企业提供数据分析可视化与智能决策服务,其打通数据采集-数据接入-数据管理-数据开发-数据分析-AI 建模-AI 模型运行-数据应用全流程,全方位提升企业数据分析的准确性与时效性,并提供可落地的经营预测和智能决策洞察,助力企业实时掌握经营状况,激发个体价值,促进组织创新,让决策更智能。 观远数据拥有强大的性能,能够快速处理海量数据。根据实际情况而言,平台性能会受到平台本身、搭配硬件、软硬件运行环境,以及具体的业务数据等因素影响。因此,为了方便部分使用环境较复杂的企业客户在本地环境进行性能测试,观远数据提供了完整的测试方案作为参考。 本方案主要覆盖两个方面的性能测试,下文将展开具体阐述。 并发性能——多用户情况下报表浏览响应时间以及用户访问高峰期的承受能力。运算性能——大数据量下的查询计算能力。 2.并发性能测试 并发性能最能够直观体现多用户场景下的页面浏览体验以及系统在访问高峰期的事务处理能力。但是并发性能的检测离不开具体化的使用场景,不同业务的使用场景下,并发性能测试结果的数值会有极大的差异,所以需要根据自身业务选择合适场景进行测试。下文就对 JMeter 的安装及使用案例进行详细阐述。 2.1 Java 环境安装 (1)先确定电脑是否有 Java 环境,在电脑终端敲入:Java -Version,正确情况如下: (2)如果没有安装 Java 请先安装,已安装可跳过该步骤。 2.2 JMeter 部署 (1)下载 JMeter 并解压。(压缩包见附件 1《apache-jmeter-5.3》)(2)双 击apache-jmeter-5.3/bin/jmeter文 件 (mac电 脑 ) , Windows打 开apache-jmeter-5.3/bin/jmeter.bat 文件可以打开工具。(3)导入 JMX 脚本进行修改。(JMX 脚本见附件 2《1000w 门店看板 1-单线程-无监听器》) 2.3 卡片查询脚本编写 (1)替换登录信息 a. 在谷歌浏览器中点击 F12,打开前端调试工具,点击顶部 Network, 登录账号密码。b. 把图 1 中的 URL 替换到图 3 中的 IP。c. 把图 2 中的请求体替换到图 3 中的 Body Data。 (2)替换卡片信息 a. 替换 Cookie,把 Domain 改为当前环境的 IP。(参考上一步的 IP) b. 谷歌浏览器打开 F12 调试器,打开仪表板页面。图 1 中的 URL 替换到图 3 中的 IP 和 Path。图 2 中的 Request Payload 替换到图 3 中的 Body Data。 c. 如果需要测试多个卡片,可以把“销售额”拷贝粘贴再进行相应修改,如图 4所示。 (3)模拟不同权限用户访问 每个用户的权限不同,因此能看到的数据也不同,这时可以在卡片请求中设置变量,变量的数据存储在 CSV 中。 a. JMeter 中新增 CSV 数据文件设置。(线程组-->右击-->添加-->配置元件-->CSV Date Set Config) b. 添加内容。 c. 修改卡片请求。 在卡片请求体中找到如下筛选器内容,通过${变量名} 进行替换。 d. CSV 中存储文件格式。(只需要存储一列即可) (4)卡片启用与禁用 暂时不使用的 Job,可以通过 Disable 来进行禁用;需要测试的 Job,可以通过 Enable来进行启用。 2.4 压测线程数 一般压测线程数:50、100、150、200 循序加线程进行多轮测试,取最优数据Duration:360s。 2.5 测试报告 Samples:各个请求的数量。 Average:平均响应时间,单位(毫秒)默认是单个 Request 的平均响应时间。当使用了 Transaction Controller 时,也可以以 Transaction 为单位显示平均响应时间。 Median:50%的用户响应时间小于这个值。 90%Line:90%的用户响应时间小于这个值。 95%Line:95%的用户响应时间小于这个值。 99%Line:99%的用户响应时间小于这个值。Min:用户响应时间最小值。Max:用户向实践最大值。Error%:请求的错误率 = 错误请求的数量/请求的总数。Throughput:吞吐率,每秒完成处理的用户请求数。一般认为它为 TPS。注意单位的变化。如上图中,当 TPS 很低时,JMeter 中默认会统计成每分钟的值,这时我们需要换算成以秒为单位)吞吐量=请求数/总时间。KB/Sec:每秒从服务器端接收到的数据量。 2.6 命令行模式压测 (1)使用场景 a. 当本地机器与服务器之间存在的网络延迟较大。b. 本地机器资源有限,压测不到接口的瓶颈。 (2)操作步骤 a. 将 2.2 的 JMeter 脚本上传到 Linux 服务器上,并解压。b.本 地 编 辑 完 成 压 测 JMX 脚 本 , 把 脚 本 上 传 到 Linux 机 器 上 的JMeter 路径 apache-jmeter-5.3/bin 下。c. 进入 apache-jmeter-5.3/bin 路径下新建一个 ResultReport 文件夹。执行指令:./jmeter -n -t test.jmx -l result.jtl -e -o resultReport 参数解释: -n 无 UI 模式运行 JMeter-t 需要执行的 JMeter 的 JMX 脚本文件test.jmx 脚本文件-l 指定结果文件路径result.jtl 测试结果文件-e 测试完成后生成测试报告-0 指定测试报告路径ResultReport 测试报告 d. 把测试报告 ResultReport 文件夹拷贝到本地,通过浏览器打开。 备注:每一次测试完成后需要把 result.jtl 和 ResultReport 文件夹下的文件清除。 2.7 性能测试排查 (1)资源监控 压测过程中通过观察 CPU 的占比情况进行资源监控。当 CPU 使用率高于 60%,测试出性能瓶颈。具体数据可以通过 管理员设置-运维管理-资源监控进行查看。如下图。 如果存在多节点,或者双 Jobserver,可以跟进分配 CPU/总 CPU 进行计