性能测试基础监控规范
onstat -g iov >>$3-g_iov
echo \使用情况 onstat -g glo\ date >>$3-g_glo onstat -g glo >>$3-g_glo cs=`expr $cs + 1` sleep $2 done 2. 监控结果内容筛选
a) 输入awk '截取条件 {输出参数列数}' 目标文件 >>导出文件 b) 导出文件命名:on_awk_提取参数_年月日_测试类型_用户数_
时间
c) 示例:awk '/06:05:23/,/06:05:25/ {print $5}'
on-080920_capacity_50u_0942.out >>on_awk_nchunks_080717_50u_1700
4.3. DB2
4.3.1.
指标类型 监控指标说明
指标名称 appls_cur_cons 指标描述 指出当前已连接到数据库的应用程序数 拍快照时,以所选择的级别为所有排序分配 sort_heap_allocated total_sorts 的排序推空间的总页面数 已经执行的排序总数 所有已执行排序的总已用时间(毫秒) 数据库中当前已经分配了排序堆的排序数 由记录程序从磁盘读取的日志页数 由记录程序写入磁盘的日志页数 DB2 total_sorts_time active_sorts log_reads log_writes 41
性能测试基础监控规范
lock_waits 应用程序或连接等待锁定的总次数 表格 19 DB2监控指标说明
4.3.2.
4.3.2.1.
监控工具说明
使用LoadRunner监控DB2
(1)安装客户端
在 Controller 计算机上安装所有客户端文件和库。 (2)设置监控环境
选择“开始”>“程序”>“DB2 for Windows NT”>“控制中心”。输入 DB2 服务器用户名和密码(具有管理权限)。
在打开的控制台中,右键单击“系统”,然后选择“添加”。在对话框中输入如下设置:
? 系统名:<服务器名> ? 远程实例: DB2 ? 主机名: <服务器名>
? 服务名: DB2 服务器端口。默认值为 50000。 (3)单击“检索”,然后单击“确定”
注意:如果在单击“检索”后收到一条错误消息,请重复步骤 3 和 4,然后单击“确定”。
(4)展开控制台树中的 <服务器名> 节点。右键单击“实例”,然后选择“添加”。
在对话框中输入下列设置: ? 远程实例: DB2
? 实例名:要从 Controller 或优化控制台调用的数据库实例 ? 主机名: <服务器名>
? 服务名:
注意:在每个监控会话期间,仅可以使用一个数据库管理器实例。
42
性能测试基础监控规范
4.4. Mysql
4.4.1.
指标类型 监控指标说明
指标名称 指标描述 QPS是指MySQLServer每秒执行的Query总量, QPS(每秒Query量) QPS=Questions/Seconds,获取所需状态变量值:mysql> show status like 'Qu%'; 在MySQLServer中并没有直接事务计数器,只能通过回滚和提交计数器来计算出系统的事务量, TPS(每秒事务量) TPS=(Com_commit+Com_rollback)/Second Mysql监控指标 KeyBuffer命中率代表了MyISAM类型表的索引的Cache命中率。该命中率的大小将直接影响MyISAM类型表的读写性能。KeyBuffer命中率实际上包括读命中率和key Buffer 命中率 写命中率两种,MySQL中并没有直接给出这两个命中率的值,但是可以通过如下方式计算出来: key_buffer_read_hits=(1-Key_reads/Key43
性能测试基础监控规范
_read_requests)*100% key_buffer_write_hits=(1-Key_writes/Key_write_requests)*100% 获取所需状态变量值:mysql> show status like 'Key%'; InnodbBuffer指的是innodb_buffer_pool,也就是用来缓存Innodb类型表的数据和索引的内存空间。类似Keybuffer,我们同样可以根据MySQLServer提供的相应状态值计算出InnoDB Buffer命中率 其命中率: innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100% 获取所需状态变量值:mysql> show status like 'Innodb_buffer_pool_read%'; 如果我们使用了QueryCache,那么对QueryCache命中 率进行监控也是有必要的,因为他可能告Query Cache命中率 诉我们是否在正确的使用QueryCache。 QueryCache命中率的计算方式如下: Query_cache_hits=(Qcache_hits/(Qcach44
性能测试基础监控规范
e_hits+Qcache_inserts))*100% 获取所需状态变量值: mysql> show status like 'Qcache%'; TableCache状态量:TableCache的当前状态量可以帮助我们判断系统参数 table_open_cache的设置是否合理。如果状态变量Open_tables与 Opened_tables之间的比率过低,则代表Table Cache状态量 TableCache设置过小,个人认为该值 处于80%左右比较合适。注意,这个值并不是准确的TableCache命中率。 获取所需状态变量值: mysql> show status like 'Open%'; ThreadCache命中率能够直接反应出我们的系统参数 thread_cache_size设置的是否合理。一个合理的thread_cache_size参数能够 Thread Cache 命中率 节约大量创建新连接时所需要消耗的资源。ThreadCache命中率计算方式如下: Thread_cache_hits=(1-Threads_created/Connections)*100% 获取所需状态变量值: 45