zoukankan      html  css  js  c++  java
  • 记录一次压测性能优化

    1.背景

    当前测试系统新增测试需求,单个用户需要同时从系统中获取10个资源的元数据,元数据来源是根据素材的唯一id从Hive数据平台中获取数据内容属于json格式的响应数据,整个响应实体非常之大,当前测试web平台所用的接口属于HIVE数据平台下cmapi代理接口下的web应用平台后台封装的三级代理接口,其中响应的内容中,需要和第三方交互的数据,存到redis中。

    2.测试过程

    Jmeter模拟整个请求,发起压测,按实际需求,首先模拟循环发送10个请求,压测10min,

    再模拟10个线程请求,循环10次,压测10min,在测试过程中,出现了报错以及web平台down掉,报错内容为{"code":"404","msg":"can't  get any info from hive"}和“502 Bad Gateway”等错误,为了验证是否是真的不存在此id资源,在压测结束后,我们单独来请求此资源,结果是能正常返回数据内容的,从另外的方面来分析,hive数据平台的压力应该不至于连10个线程的压力也支撑不起从代理层面来分析,也应该是hive > cmapi >= web才合理,那么为什么会出现这样的问题?

    3.探索分析过程

    根据出错第一指南,首先是查找请求日志,从日志中获得的反馈是一个redis错误,具体的错误内容现在已经不太记得,后续的解决方案是经过研发分析是保存到redis中的这部分数据输出了太多冗余日志,造成开启句柄量过多造成的资源浪费,后续修改了再次测试,请求量和并发量有了一定上升,所以系统测试的过程中,性能测试是非常有必要的,在未到达用户层面时就将问题暴漏出来,是节约企业成本的最佳实践指南。

    欢迎关注,后续继续分享测试过程中的小案例

     

  • 相关阅读:
    【python学习笔记】字符串格式化
    React-Props 一/列表渲染/条件渲染
    搜索电影小demo-react版(10.5-10.6)
    todolist-react版(9.20-9.21)
    el-form、form 等表单校验哪些事
    iframe 详解-在vue中使用iframe/iframe在vue中使用
    jmeter-beanshell 前置处理器 传参
    jmeter-beanshell-Typed variable declaration
    java 获取当前时间的年份、月份、周数
    jmeter-java.net.URISyntaxException: Illegal character in query at index 76
  • 原文地址:https://www.cnblogs.com/tython/p/12718923.html
Copyright © 2011-2022 走看看