通过vmstat的简单分析数据库操作

发表于:2014-10-22 09:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:jeanron100    来源:51Testing软件测试网采编

分享:
  vmstat一直以来就是linux/unix中进行性能监控的利器,相比top来说它的监控更加系统级,更侧重于系统整体的情况。
  今天在学习vmstat的时候,突然想看看数据库中的并行对于系统级的影响到底有多紧密,自己简单测试了一下。
  首先来看看vmstat的命令的解释。
  可能大家并不陌生,如果需要每隔2秒,生成3次报告,可以使用vmstat 2 3
  对于命令的输出解释如下:
  r代表等待cpu事件的进程数
  b代表处于不可中断休眠中的进程数,
  swpd表示使用的虚拟内存的总量,单位是M
  free代表空闲的物理内存总量,单位是M
  buffer代表用作缓冲区的内存总量
  cache代表用做高速缓存的内存总量
  si代表从磁盘交换进来的内存总量
  so代表交换到磁盘的内存总量
  bi代表从块设备收到的块数,单位是1024bytes
  bo代表发送到块设备的块数
  in代表每秒的cpu中断次数
  cs代表每秒的cpu上下文切换次数
  us代表用户执行非内核代码的cpu时间所占的百分比
  sy代表用于执行那个内核代码的cpu时间所占的百分比
  id代表处于空闲状态的cpu时间所占的百分比
  wa代表等待io的cpu时间所占的百分比
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 296716 399588 904276    0    0     0    16  639 1285  0  0 100  0  0
0  0      0 296576 399588 904276    0    0    43    11  809 1484  1  1 98  0  0
0  0      0 296576 399592 904276    0    0    53    25  764 1538  0  0 99  0  0
0  0      0 296584 399592 904276    0    0     0    11  716 1502  0  0 100  0  0
0  0      0 296584 399600 904276    0    0    21    16  756 1534  0  0 100  0  0
  零零总总说了一大堆,我们举几个例子,一个是文件的拷贝,这个最直接的io操作。看看在vmstat的监控下会有什么样的数据变化。
  黄色部分代表开始运行cp命令时vmstat的变化,我们拷贝的文件是200M,可以看到空闲内存立马腾出了将近200M的内存空间,buffer空间基本没有变化,这部分空间都放入了cache,同时从设备收到的块数也是急剧增加,cpu上下文的切换次数也是从930瞬间达到了1918,然后慢慢下降,cpu的使用率也是瞬间上升,最后基本控制在20%~30%。
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b    swpd   free   buff      cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 296716 399588 904276    0    0     0    16  639 1285  0  0 100  0  0
0  0      0 296576 399588 904276    0    0    43    11  809 1484  1  1 98  0  0
0  0      0 296576 399592 904276    0    0    53    25  764 1538  0  0 99  0  0
0  0      0 296584 399592 904276    0    0     0    11  716 1502  0  0 100  0  0
0  0      0 296584 399600 904276    0    0    21    16  756 1534  0  0 100  0  0
0  0      0 296584 399600 904276    0    0     0    11  930 1625  1  1 98  0  0
1  1      0  93960 399608 1104528    0    0 33427    24 1918 2094  0 23 71  7  0
1  0      0  66440 399592 1131832    0    0  7573    12 1513 1323  0 25 74  2  0
5  0      0  74988 399588 1123188    0    0  2859    33  887  594  0 24 75  1  0
11  0      0  74280 399572 1114952    0    0  1963    15  770  738  3 44 53  0  0
2  0      0  74492 399568 1125008    0    0  3776    16 1014  812  0 20 73  6  0
2  0      0  72640 399560 1126696    0    0  2411    23  975  619  1 21 78  0  0
1  0      0  70532 399556 1128936    0    0  2389    16 1018  732  0 22 77  0  0
2  0      0  75396 399532 1116288    0    0  2795    15  831  673  2 47 51  0  0
2  0      0  79576 399536 1121416    0    0  2901    20  850  688  1 24 63 12  0
0  3      0  67052 399536 1130252    0    0  1493 43708  701  644  0 29 24 47  0
1  0      0  74244 399540 1125600    0    0  1323    19  842  624  0 10 65 25  0
3  0      0  70788 399532 1127728    0    0  2539 21152  936  624  0 18 58 24  0
5  0      0  73164 399532 1120352    0    0  1109    27  458  447  4 71 17  9  0
0  0      0  76120 399532 1125684    0    0  1859    15  957 1182  0 19 80  1  0
0  0      0  76128 399532 1125688    0    0    21    19  679 1399  0  0 98  1  0  --拷贝工作完成系统的负载又逐步恢复了原值。
  对于文件的操作有了一个基本认识,来看看数据库级的操作吧。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号