随笔分类 -  性能测试

摘要:tcprstat分析服务的响应速度利器 tcprstat是percona用来监测mysql响应时间的。不过对于任何运行在TCP协议上的响应时间,都可以用。 下面是一个监控示例,监控分析mysql的3306端口。 根据上面的信息,我们可以知道mysql在我们检测期间,对于客户端查询的最大响应时间是55 阅读全文
posted @ 2019-10-23 15:48 Agoly 阅读(2147) 评论(0) 推荐(0)
摘要:估计大部分开发者更多地关注功能测试,并且会提供一些单元测试和集成测试的用例。然而,有时候性能漏洞导致的影响比未发现的业务漏洞更严重,因为性能漏洞影响的是整个系统,而不仅仅是一个业务进程。 大部分的性能测试人员听过 Jmeter ,但是今天将介绍有竞争力的解决方案 Gatling 。它能生成丰富多彩的 阅读全文
posted @ 2019-10-22 16:04 Agoly 阅读(1828) 评论(0) 推荐(0)
摘要:一、使用背景 gor 是一款go语言实现的简单的http流量复制工具,它的主要目的是使你的生产环境HTTP真实流量在测试环境和预发布环境重现。只需要在 代理例如nginx入口服务器上执行一个进程,就可以把生产环境的流量复制到任何地方, 完美解决了HTTP 层实时流量复制和压力测试的问题。常见的HTT 阅读全文
posted @ 2019-09-27 16:30 Agoly 阅读(7331) 评论(1) 推荐(0)
摘要:大家在项目测试过程中,是不是经常会碰到这个空指针异常呢Caused by: java.lang.NullPointerException: null 当大家遇到这个问题,大家是怎么处理?自己解决还是让开发来解决 以下是小编自己遇到的实际案例: 查询组织详情的时候,出现系统异常 既然出现了问题,那么就 阅读全文
posted @ 2019-09-27 10:07 Agoly 阅读(16179) 评论(1) 推荐(2)
摘要:业务场景: 也测的业务,如上图,通过捕获业务的涉及的接口如下: 查询接口耗时大于7s,已经是非常的慢 经验提示: 一般接口响应时间慢的问题,最简单的方式就是监控接口相关的sql是否存在问题 开启mysql的慢查询监控: 这两个sql加起来,大致等于接口的响应时间,证明问题猜的没错,问题就是这两个sq 阅读全文
posted @ 2019-09-26 11:19 Agoly 阅读(924) 评论(0) 推荐(0)
摘要:最近在部署性能测试环境的时候,环境 部署好以后,部分功能出现接口查询异常,问题现象: 拿到错误,肯定要先判断是前端还是后端代码的问题,最简单的方式是抓包查看: 以上是报错页面捕获的接口报错,很明显的接口已经报错了,那么就直接查看后端的日志: 查看日志分两步: 1.查看网关web端的日志: 从日志可以 阅读全文
posted @ 2019-09-24 19:39 Agoly 阅读(24389) 评论(0) 推荐(0)
摘要:在某项目的第一轮性能测试的中,发现某协议响应时间很长,通过javamethod监控相关接口的调用耗时的时候监控结果如下: onMessage是该协议的总入口,可以看到该协议平均耗时为352.11ms,观察其他耗时方法可以看到updateUserForeignId耗时307.75ms, 那么可以认为该 阅读全文
posted @ 2019-09-23 11:16 Agoly 阅读(2994) 评论(2) 推荐(1)
摘要:最近闲着没事做,就重新研究了一下基于python语言的Locust性能测试框架 发现在压测的过程中,虽然设置了100并发,但是通过实际监控,完全看不到100并发压测的效果 通过代码AOP日志监控接口的耗时情况如下:基本在0-2ms,采用读取redis缓存数据 但是通过Locust的统计的结果是平均耗 阅读全文
posted @ 2019-08-30 11:08 Agoly 阅读(1466) 评论(0) 推荐(0)
摘要:POST /debtorder/debt/uploadExcel 30个并发压测就会出现5302服务宕机 问题主要是出现在excel文件解析上,即使excel文件中只有一条记录,也会出现OOM 由于采用的是POI解析文件,EXCEL解析的时候内存占用太大,容易导致内存溢出,所以优化后,采用阿里的ea 阅读全文
posted @ 2019-08-14 15:58 Agoly 阅读(206) 评论(0) 推荐(0)
摘要:什么是查询缓存 MyBatis有一级缓存和二级缓存。 一级缓存 首先看一下什么是一级缓存,一级缓存是指SqlSession。一级缓存的作用域是一个SqlSession。Mybatis默认开启一级缓存。 在同一个SqlSession中,执行相同的查询SQL,第一次会去查询数据库,并写到缓存中;第二次直 阅读全文
posted @ 2019-07-02 15:40 Agoly 阅读(521) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-06-21 16:05 Agoly 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-06-19 15:34 Agoly 阅读(3) 评论(0) 推荐(0)
摘要:原始sql: 执行计划如下: 在查询过程中存在全表查询,并发量上来肯定db的负载会非常高 优化后: 阅读全文
posted @ 2019-06-19 12:36 Agoly 阅读(352) 评论(0) 推荐(0)
摘要:目前,Redis哨兵模式,内存资源有限,有很多key大于500M,性能待优化。需要迁移至Redis-cluster集群中。 涉及到的key如下: 0,hash,duser_record,816641556,hashtable,2771047,184 9,hash,pcts_product_exter 阅读全文
posted @ 2019-06-18 18:32 Agoly 阅读(617) 评论(1) 推荐(0)
摘要:主要考虑从业务层做性能优化: 性能优化描述(必填): 由于目前判断用户是否是新手标的接口实现方案是:每次都统计用户的投资记录,这样会导致性能比较慢,所以新做一个用户维度的表,来保存用户投资相关统计数据。 1、目前记录数据包括:用户总投资数,非体验标投资数,体验标投资数。 2、此记录表后面可在需要时, 阅读全文
posted @ 2019-06-18 18:31 Agoly 阅读(196) 评论(0) 推荐(0)
摘要:一、缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了, 而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃 阅读全文
posted @ 2019-06-14 18:03 Agoly 阅读(413) 评论(0) 推荐(0)
摘要:Hystrix是什么? hystrix对应的中文名字是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hystrix本身的功能不谋而合,因此Netflix团队将该框架命名为Hystrix,并使用了对应的卡通形象做作为logo。 在一个分布式系统里,许多依赖不可避免的会调 阅读全文
posted @ 2019-06-11 14:27 Agoly 阅读(923) 评论(0) 推荐(0)
摘要:{ "message": "success", "code": "M00000", "data": { "bankList": [ { "bankName": "中国邮政储蓄银行", "bankCode": "PSBC", "patterns": [ { "reg": "^(621096|62109 阅读全文
posted @ 2019-06-05 15:56 Agoly 阅读(4051) 评论(0) 推荐(0)