1.问题描述:

客户新上的一个关键业务系统,在做上线前的压力测试时,应用的并发无法达到上线前的并发指标和响应时间指标要求。压测时TPS的曲线很不稳定,如下所示:

2.分析过程:

从上述知识点可以知道:

ORACLE中LGWR进程只有一个,由于所有进程在commit前都需要通知lgwr进程帮忙把之前在log buffer中生成的修改过程记录(改变向量)写到磁盘中。

当大量进程要同时请lgwr进程帮忙写时,就出现排队的情况。

在高并发的联机交易OLTP系统中,单进程的lgwr进程有可能成为一个大瓶颈,特别是在无法在线日志IO写性能出现问题的情况下。

因此,我们需要检查lgwr进程的状态。

通过gv$session观察RAC两个节点lgwr进程写日志的情况,结果如下图所示:

可以看到:

Ø  RAC(数据库集群)两个节点中,只有1个节点出现log file parallel write的等待,该等待表示lgwr进程正在对磁盘的在线日志文件进行写操作。

Ø  在state是waiting的情况下,节点1 log file parallel等待的seq#都是35693,但是seconds_in_wait达到了21秒。简单来说,就是lgwr进程写一个IO需要21秒!

这意味着,压测时所有并发进程必须要发生等待,等lgwr进程完成这个的IO,才可以继续通知LGWR进程帮忙刷log buffer的改变向量,因此从压测的TPS曲线来看,就是不稳定,出现了大幅衰减。

至此,我们可以肯定,IO子系统有问题

需要重点排查IO路径下的光纤线、SAN交换机、存储的报错和性能情况。、

考虑到客户那边管存储的团队/部门可能不承认数据库的IO慢的证据,同时为了让对方增加排查力度,远邦让客户发出以下命令,查看多路径软件的IO情况,结果如下图所示:

节点1上出现明显的IO ERROR,并且在持续增加!

继续检查节点2,发现节点2上没有任何IO ERROR!

这个与gv$session仅有一个进程在等log file parallel write写完是完全吻合的。

3.原因

在铁的证据面前,客户的存储团队没有再挣扎,而是开始认认真真逐个在排查,最终在更换了光纤线后问题得到圆满解决。以下是更换光纤线后再次压测的等待事件!

4.问题得到解决

压测的TPS曲线从原来的波浪形

变成了如下的良好曲线

mysql ssd tps 上不去_转【案例分享】压测TPS上不去相关推荐

  1. mysql实例和数据的安全_数据库安全--案例篇

    目的 由于<数据库安全浅析>一文中,主要介绍了数据库安全方面的一些基本安全策略,缺少了必要的案例分析和处理过程.为了进一步丰富数据库安全的内容,特撰文案例篇,主要介绍数据库安全上遇到的案例 ...

  2. jmeter constant timer 如何添加_阿里巴巴在开源压测工具 JMeter 上的实践和优化

    Apache JMeter 是 Apache 旗下的开源压测工具,创建于 1999 年初,迄今已有超过 20 年历史.JMeter 功能丰富,社区(用户群体)庞大,是主流开源压测工具之一. 性能测试通 ...

  3. 如何在label上显示字_如何地图上标注店面_新开的店铺要怎样上地图显示_怎么将公司标记在地图...

    新开的店铺商铺商家商户企业工厂怎么标注地图位置?如何地图上标注店面_怎么将店铺标记在地图_新开的店铺要怎样上地图显示?还没有办好营业执照可以做?您可能会有很多地图疑问?请直接联系腾图通地图服务公司为您 ...

  4. html上传文件_.NET基于WebUploader大文件分片上传、断网续传、秒传

    (给DotNet加星标,提升.Net技能) 转自:学习中的苦与乐 cnblogs.com/xiongze520/p/10412693.html 现在的项目开发基本上都用到了上传文件功能,或图片,或文档 ...

  5. mysql笔记(锁、事务、性能优化、压测结果)

    Mysql 该笔记,主要根据kkb课程并结合网上资料和自己的理解而形成. 一.Mysql架构 1.1 逻辑架构 这是从网上copy过来的图.网上一些教程会把mysql也进行分层. 连接层:Connec ...

  6. svga文件预览_工作案例分享:SVGA动效落地的使用与避坑

    编辑导读:网络上关于 SVGA 的讨论大多数都只是在软件上的问题,具体实践案例很少.本文作者依据工作中项目实践的所思所想,结合案例等分享了 SVGA 动效落地使用过程中非常有价值的设计知识,并对过程存 ...

  7. pb 导出文件 日期格式_「案例分享」ERP系统导出数据注意事项

    古哥辅导的企业大多都上了ERP,但有些共同点就是ERP没有用好,或者没有发挥ERP的最强大功能,这里分享其中一类问题,就是从系统中导出的数据格式太多,占用空间太大,运行速度太慢等等的问题:如何解决呢? ...

  8. java常用压测工具_几款常用压测工具推荐

    ab ab是apache自带的压力测试工具,使用起来非常方便. 安装 如果安装了apache, 那么ab已经安装好了,如果不想安装apache的话,可以通过以下方式安装ab # ubuntu sudo ...

  9. java 压测工具_几款常用压测工具推荐

    ab ab是apache自带的压力测试工具,使用起来非常方便. 安装 如果安装了apache, 那么ab已经安装好了,如果不想安装apache的话,可以通过以下方式安装ab # ubuntu sudo ...

最新文章

  1. docker 安装 RabbitMQ
  2. 无法启动MySQL数据库
  3. javascript数据结构与算法---检索算法(二分查找法、计算重复次数)
  4. python distutils模块(貌似是用来打包发布自定义python包的)
  5. UE4入门学习3:GamePlay框架
  6. JavaScript笔记-对wheelDeltaY和deltaY的体会
  7. SNMP简单网络管理协议
  8. 关于js中replace()只能替换字符串中第一个对象的问题
  9. Python bytearray()
  10. Spring Boot 2.1.3 整合 H2Datase 嵌入式数据库
  11. 【Java】JSP完全自学手册
  12. 国产超级英雄逆袭好莱坞
  13. Pandas 基础知识
  14. 深度学习模型中的参数数量(备忘)
  15. 【总结】56个JavaScript 实用工具函数助你提升开发效率!
  16. 假如编程是魔法之零基础看得懂的Python入门教程
  17. Java设计模式之行为型模式
  18. mathematica怎么用
  19. 蓝桥杯算法训练-逗志芃的危机
  20. matlab中的方波信号图片_如何在MATLAB R2019b中导出simulink的各种图片

热门文章

  1. 从Spring开始,Java EE 6必须具备哪些附加功能?
  2. Sublime Text安装格式化xml的插件
  3. 浅析 Linux 初始化系统(系统服务管理和控制程序/Init System) -- sysvinit/systemvinit(System V init)
  4. Linux 命令之 du -- 显示每个文件和目录的磁盘使用空间/所占用的磁盘空间大小/所使用的磁盘空间大小/查看文件和目录的大小
  5. prometheus命令_Prometheus 入门
  6. java enum 报错_enum报错问题,求大神帮看下
  7. C语言printf()函数具体解释和安全隐患
  8. Java反序列化json内存溢出_fastJson与一起堆内存溢出'血案'
  9. java count 在哪一类里_java 5线程中 Semaphore信号灯,CyclicBarrier类,CountDownLatch计数器以及Exchanger类使用...
  10. tinymce vue 部分工具不显示_tinymce-vue使用问题及解决记录