Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1620676
  • 博文数量: 201
  • 博客积分: 2812
  • 博客等级: 少校
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-18 18:28
个人简介

从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。

文章存档

2016年(1)

2015年(8)

2014年(23)

2013年(50)

2012年(32)

2011年(87)

分类: Sybase

2011-01-30 17:59:38

3. IQ UTILITIES
   在前一篇文章中介绍了IQ sql trace工具,在这篇文章中将向大家介绍IQ提供的另一个性能监控、诊断工具IQ UTILITIES。这个工具能够采集IQ内部组件的运行时统计信息,通过分析这些信息能够发现IQ Server存在的问题、瓶颈,从而为诊断问题提供线索。
(1) 说明
   IQ Utilities是IQ提供的一个扩展SQL命令,它可以在所有IQ版本中使用,包括:IQ 12.6、IQ 12.7和IQ 15等。通过使用IQ utilities 命令我们可以启动或停止监控。当启动监控后,IQ会把监控结果信息写到server端的文件中。一个数据库连接上只能有一个main 监控文件和temp监控文件。一旦提交命令的连接退出,监控停止。
 
(2) 使用示例
   IQ UTILITIES命令的具体语法,大家可以参考IQ的参考手册。下面给出一些例子来说明其用法:
  
   --监控summary类信息
   IQ UTILITIES MAIN INTO monitor START MONITOR '-summary -append -file_suffix summary-iqmon -interval 30'; 
   IQ UTILITIES PRIVATE INTO monitor START MONITOR '-summary -append -file_suffix summary-iqmon -interval 60';
 
   --监控cache类信息
   IQ UTILITIES MAIN INTO monitor START MONITOR '-cache -append -file_suffix cache-iqmon -interval 30';
   IQ UTILITIES PRIVATE INTO monitor START MONITOR '-cache -append -file_suffix cache-iqmon -interval 30'
 
   --一个监控脚本的例子:iq_util_mon.sql
   IQ UTILITIES MAIN INTO monitor START MONITOR '-summary -append -file_suffix summary-iqmon -interval 6';
   WAITFOR DELAY '00:00:10'; --这个语句为了能够延迟退出,如果没有的话,那么连接立即退出就不
                             --能获得监控信息了。
 
(3) 重要的统计信息项
 A. -summary 类中的重要信息项:

    Finds: buffer cache被请求的次数(Find requests to the buffer cache).
           如果Finds的值突然降到并保持为0,那么Server很可能发生“死锁”.
   
    HR%:   buffer cache命中率.是指无须发生物理I/O请求,buffer cache就可以满足请求的百分比。
           HR%的值越高越好,如果设置的高速缓存足够大(通常该值为90%—100%),对于大的查询,Hit Rate可能一开始较低,但是当预取操作开始起作用时,Hit Rate会增大。
  
    Reads/Writes: 物理“读/写”操作的次数。
  
    GDirty: 某一操作为获取buffers(以LRU结构组织),必须停止(stall)以等待这些脏buffers中的数据写到磁盘上的次数。
    如果GDIRTY大于0,则表明buffer cache中充满了脏数据。如果是上述情况,则需要移动清洗标志(wash marker)或者增加清扫夫线程(sweeper thread)的数量。
  
    Pin%: buffer cache中被使用并且被锁住页面的百分比。
  
    Dirty%: 被修改的buffers的百分比。应确保Dirty Percent值不大于85-90%,否则GDirty值将大于0。(也就是说Dirty%与GDirty有一定的相关)
  
    InUse%: buffer cache中被使用的buffers的百分比。

B. -cache类中的重要信息项:

   Finds:  同-summary。

   Creats: 创建buffers操作被调用的次数。

   Dests:  destroy buffer操作被调用的次数。
 
   Dirty:  buffer被修改的次数。
 
   HR%:    同-summary。
 
   BWaits: 该统计值是一线程请求缓冲区中的buffer,但是由于buffer繁忙而等待的次数。通常这个统计值很小,但是在一些特定的情况下可能会比较高。例如:如果两个用户同时执行相同的查询,查询需要相同的页面,这样有一个查询必须等待另一个查询把数据读到缓冲区的buffer中。注意:-Bwait值正常情况下应该比较小。
 
   Reads/Writes:  同-summary。
 
   PF/PFMiss/PFFnd(PF/PFRead):  PF:Prefetch请求的次数;PFRead:实际预读的次数。通常,我们希望预读能够命中在buffer cache中,如果没有命中就会执物理预读操作。太多的磁盘预读操作意味着内存不足,应考虑对内存的优化。
 
   GDirty:  同-summary。
 
   Pin%:    同-summary。
 
   Dirty%:  同-summary。
 
 
阅读(2824) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~