点击上方"蓝字"
关注我们,享更多干货!
一、背景
由于行内某交易系统需要进行版本更新,为保证新版本上线后可以达到最优效果,根据需求,对该系统的Oracle数据库进行了一次深入诊断、分析和优化。在分析过程中,果然发现了一些由于SGA设置问题导致的系统运行风险。经过简单的优化,问题最终得以顺利解决。本文对整个分析排查过程、解决方案及最终效果进行了简单的描述和记录。
二、分析过程
数据库在日常没有发现性能问题时只需进行一些常规检查,日常进行的常规检查主要包括以下操作:
空间查看:
df -h
内存查看:
内存使用情况:
free -g
大页使用情况:
cat /proc/meminfo|grep Huge
内存页表使用情况:
cat /proc/meminfo|grep Table
CPU查看:
cat /proc/cpuinfo
主机动态性能查看:
vmstat 1
检查后发现,除主机动态性能外,其他检查项均正常,主机动态性能的问题为输出结果中wa比较高;一般来讲vmstat中wa为0,说明压力正常;当该值较大时,说明io等待比较严重,这可能是磁盘大量随机访问造成的,也有可能是磁盘的带宽出现了瓶颈。
该主机上仅运行了该交易系统的数据库,因此造成大量io访问的也只有可能是db。进一步到数据库中进行分析,查看此时数据库的等待事件:</