当前位置: 首页 > news >正文

设计吧 网站985短链接生成

设计吧 网站,985短链接生成,云服务器哪家好用,网站建设总结和体会前言系统压力测试Cpu资源限制Mem资源限制IO 资源限制【扩展】 1.前言 在使用 Docker 运行容器时#xff0c;一台主机上可能会运行几百个容器#xff0c;这些容器虽然互相隔离#xff0c;但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制#x…前言系统压力测试Cpu资源限制Mem资源限制IO 资源限制【扩展】 1.前言 在使用 Docker 运行容器时一台主机上可能会运行几百个容器这些容器虽然互相隔离但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制那么容器之间会互相影响小的来说会导致容器资源使用不公平大的来说可能会导致主机和集群资源耗尽服务完全不可用。 CPU 和内存的资源限制已经是比较成熟和易用能够满足大部分用户的需求。磁盘限制也是不错的虽然现在无法动态地限制容量但是限制磁盘读写速度也能应对很多场景。 至于网络Docker 现在并没有给出网络限制的方案也不会在可见的未来做这件事情因为目前网络是通过插件来实现的和容器本身的功能相对独立不是很容易实现扩展性也很差。 资源限制一方面可以让我们为容器应用设置合理的 CPU、内存等资源方便管理另外一方面也能有效地预防恶意的攻击和异常对容器来说是非常重要的功能。如果你需要在生产环境使用容器请务必要花时间去做这件事情。 2.系统压力测试:stress 2.1  stress 案例 Stress是一个linux下的压力测试工具专门为那些想要测试自己的系统完全高负荷和监督这些设备运行的用户。 安装stress: # yum install stress -y 测试CPU负荷 : # stress -c 4  //增加4个cpu进程处理sqrt()函数函数以提高系统CPU负荷 内存测试: # stress –i 4 –vm 10 –vm-bytes 1G –vm-hang 100 –timeout 100s 新增4个io进程10个内存分配进程每次分配大小1G分配后不释放测试100S 磁盘I/O测试: # stress –d 1 --hdd-bytes 3G  //新增1个写进程每次写3G文件块 硬盘测试不删除: # stress –i 1 –d 10 --hdd-bytes 3G –hdd-noclean 新增1个IO进程10个写进程每次写入3G文件块且不清除会逐步将硬盘耗尽。 2.2  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则写入的文件不删除会保留在硬盘空间。 3.docker-Cpu资源限制 3.1   概述 Cpu 资源主机上的进程会通过时间分片机制使用 CPUCPU 的量化单位是频率也就是每秒钟能执行的运算次数。为容器限制 CPU 资源并不能改变 CPU 的运行频率而是改变每个容器能使用的 CPU 时间片。理想状态下CPU 应该一直处于运算状态并且进程需要的计算量不会超过 CPU 的处理能力。 默认设置下所有容器可以平等地使用 host CPU 资源并且没有限制。 Docker 可以通过 -c 或 --cpu-shares 设置容器使用 CPU 的权重。如果不指定默认值为 1024。 与内存限额不同通过 -c 设置的 cpu share 并不是 CPU 资源的绝对数量而是一个相对的权重值。某个容器最终能分配到的 CPU 资源取决于它的 cpu share 占所有容器 cpu share 总和的比例。 案例通过 cpu share 可以设置容器使用 CPU 的优先级: # docker run --name container_A -c 1024 progrium/stress # docker run --name container_B -c 512 progrium/stress 当两个容器都需要 CPU 资源时container_A 可以得到的 CPU 是 container_B 的两倍。 这种按权重分配 CPU 只会发生在 CPU 资源紧张的情况下。如果 container_A 处于空闲状态这时为了充分利用 CPU 资源container_B 也可以分配到全部可用的 CPU 案例--cpu 用来设置工作线程的数量。因为当前 host 只有 1 颗 CPU所以一个工作线程就能将 CPU 压满。如果 host 有多颗 CPU则需要相应增加 --cpu 的数量: docker run --name container_s -c 512 -it progrium/stress --cpu 1 docker run --name container_z -c 1024 -it progrium/stress --cpu 1 container_z消耗的 CPU 是 container_s 的两倍。 3.2  CPU 绑定 限制容器运行在某些 CPU 核 注一般并不推荐在生产中这样使用 docker 允许调度的时候限定容器运行在哪个 CPU 上。 限制容器运行在哪些核上并不是一个很好的做法因为它需要实现知道主机上有多少 CPU 核而且非常不灵活。除非有特别的需求一般并不推荐在生产中这样使用。 假如主机上有 4 个核可以通过 --cpuset 参数让容器只运行在前两个核上 # docker run --rm -it --cpuset-cpus0,1 progrium/stress --cpu 2  --cpuset-cpus 参数可以和 -c --cpu-shares 一起使用限制容器只能运行在某些 CPU 核上并且配置了使用率。 4.Mem资源限制 4.1 概述 容器可使用的内存包括两部分物理内存和 swap。 Docker 通过下面两组参数来控制容器内存的使用量。 -m 或 --memory设置内存的使用限额例如 100M, 2G。 --memory-swap设置 内存swap 的使用限额。 docker run -m 200M --memory-swap300M progrium/stress 允许该容器最多使用 200M 的内存和 300M 的 swap 默认情况下容器内存和 swap 的使用没有限制 使用 progrium/stress 镜像来学习如何为容器分配内存。该镜像可用于对容器执行压力测试 docker run -it -m 200M --memory-swap300M progrium/stress --vm 1 --vm-bytes 280M --vm 1启动 1 个内存工作线程。 --vm-bytes 280M每个线程分配 280M 内存。 因为 280M 在可分配的范围300M内所以工作线程能够正常工作其过程是 分配 280M 内存。 释放 280M 内存。 再分配 280M 内存。 再释放 280M 内存。 一直循环...... 如果让工作线程分配的内存超过 300M 分配的内存超过限额stress 线程报错容器退出 如果在启动容器时只指定 -m 而不指定 --memory-swap那么 --memory-swap 默认为 -m 的两倍比如 docker run -it -m 200M ubuntu 容器最多使用 200M 物理内存和 200M swap。 5.IO 资源限制 5.1 概述 Block IO 指的是磁盘的读写docker 可通过设置权重、限制 bps 和 iops 的方式控制容器读写磁盘的带宽 目前 Block IO 限额只对 direct IO不使用文件缓存有效 block IO 权重 默认情况下所有容器能平等地读写磁盘可以通过设置 --blkio-weight 参数来改变容器 block IO 的优先级。 --blkio-weight 与 --cpu-shares 类似设置的是相对权重值默认为 500。 在下面的例子中container_A 读写磁盘的带宽是 container_B 的两倍。 docker run -it --name container_A --blkio-weight 600 ubuntu docker run -it --name container_B --blkio-weight 300 ubuntu 限制 bps 和 iops bps 是 byte per second每秒读写的数据量。 iops 是 io per second每秒 IO 的次数。 可通过以下参数控制容器的 bps 和 iops --device-read-bps限制读某个设备的 bps。 --device-write-bps限制写某个设备的 bps。 --device-read-iops限制读某个设备的 iops。 --device-write-iops限制写某个设备的 iops。 下面这个例子限制容器写 /dev/sda 的速率为 30 MB/s docker run -it --device-write-bps /dev/sda:30MB ubuntu
http://www.w-s-a.com/news/726680/

相关文章:

  • seo泛站群外贸网站建设团队
  • 网站免费维护建立网站国家城乡建设部投诉网站
  • 企业网站必须备案吗wordpress导入数据库依然无法链接
  • 浅谈高校网站群的建设网站不支持m.域名
  • 和平网站建设公司做实验教学视频的网站
  • 音乐网站源码带手机版WordPress菜单调用不出
  • 昆明网站设计都需要设计什么网络推广岗位职责和任职要求
  • 国外公司网站模板网站建设公司选择意见书
  • 如何创建一个网站卖东西郑州 网站建设公司
  • 石景山郑州阳网站建设南京网站搜索引擎优化
  • 一个网站需要哪些备案书店网站建设策划书总结
  • 网站建设的重点是什么注册网站空间
  • 网站公司企业宗旨我的网站 dedecms
  • 沧州网站优化做详情图的网站
  • 中国建设银行公积金网站wordpress表单 post
  • 找权重高的网站方法wordpress视频网站上传视频
  • 营销型网站架构师迁移wordpress500错误
  • 做网站还是博客由()承担
  • wordpress 导购站模板中国最新军事新闻直播83军
  • 公众号h5网站开发wordpress文章主图
  • ps怎么艺术字字体设计网站我想自己做网站
  • 北京做机柜空调的网站模板网站和插件
  • 手机购物网站模板wordpress添加分类文档
  • 网站开发知识网上怎么申请个人营业执照
  • 音乐网站建设费用营销策略都有哪些4p
  • 深圳制作网站怎么样wordpress 学习视频
  • 新公司注册网站传奇手游大型网站
  • 无极网站网站涉案多少人被抓网站的按钮怎么做
  • ds216j做网站做购物网站那个好
  • 做淘宝门头的网站阿里巴巴官网app