一、Stress工具原始网页:

https://people.seas.harvard.edu/~apw/stress/

二、Docker镜像的构建过程(dockerfile):

progrium/stress镜像的 Dockerfile内容 :

FROM ubuntu:trusty

MAINTAINER Jeff Lindsay <progrium@gmail.com>

RUN apt-get update && apt-get install -y stress

ENTRYPOINT ["/usr/bin/stress", "--verbose"]

CMD []

该镜像的Dockerfile文件说明Ubuntu 1404系统中自带stress小工具,该镜像较大,282MB。

另一个stress镜像polinux/stress,它使用alpine作为基础镜像,从源码进行编译,整个镜像大小7.5MB,Dockerfile文件如下:

FROM alpine:3.5

# Stress Version can be found on offcial website of stress

# https://people.seas.harvard.edu/~apw/stress/

ENV STRESS_VERSION=1.0.4 \

SHELL=/bin/bash

RUN \

apk add --update bash g++ make curl && \

curl -o /tmp/stress-${STRESS_VERSION}.tgz https://people.seas.harvard.edu/~apw/stress/stress-${STRESS_VERSION}.tar.gz && \

cd /tmp && tar xvf stress-${STRESS_VERSION}.tgz && rm /tmp/stress-${STRESS_VERSION}.tgz && \

cd /tmp/stress-${STRESS_VERSION} && \

./configure && make && make install && \

apk del g++ make curl && \

rm -rf /tmp/* /var/tmp/* /var/cache/apk/* /var/cache/distfiles/*

CMD ['/usr/local/bin/stress']

三、命令参考:

$ docker run --rm -it polinux/stress stress --help

四、Stress容器使用示例:

$docker run --rm -it progrium/stress --cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 60s

或者:

$ docker run --rm -it polinux/stress stress --cpu 2 --io 1 --vm 2 --vm-bytes 128M --timeout 60s --verbose

--cpu 和--io 和--vm 后面的数值,分别是创建CPU、磁盘读写和内存的线程数,可根据需要单独使用,或者组合使用。

运行3个容器,指定容器的--cpu-share的值分别为512、512、1024,这3个容器使用CPU的时间比例为1:1:2,使用ctop或者top查看CPU利用率,理想的情况下,CPU占用接近25%、25%、50%:

docker run -itd --rm --cpu-share 512 progrium/stress --cpu 1  --timeout 100s

docker run -itd --rm --cpu-share 512 progrium/stress --cpu 1  --timeout 100s

docker run -itd --rm --cpu-share 1024 progrium/stress --cpu 1  --timeout 100s

运行2个stress容器,测试内存的占用,每个容器产生4个线程,第一个容器每个线程消耗256MB内存,第二个容器的4个线程每个消耗128MB内存:

docker run -itd --rm  progrium/stress --vm 4 --vm-bytes 256M  --timeout 100s

docker run -itd --rm  progrium/stress --vm 4 --vm-bytes 128M  --timeout 100s

参考链接:

https://people.seas.harvard.edu/~apw/stress/

https://people.seas.harvard.edu/~apw/stress/README

https://hub.docker.com/r/polinux/stress/builds/

https://hub.docker.com/r/progrium/stress/

Docker下使用stress进行压力测试

http://blog.51cto.com/molewan/1757918

docker高级应用之cpu与内存资源限制

https://blog.csdn.net/pdw2009/article/details/78137759

配置docker限制容器对cpu 内存和IO的资源使用

https://www.centos.bz/2017/08/docker-limit-container-cpu-memory-io/

Docker 运行时资源限制-内存memory、交换机分区Swap、CPU

https://blog.csdn.net/candcplusplus/article/details/53728507

Linux资源控制-CPU和内存

https://www.cnblogs.com/wang_yb/p/3942208.html

stress负载生成器使用简介的更多相关文章

  1. loadrunner 场景设计-负载生成器管理

    场景设计-负载生成器管理 by:授客 QQ:1033553122 1  简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器 ...

  2. Loadrunner场景设计篇——负载生成器

    1  简介 当执行一个场景时,Controller把场景中的每个用户配到负载生成器(Load generator). 所谓的负载生成器(Load Generator)就是执行Vuser脚本,运行Vus ...

  3. 性能测试工具LoadRunner15-LR之负载生成器(Load Generators)

    简介 对场景进行设计后,需要对负载生成器进行管理和配置.Load Generators是运行脚本的负载引擎(相当于加压机)主要功能是生成虚拟用户进行负载,在默认情况下使用本地的负载生成器来运行脚本. ...

  4. LoadRunner测试场景中添加负载生成器

    如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...

  5. Loadrunner:场景中添加负载生成器

    场景中添加负载生成器: (1)远程机子(假设ip为192.168.134.23)开启负载生成器 开始菜单找到:LoadRunner Agent Process 开启后任务栏会显示如下图: (2)场景中 ...

  6. LR12集合点设置和多个负载生成器策略

    今天给大家分享几个有关LR12的Controller使用过程中的几个常用问题: 一,脚本中添加集合点函数---lr_rendezvous 1,在被测接口事物函数之前加入集合点函数--lr_rendez ...

  7. Nginx 负载均衡原理简介与负载均衡配置详解

    Nginx负载均衡原理简介与负载均衡配置详解   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...

  8. loadrunner 场景设计-IP Spoofer-多ip负载生成器(Windows平台)

    IP Spoofer-多ip负载生成器 by:授客 QQ:1033553122 1  适用协议 LoadRunner的多ip功能允许运行在单一负载生成器上的Vuser可以通过多ip被识别.服务器和路由 ...

  9. LoadRunner11学习记录七 -- 负载生成器、事务&集合点顺序、HTML&URL录制

    1.什么情况下用到负载生成器? 当需要使用多台测试机对同一服务器同时压力测试时,需要配置负载生成器. 2.LoadRunner中事务和集合点的放置顺序问题 1)事务放在集合点前面 这时事务的时间包含了 ...

随机推荐

  1. 接口测试工具-poster

    1.发包工具-火狐浏览器插件 安装:打开火狐浏览器-alt键-工具-附加组件-搜索poster-点击安装-重启火狐浏览器-打开工具下的poster 2.使用 1)GET 1.输入URL 2.填入参数 ...

  2. Xamarin.Forms 开发资源集合

    收集整理了下 Xamarin.Forms 的学习参考资料,分享给大家,稍后会不断补充: UI样式 Snppts: Xamarin Forms UI Snippets. Prebuilt Templat ...

  3. 消息中间件解决方案JMS

    1. JMS入门 1.1消息中间件 1.1.1品优购系统模块调用关系分析 我们现在讲品优购已经完成的功能模块梳理如下: 我们已经完成了5个web模块和4个服务模块.其中运营商后台的调用关系最多,用到了 ...

  4. #WEB安全基础 : HTTP协议 | 0x13 不安全的HTTP

    HTTP作为一个大规模使用的网络协议就真的安全了吗? 我们知道互联网为什么叫互联网,你可以在任何地方都可以与之相连,所以在这些可以连接的点上都可以获取互联网的部分信息. 那么HTTP通信时有什么缺点吗 ...

  5. UGUI动态更换精灵图片

    //动态更换精灵图片 m_headimage.overrideSprite = Resources.Load("texture/"+info.HeadPortrait,typeof ...

  6. CentOS 7 配置DHCP中继代理服务

    DHCP服务器只作用于局域网同一网段内,客户端是通过广播消息来获得DHCP服务器响应后才能得到IP地址的,但广播消息不能跨越子网,那么如何让客户端获取到DHCP服务器提供的IP地址呢?这就是DHCP中 ...

  7. AIM Tech Round 5 (rated, Div. 1 + Div. 2) (A, B, E)

    B.Unnatural Conditions 题目链接 : http://codeforces.com/contest/1028/problem/B #include<iostream> ...

  8. spring boot + vue + element-ui全栈开发入门——spring boot后端开发

    前言 本文讲解作为后端的spring boot项目开发流程,如果您还不会配置spring boot环境,就请点击<玩转spring boot——快速开始>,如果您对spring boot还 ...

  9. MySQL文档翻译(八)附英文原文---性能优化概览

    优化概述 数据库性能表现依赖于数据库级别的几个因素,比如表,查询和配置设置.这些软件在硬件级别通过CPU和IO操作构筑结果,你需要尽可能的使用最少的资源达到最大的效果.当你专注于数据库的性能表现时,你 ...

  10. Haproxy官方文档翻译(第三章)全局参数(1) 附英文原文

    3.全局参数 在global这个节点里的参数是“进程范围的”并且经常是“操作系统指定”的.它们通常是一次性设置而且一旦正确设置不需要动来动去的.它们中的一些和命令行对应. global节点支持以下关键 ...