知识大全 获取系统性能和状态

Posted

篇首语:知识是为老年准备的最好食粮。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 获取系统性能和状态相关的知识,希望对你有一定的参考价值。

高性能MySQL:获取系统性能和状态  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   获取系统性能和状态

  在执行基准测试时 需要尽可能多地收集被测试系统的信息 最好为基准测试建立一个目录 并且每执行一轮测试都创建单独的子目录 将测试结果 配置文件 测试指标 脚本和其他相关说明都保存在其中 即使有些结果不是目前需要的 也应该先保存下来 多余一些数据总比缺乏重要的数据要好 而且多余的数据以后也许会用得着 需要记录的数据包括系统状态和性能指标 诸如CPU 使用率 磁盘I/O 网络流量统计 SHOWGLOBAL STATUS 计数器等

  下面是一个收集MySQL 测试数据的shell 脚本

  #!/bin/sh

  INTERVAL=

  PREFIX=$INTERVAL sec status

  RUNFILE=/home/benchmarks/running

  mysql e SHOW GLOBAL VARIABLES 》 mysql variables

  while test e $RUNFILE; do

  file=$(date +%F_%I)

  sleep=$(date +%s %N | awk print $INTERVAL (\\$ % $INTERVAL) )

  sleep $sleep

  ts= $(date + TS %s %N %F %T )

  loadavg= $(uptime)

  echo $ts $loadavg 》 $PREFIX $file status

  mysql e SHOW GLOBAL STATUS 》 $PREFIX $file status &

  echo $ts $loadavg 》 $PREFIX $file innodbstatus

  mysql e SHOW ENGINE INNODB STATUS\\G 》 $PREFIX $file innodbstatus &

  echo $ts $loadavg 》 $PREFIX $file processlist

  mysql e SHOW FULL PROCESSLIST\\G 》 $PREFIX $file processlist &

  echo $ts

  done

  echo Exiting because $RUNFILE does not exist

  这个shell 脚本很简单 但提供了一个有效的收集状态和性能数据的框架 看起来好像作用不大 但当需要在多个服务器上执行比较复杂的测试的时候 要回答以下关于系统行为的问题 没有这种脚本的话就会很困难了 下面是这个脚本的一些要点

  迭代是基于固定时间间隔的 每隔 秒运行y 一次收集的动作 注意这里sleep 的时间有一个特殊的技巧 如果只是简单地在每次循环时插入一条 sleep 的指令 循环的执行间隔时间一般都会稍大于 秒 那么这个脚本就没有办法通过其他脚本和图形简单地捕获时间相关的准确数据 即使有时候循环能够恰好在 秒内完成 但如果某些系统的时间戳是 : : 另外一个则是 : : 这时候就比较讨厌了 当然这里的 秒也可以改成其他的时间间隔 比如 或者 秒 不过还是推荐使用 秒或者 秒的间隔来收集数据

  每个文件名都包含了该轮测试开始的y 日期和小时 如果测试要持续好几天 那么这个文件可能会非常大 有必要的话需要手工将文件移到其他地方 但要分析全部结果的时候要注意从最早的文件开始 如果只需要分析某个时间点的数据 则可以根据文件名中的日期和小时迅速定位 这比在一个GB 以上的大文件中去搜索要快捷得多

  每次抓取数据都会先记录当前的时间戳 所以可以在文件中搜索某个时间点的数据 也可以写一些awk 或者sed 脚本来简化操作

  这个脚本不会处理或者过滤收集到的数据 先收集所有的原始数据 然后再基于此做分析和过滤是一个好习惯 如果在收集的时候对数据做了预处理 而后续分析发现一些异常的地方需要用到更多的原始数据 这时候就要 抓瞎 了

  如果需要在测试完成后脚本自动退出 只需要删除/home/benchmarks/running 文件即可

  这只是一段简单的代码 或许不能满足全部的需求 但却很好地演示了该如何捕获测试的性能和状态数据 从代码可以看出 只捕获了MySQL 的部分数据 如果需要 则很容易通过修改脚本添加新的数据捕获 例如 可以通过pt diskstats 工具注 捕获/proc/diskstats 的数据为后续分析磁盘I/O 使用

       返回目录 高性能MySQL

       编辑推荐

       ASP NET开发培训视频教程

  数据仓库与数据挖掘培训视频教程

cha138/Article/program/MySQL/201311/29737

相关参考

知识大全 在Java程序中采用线程获取优异性能

在Java程序中采用线程获取优异性能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是线程?

核电厂安全系统性能的一般要求有哪些?

a.在任何设计基准事件之后,堆芯发热率不会明显大于排热率;  b.当反应堆在运行后处于次临界状态时,能以某种速率将热量从堆芯排出,此速率由放射性物质的衰变和堆芯贮能的释放决定;  c.将任何预计事件、

核电厂安全系统性能的一般要求有哪些?

a.在任何设计基准事件之后,堆芯发热率不会明显大于排热率;  b.当反应堆在运行后处于次临界状态时,能以某种速率将热量从堆芯排出,此速率由放射性物质的衰变和堆芯贮能的释放决定;  c.将任何预计事件、

怎样保证动力设备始终保持良好的工作状态?

72、怎样保证动力设备始终保持良好的工作状态?污水处理系统欲取得良好的处理效果,必须使各类设备经常处于良好的工作状况和保持应有的技术性能,正确操作、保养、维修设备是污水处理系统正常运转的先决条件。随着

怎样保证动力设备始终保持良好的工作状态?

72、怎样保证动力设备始终保持良好的工作状态?污水处理系统欲取得良好的处理效果,必须使各类设备经常处于良好的工作状况和保持应有的技术性能,正确操作、保养、维修设备是污水处理系统正常运转的先决条件。随着

怎样保证动力设备始终保持良好的工作状态?

72、怎样保证动力设备始终保持良好的工作状态?污水处理系统欲取得良好的处理效果,必须使各类设备经常处于良好的工作状况和保持应有的技术性能,正确操作、保养、维修设备是污水处理系统正常运转的先决条件。随着

电镀废水的种类、来源、处理系统设置

电镀是利用化学的方法对金属和非金属表面进行装饰、防护及获取某些新的性能的一种工艺过程,并且在生产过程中排出大量的废水。电镀废水的来源一般为:1、镀件清洗水;2、废电镀液;3、其他废水,包括冲刷车间地面

电镀废水的种类、来源、处理系统设置

电镀是利用化学的方法对金属和非金属表面进行装饰、防护及获取某些新的性能的一种工艺过程,并且在生产过程中排出大量的废水。电镀废水的来源一般为:1、镀件清洗水;2、废电镀液;3、其他废水,包括冲刷车间地面

电镀废水的种类、来源、处理系统设置

电镀是利用化学的方法对金属和非金属表面进行装饰、防护及获取某些新的性能的一种工艺过程,并且在生产过程中排出大量的废水。电镀废水的来源一般为:1、镀件清洗水;2、废电镀液;3、其他废水,包括冲刷车间地面

知识大全 JSP获取客户端的浏览器和操作系统信息

JSP获取客户端的浏览器和操作系统信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  strin