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. 使用Gensim库对文本进行词袋、TF-IDF和n-gram方法向量化处理

    Gensim库简介 机器学习算法需要使用向量化后的数据进行预测,对于文本数据来说,因为算法执行的是关于矩形的数学运算,这意味着我们必须将字符串转换为向量.从数学的角度看,向量是具有大小和方向的几何对象 ...

  2. [Fundamental of Power Electronics]-PART I-2.稳态变换器原理分析-2.1 引言

    2.1 引言 在上一章中,介绍了降压变换器作为降低直流电压的一种方法,其仅使用非耗散开关,电感器和电容器.开关状态变换产生一个矩形波形\(v_{s}(t)\),如图2.1所示.当开关位于位置1时,该电 ...

  3. Spring/SpringBoot整合QuartZ

    https://www.bilibili.com/video/av55637917/?p=2

  4. python进阶(15)多线程与多进程效率测试

    前言 在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程   正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python ...

  5. JAVAEE_Servlet_18_关于Servlet线程安全问题

    关于Servlet线程安全问题 Servlet线程安全 Servlet 是单实例多线程的环境下运行的. 在服务器运行期间,一个Servlet接口实现类,只能创建一个实例对象(一个进程(Servlet接 ...

  6. Dubbo学习笔记(二) Dubbo的基本配置

    Check启动检查 根据之前的学习,我们简单理解的Dubbo远程调用的基本流程,服务提供者注册到注册中心,然后服务消费者通过监听注册中心达到远程调用的目的,那么如果注册中心中没有消费者对应的接口会怎么 ...

  7. 【MQ中间件】RabbitMQ -- RabbitMQ死信队列及内存监控(4)

    1.RabbitMQ TTL及死信队列 1.1.TTL概述 过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取:过了之后消息将自动被删除.RabbitMQ可以对消息和队列设 ...

  8. 1082 Read Number in Chinese

    Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese ...

  9. php抽象类,接口,特性的比较

    php抽象类 抽象方法必须被子类继承实现,所以不能为私有,只能是受保护的或公有的; 抽象类子类的方法访问控制级别必须和抽象类相等或更宽松.例如,父类的抽象方法是受保护的,子类实现时则必须为受保护的或者 ...

  10. tp5 composer phpexcel使用方法

    1.compser 安装phpexcel.在windows命令行下输入:进入网站根目录,compser phpoffice/phpexcel 2.页面引入两个类: use PHPExcel_IOFac ...