stress 服务器测试工具

############################
  stress 压力测试工具
############################

为了测试服务器的负载情况,给大家推荐Stress这个压力测试工具。Stress是一个Posix系统下生成Cpu/Memory/IO/Disk负载的工具。

项目址址: http://weather.ou.edu/~apw/pro

stress 安装:
centos7:
# 启用三方源
$ rpm  -ivh http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

# 安装Stress
$ yum install stress

centos6:
# 启用三方源
$ yum install epel-release

# 安装Stress
$ yum install stress

stress参数说明:
Usage: stress [OPTION [ARG]] ...
 -?, --help         show this help statement
     --version      show version statement
 -v, --verbose      be verbose
 -q, --quiet        be quiet
 -n, --dry-run      show what would have been done
 -t, --timeout N    timeout after N seconds
     --backoff N    wait factor of N microseconds before work starts
 -c, --cpu N        spawn N workers spinning on sqrt()
 -i, --io N         spawn N workers spinning on sync()
 -m, --vm N         spawn N workers spinning on malloc()/free()
     --vm-bytes B   malloc B bytes per vm worker (default is 256MB)
     --vm-stride B  touch a byte every B bytes (default is 4096)
     --vm-hang N    sleep N secs before free (default is none, 0 is inf)
     --vm-keep      redirty memory instead of freeing and reallocating
 -d, --hdd N        spawn N workers spinning on write()/unlink()
     --hdd-bytes B  write B bytes per hdd worker (default is 1GB)
     --hdd-noclean  do not unlink files created by hdd workers

Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s

-? 显示帮助信息
-v 显示版本号
-q 不显示运行信息
-n,--dry-run 显示已经完成的指令执行情况
-t --timeout N 指定运行N秒后停止
   --backoff N 等待N微妙后开始运行
-c --cpu 产生n个进程 每个进程都反复不停的计算随机数的平方根
-i --io  产生n个进程 每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上
-m --vm n 产生n个进程,每个进程不断调用内存分配malloc和内存释放free函数
   --vm-bytes B 指定malloc时内存的字节数 (默认256MB)
   --vm-hang N 指示每个消耗内存的进程在分配到内存后转入休眠状态,与正常的无限分配和释放内存的处理相反,这有利于模拟只有少量内存的机器
-d --hadd n 产生n个执行write和unlink函数的进程
   --hadd-bytes B 指定写的字节数,默认是1GB
   --hadd-noclean 不要将写入随机ASCII数据的文件Unlink

时间单位可以为秒s,分m,小时h,天d,年y;文件大小单位可以为K,M,G

Stress使用实例:

产生13个cpu进程4个io进程1分钟后停止运行

$ stress -c 13 -i 4 --verbose --timeout 1m
产生3个cpu进程、3个io进程、2个10M的malloc()/free()进程,并且vm进程中malloc的字节不释放

$ stress --cpu 3 --io 3 --vm 2 --vm-bytes 10000000 --vm-keep --verbose
测试硬盘,通过mkstemp()生成800K大小的文件写入硬盘,对CPU、内存的使用要求很低

$ stress -d 1 --hdd-noclean --hdd-bytes 800k
产生13个进程,每个进程都反复不停的计算由rand ()产生随机数的平方根

$ stress -c 13
产生1024个进程,仅显示出错信息

$ stress --quiet --cpu 1k
产生4个进程,每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上

$ stress -i 4
向磁盘中写入固定大小的文件,这个文件通过调用mkstemp()产生并保存在当前目录下,默认是文件产生后就被执行unlink(清除)操作,但是可以使用--hdd-bytes选项将产生的文件全部保存在当前目录下,这会将你的磁盘空间逐步耗尽

# 生成小文件
$ stress -d 1 --hdd-noclean --hdd-bytes 13

# 生成大文件
$ stress -d 1 --hdd-noclean --hdd-bytes 3G

参考文档
http://www.google.com
http://my.oschina.net/guol/blog/700571
http://www.cnblogs.com/javaee6/p/4642744.html
时间: 2024-11-05 06:02:33

stress 服务器测试工具的相关文章

docker ---stress压力工具的镜像

1.下载一个stress压力工具的镜像 [[email protected] ~]# docker pull joedval/stress Pulling repository joedval/stress 7eb627cb08a2: Download complete  b0082ba983ef: Download complete  109b72e23ca5: Download complete  a1a076997d57: Download complete  Status: Downlo

stress负载生成器使用简介

一.Stress工具原始网页: https://people.seas.harvard.edu/~apw/stress/ 二.Docker镜像的构建过程(dockerfile): progrium/stress镜像的 Dockerfile内容 : FROM ubuntu:trusty MAINTAINER Jeff Lindsay <[email protected]> RUN apt-get update && apt-get install -y stress ENTRYP

性能测试分析软件汇总–开源、商业全部收集

本文共包含:商业性能测试.监控.分析工具和免费.开源性能测试监控分析工具:共涉及java.php.net等各种开发语言平台,有系统性能分析.文件系统分析.微博.系统分析.数据性能分析等各种工具,可以说本文包含了现有的所有的性能测试监控分析工具工具133种. Java程序性能分析工具 VisualVM VisualVM是一个集成多个JDK命令行工具的可视化工具.可以作为Java应用程序性能分析和运行监控的工具.开发人员可以利用它来监控.分析线程信息,浏览内存堆数据.系统管理员可以利用它来监测.控制

Linux+Apache+Mysql+PHP优化技巧

LAMP 平台由四个组件组成,呈分层结构.每一层都提供了整个软件栈的一个关键部分:Linux.Apache.MySQL.PHP. LAMP这个词的由来最早始于德国杂志"c't Magazine",Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字.这些组件虽然并不是开开始就设计为一起使用的,但是,这些开源软件都可以很方便的随时获得并免费获得.这就导致了这些组件经常在一起使用.在过去的几年里,这些组件的兼容性不断完善,在一起的应用情形变得非常普便.为了改

Linux系统DNS详解(BIND)

一.Linux运维实战之DNS基础    DNS服务作为网络的一种基础架构,在网络中有举足轻重的地位.它担负着整个网络用户计算机的名称解析工作.没有正确的名称解析,服务器就无法识别各客户机.我们在日常进行的浏览网页等上网活动,无一例外都在使用DNS服务.*******************************************************************************    DNS的基本知识:        DNS服务器的组成        DNS域名称

DNS(bind)服务器的安装与配置

Bind服务器: bind(Berkeley Internet Name Domain Service),它是一款实现DNS服务器的开源软件,现在为最广泛的DNS服务器软件 Socket: 套接字,及IP:port(IP地址端口对) 端口: TCP:0~65535  UDP:0~65535 注: 小于1024的端口为知名端口,只有root用户有权限开放和关闭. 1.bind的安装 包名: bind 进程: named 协议: dns 使用端口: 53(tcp,udp) 相关的包: [[email

Linux运维实战之DNS(bind)服务器的安装与配置

上次博文我们讨论了DNS的基础,本次博文我们重点来看看如何配置一台DNS服务器. [本次博文的主要内容] bind服务器简介(包括客户端工具dig的介绍) 配置正向解析DNS服务器 配置反向解析DNS服务器 配置辅助DNS服务器并在主辅之间实现区域传送 一.BIND服务器简介: Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件.Bind原本是美国DARPA资助伯克利大学(Berkeley)开设的一个研究生课题,后来

Linux-DNS服务-BIND配置

DNS服务器类型: 主DNS服务器:负责解析本地客户端请求 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的 缓存服务器:不负责解析,仅为加速,不需要注册 bind详解: 包名:bind 进程:named 协议:dns 使用端口:53(tcp,udp) 相关包: bind-chroot:将named进程的活动范围限定在chroot目录,保证安全性. bind-devel:与开发相关的头文件和库文件(编译安装bind时所需) bind-libs:bind服务器端和客户

docker知识全面讲解

说明:我无法使文档变得有趣,所以我只能尽力让它变得简洁和清晰,虽然你看着内容还是很多,但是只要你一步步的做下去,肯定会对docker有更深的了解.这篇文档主要是说明docker的使用,没有实际例子,下篇文档会以实例为主. 注:部分图片来自于网络,感谢分享的人. 志不坚者智不达!!! 1.docker介绍 1.1 虚拟机与容器的对比 上图所示,容器技术相较于VM少了客户机系统这一层:底层用到了linux的LXC的容器技术,所以docker目前只能运行于linux的64位系统之上(能运行32位系统也