动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.oracle概念和术语.
.Oracle使用ANYDATA列对数据串行化.
.如何使用Leading提示改变表连接方.
.exp和imp用法和介绍.
.如何使用BBED修复损坏的BLOCK.
.如何一次添加大量账户.
.数据库视图的使用.
.Linux系统病毒研究之一.
.ORACLE常用傻瓜问题1000问(之十二.
.在LINUX里面实现INTERNET共享连接.
.查找Oracle版本信息的简便方法介.
.在Windows 2000下 优化Oracle9i性.
.Oracle常用脚本备忘.
.Oracle时间信息特性.
.ORACLE在HP-UX下的系列问题处理(.
.关于数据库OS审计.
.Linux下IPV4和IPV6的互操作性研究.
.ORACLE问答精选.
.数据库开发:Oracle学习笔记.
.Oracle中使用SQL MODEL定义行间计.

ORACLE性能诊断―学习statspack笔记(四)[扩展statspack收集服务器统计]

发表日期:2008-2-9 |



  
Oracle性能诊断―学习statspack笔记(四)[扩展statspack收集服务器统计]

 

作者:刘颖博

时间:2004-3-22

mail:liuyingbo@126.com,请指正

 

转载请注明出处及作者

 

说明:由于STATSPACK并不能获取全面分析性能问题所需要的所有信息,所以需要扩展其收集服务器的统计信息。(本文环境REDHAT Linux7.2)

 

VMSTAT介绍

通过STATSPACK收集服务器信息,主要通过收集VMSTAT的信息来展现服务器状况。VMSTAT工具是最常见的UNIX监控工具,可以展现给定时间间隔的服务器的状态值。

       一般VMSTAT工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数。如:

[oracle@brUCelau oracle]$ vmstat 1 2

   procs                      memory    swap         io  system         CPU

 r  b  w   swpd   free   buff  cache   si  so    bi    bo   in    cs  us  sy  id

 1  0  0      0 271844 186052 255852   0   0     2     6  102    10   0   0 100

 0  0  0      0 271844 186052 255852   0   0     0     0  104    11   0   0 100

 

(注:目前系统几乎空闲,并且不同操作系统VMSTAT输出内容有所不同)

 

目前说来,对于服务器监控有用处的度量主要有:

r(运行队列)

pi(页导入)

us(用户CPU)

sy(系统CPU)

id(空闲)

 

通过VMSTAT识别CPU瓶颈

r(运行队列)展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了。

获得CPU个数的命令(Linux环境):

cat /proc/cpuinfogrep processorwc –l

当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@brucelau root]#free

             total       used       free     shared    buffers     cached

Mem:       1027348     873312     154036     185736     187496     293964

-/+ buffers/cache:     391852     635496

Swap:      2096440          0    2096440

 

当然可以使用top等其他命令来显示RAM。

当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的非凡磁盘段上,这样会出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,但页导入操作就表明了服务器需要更多的内存了,页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。

 

解决的办法有几种:

1.       最简单的,加大RAM

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

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

 

我们基本的了解了VMSTAT工作,下面是STATSPACK通过vmstat统计收集服务器性能数据。

 

STATSPACK通过vmstat收集服务器信息

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

建表:

create table stats$vmstat

(

start_date       date,  --系统时间

duration   date,  --时间间隔

server_name       varchar2(20), --服务器名称

runque_waits       number, --运行队列数据

page_in          number, --页导入数据

page_out       number, --页导出数据

user_cpu       number, --用户cpu数据

system_cpu       number, --系统cpu数据

idle_cpu       number, --空闲cpu数据

wait_cpu       number –等待cpu数据(只是aix存在)

)

tablespace perfstat;

然后,通过UNIX/LINUX的shell变成,利用vmstat的结果来获取相应的服务器信息,并且存放到表中。

 

关于shell编程,可能已经超出本文内容,并且老实的说,本人并没有shell编程的经验,希望那位兄台可以完成shell编程的内容,并劳驾mail给我共享一下,谢了先!!

 

 

 

 

附:

LINUX上VMSTAT的帮助手册:(man vmstat的结果)

VMSTAT(8)          Linux Administrator'
s Manual         VMSTAT(8)

NAME

       vmstat - Report virtual memory statistics

 

SYNOPSIS

       vmstat [-n] [delay [ count]]

       vmstat[-V]

 

DESCRIPTION

       vmstat reports information about processes, memory, paging, block IO, traps, and CPU activity.

 

       The  first report produced gives averages since the last reboot.  Additional reports give information on a sam-

       pling period of length delay.  The process and memory reports are instantaneous in either case.

 

   Options

       The -n switch  causes the header to be displayed only once rather than periodically.

 

       delay is the delay between updates in seconds.  If no delay is specified, only one report is printed  with  the

       average values since boot.

 

       count is the number of updates.  If no count is specified and delay is defined, count defaults to infinity.

 

       The -V switch results in displaying version information.

 

FIELD DESCRIPTIONS

   Procs

       r: The number of processes waiting for run time.

       b: The number of processes in uninterruptable sleep.

       w: The number of processes swapped out but otherwise runnable.  This

          field is calculated, but Linux never desperation swaps.

 

   Memory

       swpd: the amount of virtual memory used (kB).

       free: the amount of idle memory (kB).

       buff: the amount of memory used as buffers (kB).

 

   Swap

       si: Amount of memory swapped in from disk (kB/s).

       so: Amount of memory swapped to disk (kB/s).

 

   IO

       bi: Blocks sent to a block device (blocks/s).

       bo: Blocks received from a block device (blocks/s).

 

   System

 
      in: The number of interrupts per second, including the clock.

       cs: The number of context switches per second.

:   CPU

       These are percentages of total CPU time.

       us: user time

       sy: system time

       id: idle time

 

NOTES

       vmstat does not require special permissions.

 

       These  reports  are intended to help identify system bottlenecks.  Linux vmstat does not count itself as a run-

       ning process.

 

       All linux blocks are currently 1k, except for CD-ROM blocks which are 2k.

 

FILES

       /proc/meminfo

       /proc/stat

       /proc/*/stat

 

SEE ALSO

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

 

BUGS

       Does not tabulate the block io per device or count the number of system calls.

 

AUTHOR

       Written by Henry Ware <al172@yfn.ysu.edu>.

 

Throatwobbler Ginkgo Labs 27 July 1994                  VMSTAT(8)

 

 

(待续)

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

参考

Donald K.Burleson《ORACLE HIGH-PERFORMANCE TUNING WITH STATSPACK》

 

 

 
上一篇:如何在Windows 2000环境中Kill掉单个Oracle线程 人气:454
下一篇:Oracle Database 10g:最佳新特性(第二周:回滚监视 ) 人气:438
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-15 自由岭峰行业专用留言系统 v1.87
2008-10-15 Tikiwiki v1.9.11 多国语言版
2008-10-15 Roclog v3.1.6.28
2008-10-15 谷秋精品课程开发系统 v2.1
2008-10-15 pageadmin企业网站管理系统 v2.1
2008-10-15 晴天免费电影系统完整版(带迅雷采
2008-10-15 PHP-B2B v2.4.0 UTF8 Beta版
2008-10-15 云峰多用户网络进销存B/S v2.1
2008-10-15 Qspace v1.1.1 Access
2008-10-16 Microsoft Office 2003 Service
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成