![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件性能测试
Bonjour-S
悟已往之不谏
知来者之可追
展开
-
接口返回慢-定位
接口返回慢。查看接口本身,返回数据多达1M。所以慢。为什么会返回1m呢?因为没做分页。加上分页就好。研发回复:优化成本大,不想分页。那需不需要做优化?参考线上最多会返回多少,假如线上返回100条,是10S.需要优化,线上返回100条,1s。则不需要优化。什么事情都要分情况讨论。...原创 2021-11-24 15:02:59 · 680 阅读 · 0 评论 -
压测ES-cpu高解决方案
压测rpc接口,100并发压测es-cpu 100%-4c,带宽80M。带宽高是因为返回数据多,cpu高是因为有大量复杂计算。经过研发排查,查数据时候加了一个or条件,导致本来查27条返回了900条,导致带宽高。经过优化查询语句,cpu也降下来了。...原创 2021-11-24 09:59:15 · 2152 阅读 · 0 评论 -
tps压不上去+容器内存升高不降
最近测试过程中,遇到两次tps压不上去问题第一次是:阿里云上采用容器化部署,接口300个并发应用cpu的利用率很低,接口响应时间也很长。,因为接口逻辑非常简单,故研发怀疑是网络问题导致的。经过一系列排查,是因为购买的是阿里云最基础的slb服务,对每个应用的带宽使用有限制,导致并发量大的时候,接口请求会在slb排队等待,故导致应用的cpu资源没有被利用,将基础的slb服务换成专线网络,并发迅速提升并且应用的cpu也随升高,接口响应时间也降低。第二次是:接口只能压到100tps,查看应用和DB.原创 2020-09-28 21:20:38 · 982 阅读 · 0 评论 -
灵魂拷问--如何提高系统的性能?
昨天发现了系统的性能问题,于是乎开发人员问我,你有好的建议吗?我竟然一脸懵逼。看来,多让别人提问你可以提高自己的水平,于是本人陷入沉思,如何该提高系统的性能?容哀家好好思考一番:一般来讲,系统是由哪几个方面组成的?数据库、应用、网络组成的,那应该从这三方面去定位和提升。数据库:数据库的选择mysql/sqlserver/oracle/mogdb,配置,几核的cpu,连接数。数据的...原创 2020-01-17 11:03:03 · 286 阅读 · 0 评论 -
性能测试之--应用内存升高--内存泄漏
在性能测试过程中,发现应用的内存一直升高,解决方案?答:先去看应用是否配置了堆内存信息。若无,去配置,若已配置。如下:手动执行垃圾回收,执行成功内存回落则垃圾回收机制正常,执行后内存依然不回落则垃圾回收机制有问题,需要进一步排查。打堆dump信息,有两种方式:第一种在jvm上面打:点击堆dump,dump信息生成后会给出提示,在服务器的哪个路径下,进入到对应的服务器目录下查看d...原创 2019-09-02 14:06:36 · 1150 阅读 · 0 评论 -
支付场景性能测试梳理
近期接触了支付场景的性能测试,发现了很多严重的并发问题,要不是有性能测试,对公司会造成很大的损失:1、余额不够时候,能否支付成功?比如:卡余额有100块钱,商品1块钱,10并发循环20次,由200笔请求,会生成100笔支付成功的订单,96笔支付失败的订单,以及生成4笔失败的订单。生成100笔成功订单是因为扣除了钱,生成成功的订单。4笔失败是因为在并发情况下,查询时候有余额,但在真正...原创 2019-08-07 17:29:16 · 1413 阅读 · 0 评论 -
性能测试应用服务器CPU高--线程dump
性能测试过程中,我们会去监控资源的使用情况,一般监控哪些方面呢?1、服务器的资源情况(CPU/内存/网络/线程)2、数据库(慢查询/死锁)3、中间件(redis/memcache/rabbitmq)某日,在测试监控过程中发现,应用服务器的CPU非常高。分析:应用cpu高,说明进程非常耗用资源,进程又是由线程组成的,故登录服务器排查:步骤:1)用top命令查看占用资源高的进程...原创 2019-08-14 11:25:55 · 919 阅读 · 0 评论 -
性能测试埋数据的方法
在性能测试中,为了模拟测试环境与正式库数据惊人的相似,必须要做的前置条件是:埋数据,埋数据时候要注意什么?怎样快速的埋够1000万数据?埋数据注意:1、将关键字段的值参数化,避免造出的数据都是一样的,数据一样也容易导致索引失效。2、造数据时候要考虑到以后update或者delete时候方便,有一定的标志性。3、最好将参数值为时间的,调用time函数,比如,获取当前时间:${__...原创 2019-08-09 14:05:27 · 1442 阅读 · 0 评论 -
oracle 14400
insert插库时候报错oracle14400,提示错误信息为解决方案:选择要插入的表名称,点击view:查看分区的值,你要插入的数据不在这个values值里面,将要插入的数据改为values里面的值,插入成功。...原创 2019-08-09 13:29:30 · 2487 阅读 · 0 评论 -
mysql 慢查询
某年某月某日,在服务器上面查看mysql的慢查询日志。进入到对应的目录下(/var/lib/mysql),查看日志信息:查看打印的sql信息。其实此sql是一个定时任务。再拿到navicat上面用explain分析:查出其索引失效,为什么失效呢?因为研发在用日期做了索引,和当前日期去做比较时候加了date_formate函数,此函数导致索引失效。去掉formate函数,...原创 2019-07-17 16:05:32 · 171 阅读 · 0 评论 -
性能测试步骤和方法
性能测试可以发现项目中很多隐藏的问题,比如:sql查询慢的语句优化、内存泄漏、内存溢出、线程安全、线程死锁等问题,为上线后项目并发和长时间运行去除隐患。性能测试的步骤:step1:从研发那里得到接口清单、实际场景中的并发数量(tps)、以及相应时间(rt)。step2:测试人员根据接口清单调试脚本---埋底数据---要考虑到脚本与实际场景一致,不能自己创造出问题。step3...原创 2019-04-04 10:51:35 · 1508 阅读 · 4 评论