stress工具使用指南和结果分析

Linux压力测试软件Stress安装及使用指南

 

 

一、Stress是什么

stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户。

二、安装

将stress的安装包上传并解压到linux服务器的/usr/local/src路径下,解压命令为:tar –xzpvf stress_1.0.1.orig.tar.gz

进入解压后的stress-1.0.1文件夹,输入./configure进行配置,若配置失败,并打印“no acceptable c compiler found in path“,则表示无可用的GCC编译环境,输入yum –y install gcc自动下载安装。

配置完成后,依次输入

至此,stress就全部安装完成了,在命令行会打印stress安装成功的提示。

三、使用指南

首先需建立测试目录,供放置写磁盘的文件。

stress各主用参数说明(-表示后接一个中划线,--表示后接2个中划线,均可用于stress后接参数,不同表达方式):

-?

--help 显示帮助信息

--version 显示软件版本信息

-t secs:

--timeout secs指定运行多少秒

--backoff usecs 等待usecs微秒后才开始运行

-c forks:

--cpu forks 产生多个处理sqrt()函数的CPU进程

-m forks

--vm forks:产生多个处理malloc()内存分配函数的进程,后接进程数量

-i forks

--io forks:产生多个处理sync()函数的磁盘I/O进程

--vm-bytes bytes:指定内存的byte数,默认值是1

--vm-hang:表示malloc分配的内存多少时间后在free()释放掉

-d :

--hdd:写进程,写入固定大小,通过mkstemp()函数写入当前目录

--hdd-bytes bytes:指定写的byte数,默认1G

--hdd-noclean:不要将写入随机ascii数据的文件unlink,则写入的文件不删除,会保留在硬盘空间。

四、测试场景举例

  1. 测试CPU负荷

输入命令:stress –c 4

增加4个cpu进程,处理sqrt()函数函数,以提高系统CPU负荷

2、内存测试

输入命令:stress –i 4 –vm 10 –vm-bytes 1G –vm-hang 100 –timeout 100s

新增4个io进程,10个内存分配进程,每次分配大小1G,分配后不释放,测试100S

3、磁盘I/O测试

输入命令:stress –d 1 --hdd-bytes 3G

新增1个写进程,每次写3G文件块

4、硬盘测试(不删除)

输入命令:stress –i 1 –d 10 --hdd-bytes 3G –hdd-noclean

新增1个IO进程,10个写进程,每次写入3G文件块,且不清除,会逐步将硬盘耗尽。

五、linux下服务器性能监控

  1. top监控整体使用情况

各参数涵义如下:

load average:当前系统负载的平均值,后面的3个值分别为1分钟、5分钟、15分钟前进程的平均数。一般认为这个数超过CPU数目时,CPU将比较吃力地负载当前系统所包含的进程。

表示CPU的几个参数:

us:用户空间占用CPU百分比

sy:内核空间占用CPU百分比

ni:用户进程空间内改变过优先级的进程占用CPU百分比

id:空闲CPU百分比

wa:等待输入输出的cpu时间百分比

输入top后,按大写P,以CPU占用大小排序,按M,以内存占用大小排序

从应用程序的角度来看,可用内存=系统free memory+buffers+cached,其中buffers/cached是为了提高文件读取的性能,当应用程序要用到内存的时候,buffer/cached会很快地被回收

  1. 服务器I/O读写负载评估

先用top查看,wa的值标识I/O等待所占用的CPU时间的百分比,高于30%时I/O压力高。

再用iostat –x 1 10查看,如果没有该文件,要yum install systat 安装。查看%util,%idle,如果%util接近100%,说明产生的I/O请求太多,I/0系统已经满负荷,该磁盘可能存在瓶颈,%idle小于70%,I/0压力就比较大了,一般读取速度有较多的等待。

同时结合vmstat -1命令,查看b参数,表示等待资源的进程数,如等待I/O,内存等,如常时间>1,则要关注。可评估i/o读写负载。

  1. 其他系统日常管理

查看系统的cpu数:cat /proc/cpu info

监控系统状态,查看具体是哪里的压力:vmstat

proc列显示进程相关信息

r表示运行和等待CPU时间片的进程数,如长期>服务器CPU个数,说明CPU不够用了

swap表示内存交换情况

查看内存使用情况:free

查看系统进程:ps aux

打印网络连接状况:netstat –an

打印当前系统启动哪些端口:netstat –lnp

查看磁盘的使用情况和文件系统被挂载的位置:df –lh

 

 

Linux压力测试软件Stress安装及使用指南2的更多相关文章

  1. Linux压力测试软件Stress安装及使用指南

      一.Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户. 二.安装 将stress的安装包上传并解压到linux服务 ...

  2. Linux压力测试软件Stress安装及使用

    一.安装 yum install -y epel-release yum install stress -y 二.参数说明 -? --help 显示帮助信息 --version 显示软件版本信息 -t ...

  3. Linux:linux服务器稳定性压力测试工具stress安装与使用

    stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户. 1. stress1.0.4下载地址 下载:https://fossies.org/l ...

  4. Linux压力测试工具stress的参数详解

    为了测试服务器的负载情况,可以使用stress这个压力测试工具,可以在环境上验证测试下. stress安装 sudo yum install -y epel-release sudo yum inst ...

  5. linux压力测试工具stress

    最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...

  6. Linux压力测试工具Tsung安装、使用和图形报表生成

    简介 Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung ...

  7. 压力测试以及编译安装httpd2.4

    压力测试以及编译安装httpd2.4 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用 deflate_module模块压缩页面优化传输速度 我们的httpd软件自带的有一个 ...

  8. Linux Centos下软件的安装与卸载方法

    转载于: http://blog.csdn.net/zolalad/article/details/11368879 Linux下软件的安装与卸载   第一章   linux下安装软件,如何知道软件安 ...

  9. Linux下使用压力测试工具stress

    一:stress的安装 首先解压安装包到/usr/local/src/下 mv stress-1.0.4.tar.gz /usr/local/src​tar -zxf stress-1.0.4.tar ...

随机推荐

  1. [树形DP]加分二叉树

    加 分 二 叉 树 加分二叉树 加分二叉树 题目描述 设一个n个节点的二叉树tree的中序遍历为(l,2,3,-,n),其中数字1,2,3,-,n为节点编号.每个节点都有一个分数(均为正整数),记第j ...

  2. Chapter 2 简单DC-DC变换器稳态分析小结

    Chapter 2 简单DC-DC变换器稳态分析小结 1 本章重点 1.1 小纹波近似 所谓小纹波近似就是DC-DC变换器的稳态分析中,假定开关频率次的纹波相对于直流分量而言非常小,可以将其忽略进行各 ...

  3. SparkStreaming使用mapWithState时,设置timeout()无法生效问题解决方案

    前言 当我在测试SparkStreaming的状态操作mapWithState算子时,当我们设置timeout(3s)的时候,3s过后数据还是不会过期,不对此key进行操作,等到30s左右才会清除过期 ...

  4. (三)Struts2的Action(简单讲解版)

    Actions是Struts2框架的核心,因为它们适用于任何MVC(Model View Controller)框架. 每个URL映射到特定的action,其提供处理来自用户的请求所需的处理逻辑.但a ...

  5. Java后端进阶-消息中间件

    1.分布式事务 MQ分布式消息中间件实战应用 通过控制台就可以定义 二.分布式消息中间件 解决耦合的问题 http内容很繁琐,而且是短连接响应后就会中断 持久化 消息分发 高可用 高可靠

  6. 并发编程-线程池&J.U.C

    8. 共享模型之工具 8.1 线程池 池化技术相比大家已经屡见不鲜了,线程池.数据库连接池.Http 连接池等等都是对这个思想的应用.池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率 ...

  7. python基础(补充):递归的深度

    我们在正经人谁用递归呀一节中,简单的讨论了python中的递归 相信用过python递归的朋友可能都碰到过: RecursionError: maximum recursion depth excee ...

  8. python工业互联网应用实战13—基于selenium的功能测试

    本章节我们再来说说测试,单元测试和功能测试.单元测试我们在数据验证章节简单提过了,本章我们进一步如何用单元测试来测试view的功能代码:同时,也涉及一下基于selenium的功能测试做法.笔者过去的项 ...

  9. 中文NER的那些事儿1. Bert-Bilstm-CRF基线模型详解&代码实现

    这个系列我们来聊聊序列标注中的中文实体识别问题,第一章让我们从当前比较通用的基准模型Bert+Bilstm+CRF说起,看看这个模型已经解决了哪些问题还有哪些问题待解决.以下模型实现和评估脚本,详见 ...

  10. 进击中的Vue 3——“电动车电池范围计算器”开源项目

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://dzone.com/articles/build-a-tesla-battery- ...