美文网首页
服务端压测如何定位性能瓶颈?

服务端压测如何定位性能瓶颈?

作者: 成功在于实践 | 来源:发表于2020-08-02 13:09 被阅读0次

    随着互联网发展,人们对网络的依赖越来越大,成千上万的用户游转在网络中,给提供服务的系统带来严重的系统负荷,同时却又对系统的流畅度等体验要求更高,系统性能的好坏将严重影响企业的利益,因此对于 IT 服务系统的性能测试与优化也越来越受业界的重视 。

    如何打造一个性能更高的系统呢?

    1. 找到短板,去优化去提升
    2. 快速定位业务的性能瓶颈,才是提升系统的关键点

    性能压测的目的

    找出性能瓶颈,给出性能指标,给出需要的配置

    影响性能的主要有这5大类:


    image.png

    场景分析一:

    高并发问题

    1. 稳定性压测
    2. 持续一定时长
    3. 高并发时报错

    瓶颈定位

    1. 分析异常场景
    2. 借助工具定位

    并发问题

    1. 并发量较小时:内存出现较小量级的增加,服务整体平稳
    2. 并发量增大时:内存使用随着程序运行增长,增加到一定量时,运行一段时间,内存耗尽,导致服务不可用。

    内存溢出
    压测时,top命令监控----写日志问题。磁盘IO速度小于写日志速度造成。

    场景分析二:

    资源利用率低,吞吐量上不去

    1. 通过观察系统日志,不同并发时,业务是否出现异常,超时,是否有网络问题。
    2. 是否是发压机有异常即发压机瓶颈。
    3. 线程设置不合理问题。
    4. 代码中加锁(同步锁等问题)

    场景分析三:

    资料利用率较高,吞吐量上不去

    1. 查看上下文切换
    2. 改动线程池,对比压测

    场景分析四:

    偶发超时

    1. 日志定位
    2. 网络抖动
    3. 借助工具定位耗时模块

    代码层面的问题解决方法

    1. 监控平台查询是否有Mysql或者Redis慢查询
    2. 借助工具(Arthas)监控体系请求的具体耗时情况,去定位偶发超时问题。

    总结一下

    image.png

    作者:牛颖 贝壳找房高级测试工程师
    来源:极客时间 *每日一课

    相关文章

      网友评论

          本文标题:服务端压测如何定位性能瓶颈?

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