图表分析系统调优全面性的必要

继昨天对系统进行了初步的调优后,效果还是比较显著,DB time从500%降到了100%以内,当然过程还是充满艰辛,期间也是各种工具和分析语句斟酌了再三。
今天也没有收到任何报警,所以感觉问题似乎已经彻底解决了。在下午的时候查看了一下,发现在凌晨的时候有一个大的抖动,然后DB time基本持续在300%~400%左右。比预期的要高很多。

这个时候的第一感觉就是是不是调优出问题了,性能还是不够稳定啊,带着疑问查看了今天的数据归档情况,发现在这段时间内的数据归档频率还是很高的。在短短几个小时之内就会切换十多次。这个频率还是很高的。是不是因为调优导致的这种隐患呢。
带着疑问查看了近一个月以来的数据归档情况,发现还是带有一定的规律性的,按照这个规律今天是刚好碰到高峰期了。所以可以排除调优带来的隐患,而且我的改动也是针对几个具体的sql还没有做大动作。

那么调优之后系统的DB time提高了,那么逻辑读之类的指标是不是也有一定的浮动呢,答案是有,但是浮动很小,和原来相比简直可以忽略不计。可以看到右边的部分是调优之后的逻辑读变化,浮动还是很小的。

那么DB time突然提高的原因是什么呢,结果发现在数据库中有另外几个sql语句在做大批量的update,看来是一个例行维护的任务,因为涉及的表都很大,数据量都在亿级以上,都是些批量操作。
而且还有一个sql会基于db link从另外一个库去查取大量的数据,这个部分从设计上来说,确实依赖性耦合性较高,因为批量任务,不要求实时,所以可以考虑通过物化视图等来代替,通过增量刷新来得到过滤后的数据。这个部分因为改动部分较大,可能需要后期和开发商量一下改动方案。
下面的图形是通过zabbix得到的网卡的繁忙程度。可以看到在问题发生的时间段内还是有大量的数据通信。

但是经过分析还是有几条语句可以做在线调优的,还是结合sqlmonitor和sqlprofile来做,效率还是不错的。可以看到在短时间内DB time就会降下去。
这个案例对自己也是启示,这个调优还是需要做一个宏观的角度来看待,有的问题可能随着业务需求有一定的周期性,可能一周,也可能一月,需要结合详细的数据做一个全面的规划。同时也说明DB time也还是能够反映出一些潜在的问题的,如果在业务需求范围之内,DB time的提高本身就不是问题,因为DB time就算在很稳定的情况下,也不一定就没问题,DB time是一个参考,分析要全面,诊断要及时。

时间: 2024-10-28 20:08:04

图表分析系统调优全面性的必要的相关文章

性能测试知多少---性能分析与调优的原理

最近一直纠结性能分析与调优如何下手,先从硬件开始,还是先从代码或数据库.从操作系统(CPU调度,内存管理,进程调度,磁盘I/O).网络.协议(HTTP, TCP/IP ),还是从应用程序代码,数据库调优,中间件配置等方面入手. 单一个中间件又分web中间件(apache .IIS),应用中间件(tomcat .weblogic .webSphere )等,虽然都是中间件,每一样拎出来往深了学都不是一朝一夕之功.但调优对于每一项的要求又不仅仅是"知道"或"会使用"这么

UNIX系统调优经典文章

导致系统运行迟缓的原因 有许多不同的潜在的原因会导致系统运行迟缓,但通常可以将它们分为以下几个方面: 进程太多.您的系统可能仅仅只是同时运行了太多的应用程序,或者正在运行少量CPU密集型的操作.要么是服务器超负荷运行,要么是失控进程耗尽了系统资源. 活动内存太多.如果进程使用了大量的内存,那么系统可能会从磁盘换入大量的页面并将大量的页面换出到磁盘,这意味着您的系统花费在内存交换上的时间比真正使用内存的时间更多. 硬件故障.有时候,您会碰到导致系统运行迟缓的硬件故障.不能正常工作的网卡.硬盘或内存

Linux系统调优参数知多少?

所有的TCP/IP调优参数都位于/proc/sys/net/目录.例如,下面是最重要的一些调优参数,后面是它们的含义: 1./proc/sys/net/core/rmem_max - 最大的TCP数据接收缓冲 2./proc/sys/net/core/wmem_max - 最大的TCP数据发送缓冲 3./proc/sys/net/ipv4/tcp_timestamps - 时间戳在(请参考RFC 1323)TCP的包头增加12个字节 4./proc/sys/net/ipv4/tcp_sack -

ShopEx“我的网店”系统调优

全国最大电子商务软件及服务提供商ShopEx旗下"我的网店"作为独立网店在线开店平台,以其最新版面世,试图为电子商务创业者提供最为快速.易用.经济的开店服务.据悉,其完全整合了ECSHOP最新的稳定版系统,为商家提供免费空间.免费二级域名.免费网店维护等多种基础服务,更加囊括网店备案.网店装修.网店货源.网店代理.货源批发.网店推广.网店代销.通淘宝等在内的多项相关服务."我的网店"的全新版本,为众多有意向创业的电商朋友提供最优的方案平台. 自2007年上市以来,S

Winform 系统调优

  小白鼠条件: 以常见的树形结构树为例: 有两张结构相同的表table1(1w数据),table2 (2w数据),需要对比数据差异. 表结构如下:       id , parent_id, col1, col2, col3   常规做法是:            常规思想:        循环table1, 一.充分利用缓存效果: 操作系统的高速缓存.磁盘缓存等等,都是利用混存技术来提高系统响应速度.充分利用缓存可以大幅提高系统的响应时间.口说无凭,还是找一个小白鼠来看看:   现有系统中有

生产系统调优之_敢于质疑

接着昨天的那个问题来说.有个sql语句在做了统计信息收集之后,速度有了一定的提升,从5秒的响应降低到了2秒.但是和预期还是有一定 的差距,按照80条查询请求在短时间内响应.2秒*80000次/60/60=44.4小时,本来感觉可以接受的一下子就成了大问题. Elapsed Time (s) Executions Elapsed Time per Exec (s) %Total %CPU %IO SQL Id SQL Module SQL Text 31st May 305.44 145 2.11

生产系统调优之_毫秒级的改进

生产中有一个sql语句,做了union-all操作,对于时间的要求是极其严格的,目前已经从2秒的改进调整到了1秒以内,在此基础上还想做进一步的调整,因为极其频繁的查询,如果一丁点的改进都会在时间上的飞跃,以下的sql语句目前时间控制在不到半秒的样子. 因为表SMALL_OFFER_PARAM 是一个数据字典表,查询的字段上没有相关的索引.目前采用了exisits来做关联. SELECT DISTINCT 'K',                 AR.RESOURCE_VALUE,      

使用 tuned/tuned-adm 工具动态调优系统

使用 tuned/tuned-adm 工具动态调优系统 RHEL/CentOS 在 6.3 版本以后引入了一套新的系统调优工具 tuned/tuned-adm,其中 tuned 是服务端程序,用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的:tuned-adm 是客户端程序,用来和 tuned 打交道,用命令行的方式管理和配置 tuned,tuned-adm 提供了一些预先配置的优化方案可供直接使用,比如:笔记本.虚拟机.存储服务器等. 如果你正在使

使用tuned/tuned-adm工具动态调优你的CentOS系统教程

什么是tuned/tuned-adm tuned/tuned-adm是CentOS 在 6.3 版本以后引入了一套新的系统调优工具,其中 tuned 是服务端程序,用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的:tuned-adm 是客户端程序,用来和 tuned 打交道,用命令行的方式管理和配置 tuned,tuned-adm 提供了一些预先配置的优化方案可供直接使用,比如:笔记本.虚拟机.存储服务器等. 如果你正在使用笔记本(电池电源),想优化