美文网首页
API接口性能测试

API接口性能测试

作者: helloKeith | 来源:发表于2019-11-26 12:26 被阅读0次

    性能测试的目的: 优化产品逻辑资源,改善运行环境

    场景:测性能缺陷

    内存泄漏:同一操作会使内存不断升高;容易导致内存空间不够用。

    内存溢出:在经过一系列操作后,在建议内存配置的机器下,内存超过最大值;产品运行效率变低,有可能运行直接卡死;

    内存上升过高:某些操作虽然不会弄爆内存,但是会使内存上涨幅度较大;应及时优化,在迭代过程中,随着新功能或资源的加入,导致内存过高,也不利于定位问题;

    cpu占用率飙升比较厉害:出现并发就容易导致CPU超过阈值;或者并发数会减少。

    CPU长期保持高位水平:代表功耗高。

    CPU占用最高值:观察什么操作会使将CPU资源占满,再分析是否合理。

    磁盘IO很高:观察什么操作会使将CPU资源占满,再分析是否合理。

    场景:测试性能瓶颈


    场景:测试性能迭代情况

    设好测试环境的资源配置,内存使用量,CPU使用量;客户端的线程数,确保数据源一样,测试脚本一样;

    TPS指标下降的原因:

    业务逻辑有更新,业务逻辑变慢了,调查函数的耗时;

    业务逻辑没有更新,外部服务耗时高了,调查外部服务的耗时;

    业务逻辑没有更新,外部服务耗时也没有变化,可能是测试环境有变化,重测上版本产品;

    总进程数与正在运行进程数增加

    在测试过程中,避免其他进程的执行对测试环境造成资源的损耗;

    磁盘IO频繁

    当CPU与内存使用资源未被占满,磁盘IO很高,证明瓶颈在磁盘IO。

    磁盘空间:满载情况下会导致程序运行失败。

    根据客户给出的机器配置用来跑产品,设置最大并发数,找出性能瓶颈;

    在测试环境,设置CPU、内存的最大设置最大并发数,找出性能瓶颈;

    备注:

    由于硬件不同,不同的测试环境会导致性能瓶颈不一样,所以一般会设置CPU和内存的使用最大值,以便于将性能瓶颈落在这两项比较直观的指标上。

    如果该API不能使CPU或内存满载,那需要研究性能瓶颈是否在其他地方,比如硬盘IO,如果不是有可能是网络延迟问题,可以继续增大并发数。

    只有在资源满载的情况下,才能确定该API运行不被其他因素影响。

    相关文章

      网友评论

          本文标题:API接口性能测试

          本文链接:https://www.haomeiwen.com/subject/fmejictx.html