`
Zhongwei_leg
  • 浏览: 557658 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

压力测试下系统负载数据的分析工具 —— sar

阅读更多

在对 Web Server 做性能测试的时候, 除了需要给出 “最大并发请求数”、“平均响应时间” 等数据, 还需要给出系统资源的使用情况。例如, CPU 使用率、内存使用、负载等数据。

 

linux 自带了一个对系统资源监控的工具 sar, 即 system activity report. sar 包含在 sysstat 包中, 关于 sysstat 的介绍:

 

sysstat 写道
sysstat is a package of monitoring tools, these are the tools included in the package.

iostat
      Reports CPU statistics and input/output statistics for devices, partitions and network filesystems.
mpstat
      Reports individual or combined processor related statistics.
pidstat
      Reports statistics for Linux tasks (processes) : I/O, CPU, memory, etc.
sar
      Collects, reports and saves system activity information (CPU, memory, disks, interrupts, network interfaces, TTY, kernel tables,etc.)
sadc
       Is the system activity data collector, used as a backend for sar.
sa1
      Collects and stores binary data in the system activity daily data file. It is a front end to sadc designed to be run from cron.
sa2
       Writes a summarized daily activity report. It is a front end to sar designed to be run from cron.
sadf
        Displays data collected by sar in multiple formats (CSV, XML, etc.) This is useful to load performance data into a database, or import them in a spreadsheet to make graphs.
 

如果运行

 

$ sar 
 

显示

 

zhongwei@zhongwei-T-6845c:~$ sar
Cannot open /var/log/sysstat/sa06: No such file or directory
Please check if data collecting is enabled in /etc/default/sysstat
 

则修改 /etc/default/sysstat 文件, 将 ENABLED 设置为 true.

 

看一下 manual 中对 sar 的描述:

manual 写道
sar - Collect, report, or save system activity information.
命令格式 写道
sar [ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -i interval ] [ -m ] [ -p ] [ -q ] [ -r ] [ -R ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ] [ -n { keyword [,...] | ALL } ] [ -I { int [,...] | SUM | ALL | XALL } ] [ -P { cpu [,...] | ALL } ] [ -o [ filename ] | -f [ file‐name ] ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ interval [ count ] ]
 

测试:

先尝试一下 interval / count 这两个参数。(interval 以秒为单位)

 

$ sar 1 5

 的输出结果:

 

zhongwei@zhongwei-T-6845c:~$ sar 1 5
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)

04:40:02 PM CPU %user %nice %system %iowait %steal %idle
04:40:03 PM all 4.88 0.00 1.95 0.00 0.00 93.17
04:40:04 PM all 5.99 0.00 5.53 4.61 0.00 83.87
04:40:05 PM all 5.88 0.00 2.94 6.37 0.00 84.80
04:40:06 PM all 2.91 0.00 3.88 0.00 0.00 93.20
04:40:07 PM all 5.39 0.00 3.92 0.00 0.00 90.69
Average: all 5.02 0.00 3.67 2.22 0.00 89.09
zhongwei@zhongwei-T-6845c:~$
 

就是从此刻开始,每隔 1 秒钟输出一次 CPU 的状态信息,执行 5 次。

 

使用 sar 查看系统负载:

 

zhongwei@zhongwei-T-6845c:~$ sar -q 1 5
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)

04:52:31 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:52:32 PM 0 360 0.40 0.48 0.40
04:52:33 PM 2 360 0.40 0.48 0.40
04:52:34 PM 0 360 0.40 0.48 0.40
04:52:35 PM 1 360 0.37 0.47 0.40
04:52:36 PM 1 360 0.37 0.47 0.40
Average: 1 360 0.39 0.48 0.40
zhongwei@zhongwei-T-6845c:~$
 

同时查看CPU 和 系统平均负载:

 

zhongwei@zhongwei-T-6845c:~$ sar -q -u 1 5
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)

04:55:22 PM CPU %user %nice %system %iowait %steal %idle
04:55:23 PM all 2.90 0.48 2.90 0.00 0.00 93.72

04:55:22 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:23 PM 0 361 0.61 0.53 0.43

04:55:23 PM CPU %user %nice %system %iowait %steal %idle
04:55:24 PM all 4.37 0.49 3.88 0.00 0.00 91.26

04:55:23 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:24 PM 0 361 0.61 0.53 0.43

04:55:24 PM CPU %user %nice %system %iowait %steal %idle
04:55:25 PM all 4.76 0.48 5.24 0.00 0.00 89.52

04:55:24 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:25 PM 1 361 0.56 0.52 0.43

04:55:25 PM CPU %user %nice %system %iowait %steal %idle
04:55:26 PM all 3.92 0.98 1.96 0.00 0.00 93.14

04:55:25 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:26 PM 1 361 0.56 0.52 0.43

04:55:26 PM CPU %user %nice %system %iowait %steal %idle
04:55:27 PM all 3.43 0.49 3.43 0.00 0.00 92.65

04:55:26 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:27 PM 0 361 0.56 0.52 0.43

Average: CPU %user %nice %system %iowait %steal %idle
Average: all 3.88 0.58 3.49 0.00 0.00 92.05

Average: runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
Average: 0 361 0.58 0.52 0.43
zhongwei@zhongwei-T-6845c:~$

 

使用 sar 收集内存使用状况:

 

zhongwei@zhongwei-T-6845c:~$ sar -r 1 100 > mem.txt &
[1] 4644
zhongwei@zhongwei-T-6845c:~$ tail -f mem.txt
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)

05:15:37 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
05:15:38 PM 863752 1195976 58.06 78828 645112 1992556 24.94
05:15:39 PM 863744 1195984 58.07 78828 645112 1992556 24.94
05:15:40 PM 863744 1195984 58.07 78832 645112 1992556 24.94
05:15:41 PM 863744 1195984 58.07 78836 645112 1992556 24.94
05:15:42 PM 863620 1196108 58.07 78836 645112 1992556 24.94
05:15:43 PM 863612 1196116 58.07 78836 645112 1992876 24.95

 

下面来解决一下实际问题:

在性能测试的时候, 我们一定会想一次性的将 CPU、内存、负载情况同时抓取到, 但是采用

$ sar -u -r -q 1 100

数据的显示格式。。。混杂在了一起,不方便每项数据单独成图。

于是,写这样一个 shell 脚本:

sar_cpu_mem_load.sh
sar -u 1 10 > ./cpu.csv &
sar -r 1 10 > ./mem.csv &
sar -q 1 10 > ./load.csv &

 

 chmod +x sar_cpu_mem_load.sh
./sar_cpu_mem_load.sh

 

好了, 我们就得到了想要收集的数据。但是。。。。, 如果我想将数据转换成更直观的图表呢?

按照 google 的搜索结果, 先尝试了一下 ksar. 

BUG 多的简直不能忍,按照 bug 报告的提示从 5.0.6 版本换到 5.1.0, 又到 5.1.0 beta4. 各种 bug, 例如对 CPU all 字段的不支持,对不同时间日期格式的不支持。就为了这么个烂工具, 我还特意装了 jre.

 

算了,还是使用 OpenOffice 的 SpreadSheet 比较靠谱。选中某一列, insert -> chart 就好了。

 

 

参考列表:

http://www.go2linux.org/sysstat-linux-performance-monitor-toolkit

 

0
0
分享到:
评论

相关推荐

    [实训解析]Python 计算思维训练——SAR图像处理-第2关:读入一个目录下所有图像_5307.pdf

    "[实训解析]Python 计算思维训练——SAR图像处理-第2关:读入一个目录下所有图像_5307.pdf" 该标题表明,这是一个 Python 计算思维训练的实践解析,重点在于SAR图像处理,并且是第二关,主题是读取一个目录下所有...

    SAR影像数据处理——SAR影像滤波程序

    **SAR影像数据处理——SAR影像滤波程序** SAR(Synthetic Aperture Radar)合成孔径雷达是一种遥感技术,它利用雷达信号在不同时间对地表进行探测,生成高分辨率的图像,不受天气和光照条件影响,广泛应用于地形...

    通达信指标——SAR底买(副图).doc

    通达信指标——SAR底买(副图).doc

    kSar:linux中将sar截取数据画成图形的工具

    总之,kSar是Linux系统监控中的重要工具,结合`sar`提供的底层数据,为系统管理员提供了强大的性能分析和故障排查手段。尽管在某些环境下可能出现小问题,但通过适当的调试和配置,kSar仍能发挥其强大的功能。

    关于SAR影像变化检测常用数据集

    SAR(Synthetic Aperture Radar,合成孔径雷达)影像是一种遥感技术,它通过发射并接收雷达信号来获取地表信息,不受光照条件限制,能在夜间或恶劣天气下进行成像,因此在地理测绘、灾害监测、环境研究等领域有着...

    Linux压力测试与LTP体系结构

    - **top、sar等工具**:这些工具可以用来监控测试过程中的系统资源使用情况,帮助分析测试结果。 #### 七、LTP目录结构 LTP的目录结构清晰有序,便于管理和维护。 - **doc**:文档目录,包含各种手册和说明文档。 ...

    MSTAR-10-test_SAR数据集_SAR_mstar_数据集_

    《SAR数据集详解——以MSTAR-10-test为例》 SAR(Synthetic Aperture Radar)合成孔径雷达是一种遥感技术,它利用雷达波进行地球表面的探测,不受光照条件限制,能获取全天候、全天时的高分辨率图像。在军事、地质...

    15个免费卫星遥感数据源.zip_SAR遥感_sar 数据_免费的SAR数据_卫星数据_遥感

    15个免费获取sar卫星数据源 对初学者有帮助

    sar源码--linux性能测试工具

    **sar源码——Linux性能测试工具** `sar` 是System Activity Reporter的缩写,它是Linux系统中的一个强大性能监控工具,包含在sysstat软件包之中。sysstat-9.0.6是2010年的一个稳定版本,适用于对Linux系统的性能...

    SAR_ADC_设计文档及电路图——可仿真_SARADC_SAR_ADC

    使用专业软件如Cadence Virtuoso或其他EDA工具,可以对整个SAR ADC系统进行电路级和行为级仿真。 **设计文档内容** 设计文档可能包括以下部分: 1. **规格书**:详细列出SAR ADC的性能指标,如分辨率、转换速率、...

    SAR_DATA1.rar_SAR MATLAB_SAR 处理_SAR_原始数据_SAR数据_raw data

    MATLAB是一种强大的数值计算和可视化工具,广泛用于SAR数据的分析和处理。它提供了丰富的库函数和工具箱,如Signal Processing Toolbox和Image Processing Toolbox,方便用户进行信号处理和图像分析。 描述中提到的...

    分布式系统测试的难点与分析.pdf

    本文将从分布式系统测试的四个方面——测试环境、功能测试、压力测试与性能测试、自动化测试出发,详细分析分布式系统测试中的难点。 首先,分布式系统测试环境的搭建是测试的第一步,也是难点之一。分布式系统通常...

    SAR舰船目标检测数据集

    SAR 检测主要是利用合成孔径雷达对目标进行探测、识别和分析。 该数据集包括 4080 张图像。合成孔径雷达(Ships-SAR)以 YOLOv9 格式进行标注。 对每张图像进行了以下预处理:像素数据的自动定向(去除 EXIF 定向...

    通达信指标——新SAR(副图).doc

    通达信指标——新SAR(副图) 通达信指标是金融市场分析中常用的技术指标之一,用于分析股票、期货、外汇等金融产品的价格走势。新SAR(Stop and Reverse)指标是通达信指标的变种,旨在帮助投资者捕捉市场趋势和...

    SAR雷达点目标仿真与实测数据处理,sar雷达成像原理,matlab

    MATLAB是一种强大的数值计算和可视化工具,广泛用于SAR数据处理和仿真。其丰富的库函数和用户友好的界面使得SAR算法的实现和调试变得相对简单。在实验代码中,可能包含了用MATLAB编写的距离多普勒算法和CS算法的实现...

    MSTAR官方数据集.zip_MSTAR图像_MSTAR数据集_SAR图像数据_SAR识别_mstar数据

    总的来说,MSTAR官方数据集是SAR图像识别领域的基石,为研究人员提供了一个标准化的测试平台,促进了各种新算法和技术的发展。通过深入研究和利用这个数据集,我们可以期待在未来,SAR图像识别技术将更加成熟,为...

    GEE培训ppt——5. SAR Analysis.pptx

    综合这些内容,这个培训可能涵盖从基础的数据获取、处理、分析到高级的时序分析和结果导出,旨在使用户能够熟练地利用GEE平台进行SAR数据的全面分析,特别是在环境监测和灾害响应等领域。对于想要深入学习遥感和GEE...

    欺骗干扰SAR成像——MATLAB实现.rar

    然而,SAR系统在实际应用中常常受到各种干扰的影响,其中欺骗干扰是一种重要的干扰类型,它旨在破坏SAR的成像过程,降低图像质量或使目标难以识别。本文将详细介绍欺骗干扰的几种主要形式,并探讨如何使用MATLAB进行...

    基于MATLAB语言的SAR卫星数据的读取与后处理.rar_Matlab 卫星_SAR_SAR卫星数据_sar数据处理_读取sa

    基于MATLAB语言的SAR卫星数据的读取与后处理

Global site tag (gtag.js) - Google Analytics