压力测试报告案例(存储转发机制优化系统)47P.doc_第1页
压力测试报告案例(存储转发机制优化系统)47P.doc_第2页
压力测试报告案例(存储转发机制优化系统)47P.doc_第3页
压力测试报告案例(存储转发机制优化系统)47P.doc_第4页
压力测试报告案例(存储转发机制优化系统)47P.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一级一级 xxxxxxxx 枢纽枢纽 存储转发机制优化系统存储转发机制优化系统 压力测试报告压力测试报告 restricted page 2 of 47 documentdocument informationinformation projectproject name:name: documentdocument versionversion no:no: 1.0 documentdocument versionversion date:date:2005-08-16 preparedprepared by:by:preparationpreparation date:date:2005-08-16 reviewedreviewed by:by:reviewreview date:date: distributiondistribution listlist fromfrom datedatecompanycompany / / roleroleemailemail / / phonephone toto action*action*duedue datedatecompanycompany / / roleroleemailemail / / phonephone * action types: approve, review, inform, file, action required, attend meeting, other (please specify) versionversion historyhistory ver.ver. no.no.ver.ver. datedaterevisedrevised bybydescriptiondescriptionfilenamefilename 1.02005-09-07 初稿 restricted page 3 of 47 版版 权权 说说 明明 restricted page 4 of 47 目录 1 1概述概述8 8 1.1测试目的8 1.2测试方法8 1.3压力测试场景8 1.4测试系统环境配置8 1.5参考资料9 2 2压力测试场景一压力测试场景一1010 2.1场景一特征.10 2.2测试数据.10 2.2.1线程信息表.10 2.2.2线程与落地方关系表.10 2.2.3saf 数据关系 .11 2.3测试步骤.11 2.4测试结果.12 2.4.1测试日志和脚本.12 2.4.2基本测试结果.13 2.4.3支撑数据和测试结果表.13 2.4.4性能曲线图.14 2.4.5压力测试小结.15 3 3压力测试场景二压力测试场景二1515 3.1场景二特征.15 3.2测试数据.16 3.2.1线程信息表.16 3.2.2线程与落地方关系表.16 3.2.3saf 数据关系 .17 3.3测试步骤.18 3.4测试结果.18 3.4.1测试日志和脚本.18 3.4.2基本测试结果.18 3.4.3支撑数据和测试结果表.19 3.4.4性能曲线图.20 3.4.5压力测试小结.22 4 4压力测试场景三压力测试场景三2222 4.1场景三特征.22 4.2测试数据.23 4.2.1线程信息表.23 4.2.2线程与落地方关系表.23 4.2.3saf 数据关系 .23 restricted page 5 of 47 4.3测试步骤.23 4.4测试结果.24 4.4.1测试日志和脚本.24 4.4.2基本测试结果.24 4.4.3支撑数据和测试结果表.24 4.4.4性能曲线图.25 4.4.5压力测试小结.27 5 5压力测试场景四压力测试场景四2727 5.1场景四特征.27 5.2测试数据.28 5.2.1线程信息表.28 5.2.2线程与落地方关系表.28 5.2.3saf 数据关系 .28 5.3测试步骤.28 5.4测试结果.29 5.4.1测试日志和脚本.29 5.4.2基本测试结果.29 5.4.3支撑数据和测试结果表.29 5.4.4性能曲线图.30 5.4.5压力测试小结.32 6 6压力测试场景五压力测试场景五3232 6.1场景五特征.32 6.2测试数据.33 6.2.1线程信息表.33 6.2.2线程与落地方关系表.33 6.2.3saf 数据关系 .34 6.3测试步骤.34 6.4测试结果.35 6.4.1测试日志和脚本.35 6.4.2基本测试结果.35 6.4.3支撑数据和测试结果表.35 6.4.4性能曲线图.36 6.4.5压力测试小结.38 7 7压力测试场景六压力测试场景六3838 7.1场景六特征.38 7.2测试数据.39 7.2.1线程信息表.39 7.2.2线程与落地方关系表.39 7.2.3saf 数据关系 .40 7.3测试步骤.40 7.4测试结果.41 restricted page 6 of 47 7.4.1测试日志和脚本.41 7.4.2基本测试结果.41 7.4.3支撑数据和测试结果表.41 7.4.4性能曲线图.42 7.4.5压力测试小结.44 8 8调整表空间调整表空间-压力测试场景七压力测试场景七4444 8.1场景七特征.44 8.2测试数据.45 8.2.1线程信息表.45 8.2.2线程与落地方关系表.45 8.2.3saf 数据关系 .45 8.3测试步骤.45 8.4测试结果.45 8.4.1测试日志和脚本.45 8.4.2基本测试结果.46 8.4.3支撑数据和测试结果表.46 8.4.4性能曲线图.47 8.4.5压力测试小结.49 9 9性能分析性能分析4949 9.1总体负载能力.49 1010附录附录4949 1 1 概述概述 1.11.1 测试目的测试目的 本次压力测试主要针对存储转发机制优化系统性能进行压力测试。 1.21.2 测试方法测试方法 测试工具及脚本: 应用 orm 工具(hibernate)作为辅助工具,对应用系统的主要参数(例如线程数、 线程与落地方的对应关系、每次捞 saf 记录数、落地方的可承受接收记录数)等等进 行管理,及对运行 log 进行正确行分析,计算压力测试结果,计算性能图绘制数据等 等。另外,监控服务器的 cpuidle、memory、diskio 等重要数据则由 perfmon.sh 脚本 完成。 restricted page 7 of 47 测试方法: 通过工具 webmethods developer 启动/关闭 saf 线程,直到应用系统满足压力测试 要求的循环次数为止。 1.31.3 压力测试场景压力测试场景 压力测试场景主要分为两种方式: 单场景: 50 万 saf 数据中,在未处理数据不同比例中,应用系统的吞吐能力。 50 万 saf 数据中,不同的线程数量,应用系统的吞吐能力。 混合场景: 50 万 saf 数据中,在未处理数据不同比例与不同的线程数量中,应用系统的 吞吐能力。 1.41.4 测试系统环境配置测试系统环境配置 服务器环境如下: 服务器操作系统:hp-ux 11.11 服务器 ip: jdk 版本:jdk 1.4.1 3-030630-22:07-pa_risc2.0 pa2.0 测试环境是: 中心: 服 务 器: 用 户: cmcbadm 系统目录: csc:/home/cmcbadm 及/opt/webmethods webmethods 端口: 5555 数 据 库: 配 置: jdbc:oracle:thin::1521:dbtest2 3 3 删除测试日志: rm /tmp/testlog.log* 4 4 启动 cpu、mem、disk 监控程序 comment huangxb1: 页:10 该数据根据定义的线程数而定 comment huangxb2: 页:10 该数据根据定义的线程数而定 restricted page 10 of 47 /tmp/perfmon.sh 5 5 启动 saf 线程 update saf_dispatchers set status=0; 通过工具 webmethods developer 启动 saf 线程 6 6 观察测试日志 ls l /tmp/testlog.log*,共有 8 个文件(每个线程单独有一个文件) ls l /tmp/*.stat,共有 4 个文件,分别是: cmcbtst2_cpu.stat(cpu 活动记录,每隔 5s 记录一次) cmcbtst2_mem.stat(memory 活动记录,每隔 5s 记录一次) cmcbtst2_disk.stat(disk 活动记录,每隔 5s 记录一次) cmcbtst2_is.stat(java 进程活动记录,每隔 5s 记录一次) 7 7 循环观察 ls l /tmp/testlog.log*,直到循环处理 saf 数据 810 次为止 8 8 关闭 saf 线程 update saf_dispatchers set status=1; 通过工具 webmethods developer 观察,直到 8 个线程均退出为止 9 9 关闭 cpu、mem、disk 监控程序 【ctrl】 【c】 1010ftp 测试日志 把测试日志 ftp 到本地 pc 测试日志有: /tmp/testlog.log*,共有 8 个文件(每个线程单独有一个文件) /tmp/cmcbtst2_cpu.stat(cpu 活动记录,每隔 5s 记录一次) /tmp/cmcbtst2_mem.stat(memory 活动记录,每隔 5s 记录一次) /tmp/cmcbtst2_disk.stat(disk 活动记录,每隔 5s 记录一次) /tmp/cmcbtst2_is.stat(java 进程活动记录,每隔 5s 记录一次) 1111运行本地的测试日志拆分、分析程序 程序:hibernatetest1.java 作用:根据多线程存储转发运行日志 testlog.logxxx(xxx 是线程名)进行拆分 解析,并得到运行过程中的重要数据 1212结束结束 注释: 本压力测试主要测试从几十万级的 saf 数据中捞出需要发送数据记录的能力,因 此为突出重点,简化了系统环境,即把程序中发送语句临时注释掉(不发送) 。 restricted page 11 of 47 2.42.4 测试结果测试结果 .1测试日志和脚本测试日志和脚本 1).(参见压力测试场景一测试日志.rar ) 一一一一一一一一一一一.rar 2).(参见压力测试日志解释程序)hibernatetest1.java hibernatetest1.java .2基本测试结果基本测试结果 主要检查项主要检查项主要检查点主要检查点结果结果 优先级高的先发 ok 同级时间优先 ok 三个原则 按照落地方承受能力发送 ok 线程名与落地方的对应关系线程名与落地方的完全对应 ok 线程每次循环取 saf 记录数记录数正确 ok 线程循环间隔时间间隔时间正确 ok 线程睡眠时间若 t2-t1=t,则告警(须调整间隔时长) ,继续 执行 1。否则 sleep(t- (t2-t1)) ok 落地方与线程落地方与线程同一个落地方与线程唯一对应同一个落地方与线程唯一对应错误错误: : 可以不唯一对应可以不唯一对应 .3支撑数据和测试结果表支撑数据和测试结果表 线程每次捞 saf 数 量 落地方落地方 接收能力 压力测试项压力测试结果 捞次数/睡次数 49/49 最少/最大/平均捞数据耗时 ms 141/879/264 线程 1 100210130 最少/最大/平均睡眠时间 ms 4121/4859/4735 restricted page 12 of 47 捞次数/睡次数 43/43 最少/最大/平均捞数据耗时 ms 126/696/210 线程 2 100220160 最少/最大/平均睡眠时间 ms 4304/4874/4789 捞次数/睡次数 49/49 最少/最大/平均捞数据耗时 ms 132/870/247 线程 3 100250190 最少/最大/平均睡眠时间 ms 4130/4868/4752 3 个线程共捞且发送 saf 记录共 22740 条 3 个线程共捞且发送 saf 记录平均耗时(264+210+247)/3=240.33 毫秒 3 个线程共捞且发送 saf 记录循环平均次数(49+43+49)/3= 47 次 3 线程共同捞且发送 saf 数据平均速度: 22740/240.33*1000/47= 2013.19 (条/秒) .4性能曲线图性能曲线图 图表说明:捞图表说明:捞 safsaf 数据且发送数据所耗时间数据且发送数据所耗时间( (毫秒毫秒) )图图 x 轴为线程循环次数,y 轴为捞 saf 数据且发送数据所耗时间(毫秒) 整个运行期间整个运行期间, ,所有线程中耗时最小所有线程中耗时最小 126126 毫秒毫秒, ,最大最大 879879 毫秒毫秒, ,平均值平均值: : 240.33240.33 毫秒毫秒 0 200 400 600 800 1000 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 线程1 线程2 线程3 图表说明:图表说明:memorymemory freefree 检测图检测图 x 轴为每间隔 5 秒循环检测 memory free 次数,y 轴为 memory free 值(m) memory free 值来源于服务器的 top 命令中 memory free 值 物理内存: 2097152 kbytes memory free 值(m)(起点 92.83m):整个运行期间整个运行期间, ,最小值最小值: : 74.72m,74.72m,最大值最大值 92.83m,92.83m,平均平均 值值:84.38m(:84.38m(平均耗内存平均耗内存 92.83-84.38=92.83-84.38= 8.45m)8.45m) restricted page 13 of 47 0 20 40 60 80 100 1 3 5 7 9 11 13 15 17 19 21 memory free 图表说明:图表说明:usercpuusercpu、syscpusyscpu idlecpuidlecpu 的平均值检测图的平均值检测图 x 轴为每间隔 5 秒循环检测 cpu 次数,y 轴为 usercpu、syscpu idlecpu 的平均值(%) usercpu、syscpu idlecpu 值来源于服务器的 top 命令中 usercpu、syscpu idlecpu 的 avg 值 usercpu 值(%):整个运行期间整个运行期间, ,最小值最小值:31.9%,:31.9%,最大值最大值 38.9%,38.9%,平均值平均值:35.4%:35.4% syscpu 值(%):整个运行期间整个运行期间, ,最小值最小值:18%,:18%,最大值最大值 23.4%,23.4%,平均值平均值:21.02%:21.02% idlecpu 值(%):整个运行期间整个运行期间, ,最小值最小值:0.2%,:0.2%,最大值最大值 46.6%,46.6%,平均值平均值:33.14%:33.14% 0 10 20 30 40 50 1 4 7 10 13 16 19 22 user_cpu% sys_cpu% idle_cpu .5压力测试小结压力测试小结 下列测试指标证明系统处于轻载轻载状态 3 线程共同捞且发送 saf 数据平均速度平均速度: : 2013.192013.19 ( (条条/ /秒秒) ) 捞 saf 数据且发送数据(平均每线程每次大约 160 条记录)所耗时间, 所有线程中耗时 最小 126 毫秒,最大 879 毫秒,平均值平均值:240:240 毫秒毫秒 memory free 值(m),整个运行期间, 最小值 74.72m,最大值 92.83m,平均值: 84.38m(平均耗内存平均耗内存 92.83-84.38=92.83-84.38= 8.45m8.45m) restricted page 14 of 47 idlecpu 值(%),整个运行期间, 最小值:0.2%,最大值 46.6%,平均值平均值:33.14%:33.14% 3 3 压力测试场景二压力测试场景二 3.13.1 场景二特征场景二特征 saf 数据记录有 50 万条,未处理的数据记录有 20 万条,共有 8 个线程,落地方机 构有 25 个,平均每个线程处理大约 3 个机构。该场景验证数据库访问的吞吐能力、系 统线程的协调能力,同时也可验证在高强度压力下功能的正确性。 本场景是在启动 sc、关闭 sn1、sn2 应用后进行测试。 3.23.2 测试数据测试数据 .1线程信息表线程信息表 线程标识线程标识间隔时间间隔时间(ms)(ms)每次捞数每次捞数 线程 1 5000100 线程 2 5000100 线程 3 5000100 线程 4 5000100 线程 5 5000100 线程 6 5000100 线程 7 5000100 线程 8 5000100 注释:共 8 个线程,循环间隔时间 5000ms,每次捞 saf 数据记录 100 条 .2线程与落地方关系表线程与落地方关系表 线程标识线程标识落地方机构码落地方机构码 落地方当前落地方当前 接收能力(条接收能力(条/ /次)次) 落地方最大落地方最大 接收能力(条接收能力(条/ /次)次) 线程 1 20013030 线程 1 59116060 restricted page 15 of 47 线程标识线程标识落地方机构码落地方机构码 落地方当前落地方当前 接收能力(条接收能力(条/ /次)次) 落地方最大落地方最大 接收能力(条接收能力(条/ /次)次) 线程 1 89819090 线程 2 27013030 线程 2 77116060 线程 2 97119090 线程 3 37113030 线程 3 73116060 线程 3 79119090 线程 4 23013030 线程 4 28016060 线程 4 89119090 线程 5 29013030 线程 5 85116060 线程 5 87119090 线程 6 93113030 线程 6 31116060 线程 6 35119090 线程 6 53113030 线程 7 21016060 线程 7 22019090 线程 7 47113030 线程 8 25016060 线程 8 55119090 线程 8 57113030 线程 8 88888888120120 注释: 1.共 26 个机构,占总机构(31 个)的 84%,其中机构码 8888 是特殊机构,是中心应用日月结数据 2.每个线程大约管理 3 个机构的 saf 数据发送 3.落地方的接收能力是一个随机数,在 30 条/次,60 条/次,90 条/次三种能力的其中之一 restricted page 16 of 47 .3safsaf 数据关系数据关系 节点数节点数safsaf 总记总记 录录 未处理未处理 数数 已处理已处理 数数 间隔时间隔时 间间 中心捞中心捞 数数/ /次次 线程数线程数每线程每线程 处理的处理的 省省 每省承受每省承受 84%的省 (26 省) 50 万20 万30 万 5s100834*(30/60/90) 4*(120/150/180) 注释: 1.saf 总记录数 50 万,未处理的 20 万,占总数的 40% 2.20 万未处理的数据平均散落到 25 个省中,平均 8000 条/省 3.每条 saf 记录的发送优先级别是在 4,5,6 三个优先级别的其中之一 3.33.3 测试步骤测试步骤 与压力测试场景一完全相同 注释: 本压力测试主要测试从几十万级的 saf 数据中捞出需要发送数据记录的能力,因 此为突出重点,简化了系统环境,即把程序中发送语句临时注释掉(不发送) 。 3.43.4 测试结果测试结果 .1测试日志和脚本测试日志和脚本 1).(参见压力测试场景二测试日志.rar ) 一一一一一一一一一一一.rar 2).(参见场景一压力测试日志解释程序)hibernatetest1.java .2基本测试结果基本测试结果 主要检查项主要检查项主要检查点主要检查点结果结果 comment huangxb3: 页:17 所有线程中最大 comment huangxb4: 页:17 所有线程中最小 restricted page 17 of 47 优先级高的先发 ok 同级时间优先 ok 三个原则 按照落地方承受能力发送 ok 线程名与落地方的对应关系线程名与落地方的完全对应 ok 线程每次循环取 saf 记录数记录数正确 ok 线程循环间隔时间间隔时间正确 ok 线程睡眠时间若 t2-t1=t,则告警(须调整间隔时长) ,继续 执行 1。否则 sleep(t- (t2-t1)) ok 落地方与线程落地方与线程同一个落地方与线程唯一对应同一个落地方与线程唯一对应错误错误: : 可以不唯一对应可以不唯一对应 .3支撑数据和测试结果表支撑数据和测试结果表 线程线程每次捞每次捞 safsaf 数数 量量 落地落地 方方 落地方落地方 接收能力接收能力 压力测试项压力测试项压力测试结果压力测试结果 捞次数/睡次数 8/0 最少/最大/平均捞数据耗时 ms 468288/626185/586774 线程 1 1002001 5911 8981 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 8/0 最少/最大/平均捞数据耗时 ms 519297/661643/612259 线程 2 1002701 7711 9711 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 7/0 最少/最大/平均捞数据耗时 ms 556247/723280/675301 线程 3 1003711 7311 7911 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 7/0 最少/最大/平均捞数据耗时 ms 596618/764844/706594 线程 4 1002301 2801 8911 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 7/0 最少/最大/平均捞数据耗时 ms 481347/789852/707512 线程 5 1002901 8511 8711 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 10/0 最少/最大/平均捞数据耗时 ms 374084/562711/493206 线程 6 1009311 3111 3511 5311 30 60 90 30 最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 9/0 最少/最大/平均捞数据耗时 ms 439257/581731/539130 线程 7 1002101 2201 4711 60 90 30最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 10/0 线程 8 1002501 5511 60 90最少/最大/平均捞数据耗时 ms355052/498521/463642 comment huangxb5: 页:18 (586774+612259+675301+706594+707 512+493206+539130+463642)/8=59805 2.25 restricted page 18 of 47 571130 最少/最大/平均睡眠时间 ms 0/0/0 8 线程共同捞且发送 saf 数据(条):10530 8 线程共同捞且发送 saf 数据平均耗时(毫秒): 598052.25 8 个线程共捞且发送 saf 记录循环平均次数:8.25 次 8 线程共同捞且发送 saf 数据平均速度平均速度( (条条/ /秒秒):): 2.132.13(10530/598.05225/8.25) .4性能曲线图性能曲线图 图表说明:捞图表说明:捞 safsaf 数据且发送数据所耗时间数据且发送数据所耗时间( (秒秒) )图图 x 轴为线程循环次数,y 轴为捞 saf 数据且发送数据所耗时间(秒) 整个运行期间整个运行期间, ,所有线程中耗时最小所有线程中耗时最小 355355 秒秒, ,最大最大 790790 秒秒, ,平均值平均值: :598598 秒秒 0 200 400 600 800 1000 12345678910 线程1 线程2 线程3 线程4 线程5 线程6 线程7 线程8 图表说明:图表说明:memorymemory freefree 检测图检测图 x 轴为每间隔 5 秒循环检测 memory free 次数,y 轴为 memory free 值(m) memory free 值来源于服务器的 top 命令中 memory free 值 物理内存: 2097152 kbytes memory free 值(m)(起点 388m):整个运行期间整个运行期间, ,最小值最小值:126.82m,:126.82m,最大值最大值 287.73m,287.73m,平均值平均值: : 194.13m(194.13m(平均耗内存平均耗内存 388-194=388-194= 194m)194m) restricted page 19 of 47 0 50 100 150 200 250 300 350 400 1 19 37 55 73 91 109 127 145 163 181 199 217 235 memory free 图表说明:图表说明:usercpuusercpu、syscpusyscpu idlecpuidlecpu 的平均值检测图的平均值检测图 x 轴为每间隔 5 秒循环检测 cpu 次数,y 轴为 usercpu、syscpu idlecpu 的平均值(%) usercpu、syscpu idlecpu 值来源于服务器的 top 命令中 usercpu、syscpu idlecpu 的 avg 值 usercpu 值(%):整个运行期间整个运行期间, ,最小值最小值:1%,:1%,最大值最大值 23.8%,23.8%,平均值平均值:5.33%:5.33% syscpu 值(%):整个运行期间整个运行期间, ,最小值最小值:0%,:0%,最大值最大值 36.6%,36.6%,平均值平均值:5.40%:5.40% idlecpu 值(%):整个运行期间整个运行期间, ,最小值最小值:0%,:0%,最大值最大值 99%,99%,平均值平均值:79.11%:79.11% 0 20 40 60 80 100 120 1 18 35 52 69 86 103 120 137 154 171 188 205 222 239 user_cpu% sys_cpu% idle_cpu% 图表说明:图表说明:diskdisk 检测图检测图 x 轴为每间隔 5 秒循环检测 disk 次数,y 轴为 disk busy 值(%) disk busy 值来源于服务器的 sar -d 命令中 disk busy 值 disk busy 值(%):整个运行期间整个运行期间, ,最小值最小值:94.29%,:94.29%,最大值最大值 100%,100%,平均值平均值:99.8%:99.8% restricted page 20 of 47 0 20 40 60 80 100 120 1 18 35 52 69 86 103 120 137 154 171 188 205 222 disk busy% .5压力测试小结压力测试小结 下列测试指标证明系统处于极度饱和极度饱和状态 8 线程共同捞且发送 saf 数据平均速度平均速度: : 2.132.13 ( (条条/ /秒秒) ) 捞 saf 数据且发送数据(平均每线程每次大约 160 条记录)所耗时间, 所有线程中耗时 最小 355 秒,最大 790 秒,平均值平均值:598:598 秒秒 memory free 值(m),整个运行期间,最小值:126.82m,最大值 287.73m,平均值: 194.13m(平均耗内存平均耗内存 388-194=388-194= 194m194m) idlecpu 值(%),整个运行期间,最小值:0%,最大值 99%,平均值平均值:79.11%:79.11% disk busy 值(%),整个运行期间,最小值:94.29%,最大值 100%,平均值平均值:99.8%:99.8% 系统处于极度饱和状态,瓶颈在系统处于极度饱和状态,瓶颈在 diskdisk 的读写操作的读写操作 4 4 压力测试场景三压力测试场景三 4.14.1 场景三特征场景三特征 与场景二几乎相同,不同的是未处理数据降为 10 万条,已经处理数据升为 40 万 条。验证未处理数据量从 20 万降到 10 万后,数据库访问的吞吐能力是否有改善,可 以改善多少? 本场景是在启动 sc、关闭 sn1、sn2 应用后进行测试。 comment huangxb6: 页:21 压力测试场景二是 20 万 comment huangxb7: 页:21 压力测试场景二是 30 万 restricted page 21 of 47 4.24.2 测试数据测试数据 .1线程信息表线程信息表 与压力测试场景二完全相同 .2线程与落地方关系表线程与落地方关系表 与压力测试场景二完全相同 .3safsaf 数据关系数据关系 节点数节点数safsaf 总记总记 录录 未处理未处理 数数 已处理已处理 数数 间隔时间隔时 间间 中心捞中心捞 数数/ /次次 线程数线程数每线程每线程 处理的处理的 省省 每省承受每省承受 84%的省 (26 省) 50 万10 万40 万 5s100834*(30/60/90) 4*(120/150/180) 注释: 1.saf 总记录数 50 万,未处理的 10 万,占总数的 20% 2.10 万未处理的数据平均散落到 25 个省中,平均 4000 条/省 3.每条 saf 记录的发送优先级别是在 4,5,6 三个优先级别的其中之一 4.34.3 测试步骤测试步骤 与压力测试场景二完全相同 注释: 本压力测试主要测试从几十万级的 saf 数据中捞出需要发送数据记录的能力,因 此为突出重点,简化了系统环境,即把程序中发送语句临时注释掉(不发送) 。 comment huangxb8: 页:22 8 个线程中最大的耗时 comment huangxb9: 页:22 8 个线程最小的耗时 restricted page 22 of 47 4.44.4 测试结果测试结果 .1测试日志和脚本测试日志和脚本 1).(参见压力测试场景三测试日志.rar ) 一一一一一一一一一一一.rar 2).(参见场景一压力测试日志解释程序)hibernatetest1.java .2基本测试结果基本测试结果 与压力测试场景二的【基本测试结果】完全相同 .3支撑数据和测试结果表支撑数据和测试结果表 线程线程每次捞每次捞 safsaf 数数 量量 落地落地 方方 落地方落地方 接收能力接收能力 压力测试项压力测试项压力测试结果压力测试结果 捞次数/睡次数 9/0 最少/最大/平均捞数据耗时 ms 512082/707294/644933 线程 1 1002001 5911 8981 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 8/0 最少/最大/平均捞数据耗时 ms 566412/746557/697741 线程 2 1002701 7711 9711 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 8/0 最少/最大/平均捞数据耗时 ms 466549/783236/727308 线程 3 1003711 7311 7911 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 7/0 最少/最大/平均捞数据耗时 ms 672171/867508/806515 线程 4 1002301 2801 8911 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 7/0 最少/最大/平均捞数据耗时 ms 701674/895853/827782 线程 5 1002901 8511 8711 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 10/0 线程 6 1009311 3111 3511 30 60 90 最少/最大/平均捞数据耗时 ms 461408/600837/566296 restricted page 23 of 47 531130 最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 9/0 最少/最大/平均捞数据耗时 ms 501364/658966/612649 线程 7 1002101 2201 4711 60 90 30最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 11/0 最少/最大/平均捞数据耗时 ms 465952/558570/525924 线程 8 1002501 5511 5711 60 90 30最少/最大/平均睡眠时间 ms 0/0/0 8 线程共同捞且发送 saf 数据(条): 11010 8 线程共同捞且发送 saf 数据平均耗时(毫秒): 676143.5 8 个线程共捞且发送 saf 记录循环平均次数: 8.63 次 8 线程共同捞且发送 saf 数据平均速度平均速度( (条条/ /秒秒):): 1.891.89 (11010/676.1435/8.63) .4性能曲线图性能曲线图 图表说明:捞图表说明:捞 safsaf 数据且发送数据所耗时间数据且发送数据所耗时间( (秒秒) )图图 x 轴为线程循环次数,y 轴为捞 saf 数据且发送数据所耗时间(秒) 整个运行期间整个运行期间, ,所有线程中耗时最小所有线程中耗时最小 461461 秒秒, ,最大最大 807807 秒秒, ,平均值平均值:676:676 秒秒 0 200 400 600 800 1000 1234567891011 线程1 线程2 线程3 线程4 线程5 线程6 线程7 线程8 图表说明:图表说明:memorymemory freefree 检测图检测图 x 轴为每间隔 5 秒循环检测 memory free 次数,y 轴为 memory free 值(m) memory free 值来源于服务器的 top 命令中 memory free 值 物理内存: 2097152 kbytes memory free 值(m)(起点 388m):整个运行期间整个运行期间, ,最小值最小值:340.03m,:340.03m,最大值最大值 449.34m,449.34m,平均值平均值: : 358.90m(358.90m(平均耗内存平均耗内存 449.34-358.90=449.34-358.90= 90.44m)90.44m) restricted page 24 of 47 0 100 200 300 400 500 1 16 31 46 61 76 91 106 121 136 151 166 181 196 memory free 图表说明:图表说明:usercpuusercpu、syscpusyscpu idlecpuidlecpu 的平均值检测图的平均值检测图 x 轴为每间隔 5 秒循环检测 cpu 次数,y 轴为 usercpu、syscpu idlecpu 的平均值(%) usercpu、syscpu idlecpu 值来源于服务器的 top 命令中 usercpu、syscpu idlecpu 的 avg 值 usercpu 值(%):整个运行期间整个运行期间, ,最小值最小值:0%,:0%,最大值最大值 23.0%,23.0%,平均值平均值:5.03%:5.03% syscpu 值(%):整个运行期间整个运行期间, ,最小值最小值:0%,:0%,最大值最大值 27.5%,27.5%,平均值平均值:5.03%:5.03% idlecpu 值(%):整个运行期间整个运行期间, ,最小值最小值:0%,:0%,最大值最大值 100%,100%,平均值平均值:83.42%:83.42% 0 20 40 60 80 100 120 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 user_cpu% sys_cpu% idle_cpu% 图表说明:图表说明:diskdisk 检测图检测图 x 轴为每间隔 5 秒循环检测 disk 次数,y 轴为 disk busy 值(%) disk busy 值来源于服务器的 sar -d 命令中 disk busy 值 disk busy 值(%):整个运行期间整个运行期间, ,最小值最小值:98.06%,:98.06%,最大值最大值 100%,100%,平均值平均值:99.83%:99.83% restricted page 25 of 47 0 20 40 60 80 100 120 1 16 31 46 61 76 91 106 121 136 151 166 181 196 disk busy% .5压力测试小结压力测试小结 下列测试指标证明系统处于极度饱和极度饱和状态, 未处理数据量从 20 万降到 10 万后, 数据 库访问的吞吐能力几乎没有几乎没有改善 8 线程共同捞且发送 saf 数据平均速度平均速度: : 1.891.89 ( (条条/ /秒秒) ) 捞 saf 数据且发送数据(平均每线程每次大约 160 条记录)所耗时间, 所有线程中耗时 最小 461 秒,最大 807 秒,平均值平均值:676:676 秒秒 memory free 值(m),整个运行期间, 最小值:340.03m,最大值 449.34m,平均值: 358.90m(平均耗内存平均耗内存 449.34-358.90=449.34-358.90= 90.44m90.44m) idlecpu 值(%),整个运行期间, 最小值:0%,最大值 100%,平均值平均值:83.42%:83.42% disk busy 值(%),整个运行期间, 最小值:98.06%,最大值 100%,平均值平均值:99.83%:99.83% 系统仍然处于极度饱和状态,瓶颈在系统仍然处于极度饱和状态,瓶颈在 diskdisk 的读写操作的读写操作 5 5 压力测试场景四压力测试场景四 5.15.1 场景四特征场景四特征 与场景二、三几乎相同,不同的是未处理数据降为 5 万条,已经处理数据升为 45 万条。验证未处理数据量从 20 万降到 10 万再降到 5 万后,数据库访问的吞吐能力是 否有改善,可以改善多少? 本场景是在启动 sc、关闭 sn1、sn2 应用后进行测试。 restricted page 26 of 47 5.25.2 测试数据测试数据 .1线程信息表线程信息表 与压力测试场景二完全相同 .2线程与落地方关系表线程与落地方关系表 与压力测试场景二完全相同 .3safsaf 数据关系数据关系 节点数节点数safsaf 总记总记 录录 未处理未处理 数数 已处理已处理 数数 间隔时间隔时 间间 中心捞中心捞 数数/ /次次 线程数线程数每线程每线程 处理的处理的 省省 每省承受每省承受 84%的省 (26 省) 50 万5 万45 万 5s100834*(30/60/90) 4*(120/150/180) 注释: 1.saf 总记录数 50 万,未处理的 5 万,占总数的 10% 2.5 万未处理的数据平均散落到 25 个省中,平均 2000 条/省 3.每条 saf 记录的发送优先级别是在 4,5,6 三个优先级别的其中之一 5.35.3 测试步骤测试步骤 与压力测试场景二完全相同 注释: 本压力测试主要测试从几十万级的 saf 数据中捞出需要发送数据记录的能力,因 此为突出重点,简化了系统环境,即把程序中发送语句临时注释掉(不发送) 。 comment huangxb10: 页:27 8 线程中最大 restricted page 27 of 47 5.45.4 测试结果测试结果 .1测试日志和脚本测试日志和脚本 1).(参见压力测试场景四测试日志.rar ) 一一一一一一一一一一一.rar 2).(参见场景一压力测试日志解释程序)hibernatetest1.java .2基本测试结果基本测试结果 与压力测试场景二的【基本测试结果】完全相同 .3支撑数据和测试结果表支撑数据和测试结果表 线程线程每次捞每次捞 safsaf 数数 量量 落地落地 方方 落地方落地方 接收能力接收能力 压力测试项压力测试项压力测试结果压力测试结果 捞次数/睡次数 10/0 最少/最大/平均捞数据耗时 ms 444370/678349/619937 线程 1 1002001 5911 8981 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 9/0 最少/最大/平均捞数据耗时 ms 541071/740073/675894 线程 2 1002701 7711 9711 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 8/0 最少/最大/平均捞数据耗时 ms 703472/766885/743402 线程 3 1003711 7311 7911 30 60 90最少/最大/平均睡眠时间 ms 0/0/0 捞次数/睡次数 8/0 最少/最大/平均捞数据耗时 ms 661577/816840/768509 线程 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论