• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Unix环境性能测试指令详解

发布: 2009-12-23 23:18 | 作者: 网络转载 | 来源: 领测软件测试 | 查看: 119次 | 进入软件测试论坛讨论

领测软件测试网

 

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)。 虚拟内存的页导入(从SWAP DISK导入RAM)
 
  so: Amount of memory swapped to disk (kB/s)。 虚拟内存的页导出。
 
  (从RAM到SWAP DISK)
 
  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如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
 
  如果pi,po 长期不等于0,表示内存不足。
 
  如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。
 
  由vmstat看服务器说明:由于STATSPACK并不能获取全面分析性能问题所需要的所有信息,所以需要扩展其收集服务器的统计信息。
 
  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/cpuinfo|grep processor|wc –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的结果来获取相应的服务器信息,并且存放到表中。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网