汕头网站制作公司价格,产品软文是什么,汕头专业网站建设公司,上海猎头公司哪家好场景运行结束后#xff0c;需针对测试结果进行性能分析。通常而言#xff0c;Jmeter性能测试结果分析可从性能测试指标达成方面着手#xff0c;然后再分析测试过程中出现的异常情况#xff0c;逐一判断是否存在性能风险。1.用户登陆并发测试结果分析获取测试指标提取阶段获…场景运行结束后需针对测试结果进行性能分析。通常而言Jmeter性能测试结果分析可从性能测试指标达成方面着手然后再分析测试过程中出现的异常情况逐一判断是否存在性能风险。1.用户登陆并发测试结果分析获取测试指标提取阶段获得的用户登陆并发性能指标数据如表1所示。表1用户登陆并发性能指标测试项响应时间业务成功率并发测试CPU使用率内存使用率登陆5秒100%10080%80%(1)响应时间用户登陆响应时间目标指标5秒结合Jmeter执行结果后的聚合报告分析如图1所示。图1用户登陆并发测试聚合报告结果从图中可以看到每个请求的平均值为559.18毫秒、108毫秒、80毫秒用户登陆过程中的每一个请求均5秒故测试通过。在Average response time与90%、95%相差不大时可采用90%采样数据填入测试结果对比表。(2)Apdex性能指数Apdex(Application Performance Index)是一个国际通用标准Apdex 是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法把最终用户的体验和应用性能作为一个完整的指标进行统一度量。该指标在制定性能测试指标时可根据实际性能评价需求增加。图2表示为通用用户满意度区域0代表没有满意用户1则代表所有用户都满意。实际业务系统开发过程中1是团队的追求目标。图2 Apdex满意度指标针对ECShop用户登陆业务100个并发登陆的APDEX指标如图3所示。从图中可看出所有请求的Apdex值都接近1因此用户满意度优秀也从侧面说明了服务器响应速度快。图3用户登陆100并发APDEX指标情况(3)业务成功率测试脚本中设置了断言判断用户登陆后是否出现“登陆成功”字样并设定了“断言结果”查看器通过查看断言结果全部通过则说明登陆全部完成业务成功率为100%。图4用户登陆断言结果(4)并发数线程组设置为100个线程运行过程中未出现任何异常满足100个线程并发操作需求。(5)系统资源使用利用Jmeter监控系统资源测试完成后结果如图5所示。图5用户登陆并发测试系统资源图通过上图分析CPU处于正常状态因此次测试场景运行时间短所以波峰及波谷明显但均未持续超过80%内存几乎无变化被测服务器内存使用率维持在20%以内。因此测试结果符合预期目标指标。(6)数据库监控利用Spotlight监控到的服务器Mysql数据库在测试期间运行的SQL为SELECT,与被测登陆业务对数据库操作吻合如图6所示。图6用户登陆并发测试Mysql运行情况通过上述测试指标分析更新用户登陆并发测试结果表如表2所示。表2用户登陆并发测试结果对照表测试项结果属性响应时间业务成功率并发测试CPU使用率内存使用率 登陆预期结果5秒100%10080%80%实际结果0.169秒100%100不超过80%20%通过/失败YYYYY2.用户登陆业务量测试结果分析提取用户登陆业务量测试的目标指标如表3所示表3用户登陆业务量性能指标测试项响应时间业务成功率业务量CPU使用率内存使用率登陆5秒100%2小时5万次80%80%(1)响应时间测试完成生成测试报告后获取响应时间趋势图如图7所示。图7用户登陆业务量测试响应时间图通过上图分析采用90%采样数据分析整个请求任何一个请求均未超过5秒因此响应时间通过。(2)业务成功率测试过程中所有断言通过并且没有任何错误登陆成功率100%。“打开首页”、“打开用户登陆页面”、“提交登陆信息”与后面请求数据存在差异是因为测试时间到达后部分请求立刻停止故未能保证业务的完整性。(3)业务量本次业务量测试设置线程数为78个2小时完成登陆总数为8427次登陆其中包含了11秒操作停留时间如果去除11秒停留时间从数据理论计算2*60*60/0.13154961次可达到预期2小时5万次登陆操作需进一步测试。(4)系统资源使用通过Jmeter监控服务器CPU及内存使用率来看CPU及内存使用率非常稳定且维持在20%-30%之间满足预期目标不超过80%测试通过。图8用户登陆业务量测试2小时系统资源图(5) 数据库监控数据库执行过程监控正常符合业务请求变化趋势如图9所示。图9用户登陆业务量Mysql资源监控图通过上述测试指标分析更新用户登陆业务量测试结果表如表4所示。表4用户登陆业务量并发测试结果测试项结果属性响应时间业务成功率业务量CPU使用率内存使用率用户登陆预期结果5秒100%2小时5万80%80%实际结果0.131秒100%5496140%20%通过/失败YYNYY业务量测试存在一定差异可进一步测试。3.随机购物并发测试结果分析提取随机购物并发测试的目标指标如表5所示。表5随机购买商品并发测试目标指标测试项响应时间业务成功率并发测试CPU使用率内存使用率随机购买商品5秒100%10080%80%(1)响应时间测试完成后根据生成的测试报告获取随机购物100个并发响应时间如图10所示。图10随机购物并发测试响应时间通过上图分析随机购物100个线程并发执行时平均响应时间分别为631毫秒、105毫秒、588毫秒、748毫秒、246毫秒、288毫秒、786毫秒、2848毫秒、1934毫秒、2161毫秒、836毫秒、290毫秒、307毫秒通过这些数据分析每个请求所消耗的时间均未超过5秒但90%采样数据中“填写收货信息”请求响应时间为5395毫秒严格来说该请求测试不通过。更新测试目标指标表时可采用90%采样。(2)Apdex指标随机购物100个并发测试的Apdex指标信息如图11所示。图11随机购物100并发Apdex指标通过上图可以看出填写收货信息、提交物流及付款方式、进入物流及付款方式设定页面三个请求用户满意度低于0.5意味系统对这三个请求的响应时间较慢尤其是收货信息、提交物流及付款方式这两个情况。测试工程师可针对这两个请求给出性能测试不通过结论。通常而言最低要求超过0.5当然项目组可设定具体需求。(3)业务成功率测试结束后检查系统后台订单信息100个并发线程每个线程循环1次故生成100个订单且运行过程中没有任何错误。故认为随机购物100并发测试业务成功率为100%。(4)并发数线程组设置为100个线程运行过程中未出现任何异常满足100个线程并发操作需求。(5)系统资源使用执行过程通过Jmeter监控得到本次测试系统资源使用情况如图12所示。图12随机购买100并发系统资源监控图通过上图分析可知CPU在测试过程中持续值维持在90%以上有17秒时间几乎达到100%因此从指标信息判断本次CPU使用率超过预期80%的目标。同时内存使用率在25秒以后也呈现明显上升趋势需分析这段时间什么业务导致资源使用率上升。总体内存使用率维持在30%-40%之间低于预期目标不超过80%故内存使用率通过。基于CPU、内存使用率分析响应时间图表如图13所示。图13随机购买100并发响应时间图通过上图分析可知“填写收货信息”响应时间持续升高需测试工程师报告此问题联合研发同事分析“填写收货信息”涉及哪些具体操作如是否操作数据库是否需要大量缓存、是否调用第三方地址编辑控件等从而确定响应时间升高原因是否因此导致CPU及内存使用率升高。(6)数据库监控从Mysql数据库SQL语句执行速度来看符合场景执行设计过程但SQL中Inserts语句体现不明显需关注原因确定是监控本身问题还是被测对象SQL语句设计问题。图14随机购买100并发Mysql数据库资源图通过上述测试指标分析更新用户登陆并发测试结果表如表6所示。表6随机购买100并发测试结果测试项结果属性响应时间业务成功率并发测试CPU使用率内存使用率 随机购买商品预期结果5秒100%10080%80%实际结果2.302秒100%10090%20%通过/失败NYYNY综合测试数据分析“填写收货信息”请求响应时间超过5秒CPU使用率超过90%故随机购物100并发场景测试不通过。需分析“填写收货信息”涉及哪些操作导致响应时间变长的原因是否对CPU及内存使用率造成了影响。4.随机购物业务量测试结果分析提取随机购物业务量测试指标如表7所示表7随机购买商品业务量测试目标指标测试项响应时间业务成功率业务量CPU使用率内存使用率随机购买商品5秒100%2小时5万次80%80%100个线程持续执行2分钟后出现大量业务错误服务器CPU使用率持续维持在100%附近因此利用100个线程进行2小时的随机购物业务量测试失败。可根据需要利用折半验证法验证系统稳定性测试的最佳线程数及服务器资源配置是否合理。数据库报错如下MySQL server error report:Array( [0] Array ( [message] MySQL Query Error ) [1] Array ( [sql] INSERT INTO ecshop.ecs_order_info (order_sn, user_id, order_status, shipping_status, pay_status, consignee, country, province, city, district, address, zipcode, tel, mobile, email, best_time, sign_building, postscript, shipping_id, shipping_name, pay_id, pay_name, how_oos, card_message, inv_payee, inv_content, goods_amount, shipping_fee, insure_fee, pay_fee, pack_fee, card_fee, surplus, integral, integral_money, bonus, order_amount, from_ad, referer, add_time, pack_id, card_id, bonus_id, extension_code, extension_id, agency_id, inv_type, tax, parent_id, discount, lastmodify) VALUES (2017110775867, 2223, 0, 0, 0, hzdl00168, 1, 2, 37, 403, 北京东城区, , 01088888888, , hzdl00168qq.com, , , , 5, 申通快递, 2, 银行汇款/转帐, 等待所有商品备齐后再发, , , , 1999, 15, 0, 0, 0, 0, 0, 0, 0, 0, 2014.00, 0, 本站, 1510050069, 0, 0, 0, , 0, 0, , 0, 0, , 1510050069) ) [2] Array ( [error] Duplicate entry 2017110775867 for key order_sn ) [3] Array ( [errno] 1062 ))系统资源趋势图图15随机购买2小时业务量测试系统资源图上述所有场景如时间、条件、资源允许测试工程师应当多测试几次根据平均值输出测试报告。