stress負載生成器使用簡介

 

1、Stress工具原始網頁:html

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

 

2、Docker鏡像的構建過程(dockerfile):web

progrium/stress鏡像的 Dockerfile內容 :docker

 

FROM ubuntu:trustyubuntu

MAINTAINER Jeff Lindsay <progrium@gmail.com>centos

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

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

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']

 

3、命令參考:

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

 

 

4、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的值分別爲5十二、5十二、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

相關文章
相關標籤/搜索