仓酷云

标题: MYSQL网站制作之ORACLE功能诊断D进修statspack条记(四... [打印本页]

作者: 因胸联盟    时间: 2015-1-16 22:39
标题: MYSQL网站制作之ORACLE功能诊断D进修statspack条记(四...
你碰到的问题可能已经在社区中被别的人已经问过,即使没有MySQL学习教程,你也可以提出问题或通过Google来搜索答案。社区的相关负责人士:“MySQL社区是活跃、友好和内容渊博的。”oracle|条记|服务器|统计|功能
ORACLE功能诊断D进修statspack条记(四)[扩大statspack搜集服务器统计]



刘颖博

工夫:2004-3-22

mail:liuyingbo@126.com,请斧正



转载请说明出处及作者



申明:因为STATSPACK其实不能猎取周全剖析功能成绩所必要的一切信息,以是必要扩大其搜集服务器的统计信息。(本文情况REDHAT Linux7.2)



VMSTAT先容

经由过程STATSPACK搜集服务器信息,次要经由过程搜集VMSTAT的信息来展示服务器情况。VMSTAT工具是最多见的UNIX监控工具,能够展示给准时间距离的服务器的形态值。

一样平常VMSTAT工具的利用是经由过程两个数字参数来完成的,第一个参数是采样的工夫距离数,单元是秒,第二个参数是采样的次数。如:

[oracle@brucelauoracle]$vmstat12

procsmemoryswapiosystem CPU

rbwswpdfreebuffcache sisobiboincsussyid

100027184418605225585200261021000100

000027184418605225585200001041100100



(注:今朝体系几近余暇,而且分歧操纵体系VMSTAT输入内容有所分歧)



今朝说来,关于服务器监控有效处的器度次要有:

r(运转行列)

pi(页导进)

us(用户CPU)

sy(体系CPU)

id(余暇)



经由过程VMSTAT辨认CPU瓶颈

r(运转行列)展现了正在实行和守候CPU资本的义务个数。当这个值凌驾了CPU数量,就会呈现CPU瓶颈了。

取得CPU个数的命令(LINUX情况):

cat/proc/cpuinfo|grepprocessor|wcCl

当r值凌驾了CPU个数,就会呈现CPU瓶颈,办理举措大致几种:

1.最复杂的就是增添CPU个数

2.经由过程调剂义务实行工夫,如年夜义务放到体系不忙碌的情形下举行实行,进尔均衡体系义务

3.调剂已有义务的优先级



经由过程VMSTAT辨认CPU满负荷

起首必要声明一点的是,vmstat中CPU的器度是百分比的。当us+sy的值靠近100的时分,暗示CPU正在靠近满负荷事情。但要注重的是,CPU满负荷事情其实不能申明甚么,UNIX老是试图要CPU尽量的忙碌,使得义务的吞吐量最年夜化。独一可以断定CPU瓶颈的仍是r(运转行列)的值。



经由过程VMSTAT辨认RAM瓶颈

数据库服务器都只要无限的RAM,呈现内存争用征象是Oracle的罕见成绩。

起首观察RAM的数目,命令以下(LINUX情况):

[root@brucelauroot]#free

totalusedfreesharedbufferscached

Mem:1027348873312154036185736187496293964

-/+buffers/cache:391852635496

Swap:209644002096440



固然可使用top等其他命令来显现RAM。

当内存的需求年夜于RAM的数目,服务器启动了假造内存机制,经由过程假造内存,能够将RAM段移到SWAPDISK的特别磁盘段上,如许会呈现假造内存的页导出和页导进征象,页导出其实不能申明RAM瓶颈,假造内存体系常常会对内存段举行页导出,但页导进操纵就标明了服务器必要更多的内存了,页导进必要从SWAPDISK大将内存段复制回RAM,招致服务器速率变慢。



办理的举措有几种:

1.最复杂的,加年夜RAM

2.改小SGA,使得对RAM需求削减

3.削减RAM的需求(如:削减PGA)



我们基础的懂得了VMSTAT事情,上面是STATSPACK经由过程vmstat统计搜集服务器功能数据。



STATSPACK经由过程vmstat搜集服务器信息

起首在perfstat用户下建一个存储服务器信息的表:如

建表:

createtablestats$vmstat

(

start_datedate,--体系工夫

durationdate,--工夫距离

server_namevarchar2(20),--服务器称号

runque_waitsnumber,--运转行列数据

page_innumber,--页导进数据

page_outnumber,--页导出数据

user_cpunumber,--用户cpu数据

system_cpunumber,--体系cpu数据

idle_cpunumber,--余暇cpu数据

wait_cpunumberC守候cpu数据(只是aix存在)

)

tablespaceperfstat;

然后,经由过程UNIX/LINUX的shell酿成,使用vmstat的了局来猎取响应的服务器信息,而且寄存到表中。



关于shell编程,大概已超越本文内容,而且老实的说,自己并没有shell编程的履历,但愿那位兄台能够完成shell编程的内容,并光驾mail给我共享一下,谢了先!!









附:

LINUX上VMSTAT的匡助手册:(manvmstat的了局)

VMSTAT(8)LinuxAdministratorsManualVMSTAT(8)

NAME

vmstat-Reportvirtualmemorystatistics



SYNOPSIS

vmstat[-n][delay[count]]

vmstat[-V]



DESCRIPTION

vmstatreportsinformationaboutprocesses,memory,paging,blockIO,traps,andCPUactivity.



Thefirstreportproducedgivesaveragessincethelastreboot.Additionalreportsgiveinformationonasam-

plingperiodoflengthdelay.Theprocessandmemoryreportsareinstantaneousineithercase.



Options

The-nswitchcausestheheadertobedisplayedonlyonceratherthanperiodically.



delayisthedelaybetweenupdatesinseconds.Ifnodelayisspecified,onlyonereportisprintedwiththe

averagevaluessinceboot.



countisthenumberofupdates.Ifnocountisspecifiedanddelayisdefined,countdefaultstoinfinity.



The-Vswitchresultsindisplayingversioninformation.



FIELDDESCRIPTIONS

Procs

r:Thenumberofprocesseswaitingforruntime.

b:Thenumberofprocessesinuninterruptablesleep.

w:Thenumberofprocessesswappedoutbutotherwiserunnable.This

fieldiscalculated,butLinuxneverdesperationswaps.



Memory

swpd:theamountofvirtualmemoryused(kB).

free:theamountofidlememory(kB).

buff:theamountofmemoryusedasbuffers(kB).



Swap

si:Amountofmemoryswappedinfromdisk(kB/s).

so:Amountofmemoryswappedtodisk(kB/s).



IO

bi:Blockssenttoablockdevice(blocks/s).

bo:Blocksreceivedfromablockdevice(blocks/s).



System

in:Thenumberofinterruptspersecond,includingtheclock.

cs:Thenumberofcontextswitchespersecond.

:CPU

ThesearepercentagesoftotalCPUtime.

us:usertime

sy:systemtime

id:idletime



NOTES

vmstatdoesnotrequirespecialpermissions.



Thesereportsareintendedtohelpidentifysystembottlenecks.Linuxvmstatdoesnotcountitselfasarun-

ningprocess.



Alllinuxblocksarecurrently1k,exceptforCD-ROMblockswhichare2k.



FILES

/proc/meminfo

/proc/stat

/proc/*/stat



SEEALSO

ps(1),top(1),free(1)



BUGS

Doesnottabulatetheblockioperdeviceorcountthenumberofsystemcalls.



AUTHOR

WrittenbyHenryWare<al172@yfn.ysu.edu>.



ThroatwobblerGinkgoLabs27July1994VMSTAT(8)





(待续)

……………………………………………………………………………………

参考

DonaldK.Burleson《ORACLEHIGH-PERFORMANCETUNINGWITHSTATSPACK》






你碰到的问题可能已经在社区中被别的人已经问过,即使没有MySQL学习教程,你也可以提出问题或通过Google来搜索答案。社区的相关负责人士:“MySQL社区是活跃、友好和内容渊博的。”
作者: 精灵巫婆    时间: 2015-1-19 20:40
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
作者: 仓酷云    时间: 2015-2-4 20:59
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
作者: 若天明    时间: 2015-2-10 10:06
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
作者: 不帅    时间: 2015-3-1 08:28
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
作者: 山那边是海    时间: 2015-3-10 13:00
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
作者: 乐观    时间: 2015-3-17 08:01
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
作者: 第二个灵魂    时间: 2015-3-24 02:30
原来公司用过MYSQL自己也只是建个表写个SQL




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2