最近研究虚拟化技术,不可避免遇到一个问题:如何评估物理主机上虚拟主机的容量?下面这篇文章的思路有一定的启发性,转发一下。

如何确定一个CPU核上部署的虚拟机数量?

摘要:本文说明一个CPU核上部署虚拟机的理想数量。

用户经常会问我这样一个问题,“在一个CPU核上部署虚拟机的理想数量是多少?”我试图从下面两个答案中其中一方面回答:要么用户基于业内测试实例做出决定,要么基于他们自己的桌面PC机来验证性能、评估CPU需求量。

  用业内标准来评判,一个3.0GHz四核心双CPU的服务器通常可以负载的虚拟机数量是30到80个,数量不同的因素是办公桌面类型不同。

轻量级用户:对CPU资源使用的预期值是300MHz;这类用户可能是售报机操作员、接待员、管理员或者仅仅浏览网页的用户。这类用户的办公桌面可能是暂停状态或者根本没有使用,因此前面提到那种配置的服务器每核比率大概接近10:1。
  
      中等用户:对CPU资源使用的预期值是500MHz;这类用户可能包括数据录入人员、医生、学生、Microsoft Office用户、使用公司内部应用软件的电话销售员,或者服务台工作人员。这类用户仅仅在工作时间使用他们的办公桌面。因此,前面提到那种配置的服务器每核比率大概接近6:1。

重量级用户:对CPU资源使用的预期值是800MHz;这类用户可能包括开发人员、系统管理员、IT工作人员、数据库管理员或者工程师。无论是正常工作时间还是下班之后,这类用户的办公桌面负载都很大。他们可能需要运行很大的图形处理工具或者Java应用程序,这些软件都会加重办公桌面负担。因此,前面提到那种配置的服务器每核比率大概接近3.75:1。

超重量级用户:对CPU资源使用的预期值是1GHz;这类用户可能使用大型图形处理工具,如CAD用户或者图形界面处理的开发人员。还有另外一类开发人员,他们处理对CPU使用率比较大的Java或者Web设计。这类用户办公桌面的使用率通常保持在一个较高水平,因此前面提到那种配置的服务器每核比率可能接近2:1。
  
      如果使用这个评估系统来设计一个VDI架构的话,需要知道所有这些用户在整个工作环境中是混杂在一起的。并且由于他们更倾向于需要更多的可收缩性而非CPU,所以也必须考虑内存和磁盘空间。

  规划虚拟桌面架构的另外一个方法就是从实际工作环境的办公桌面中收集数据,并且对这些数据做些基本分析、计算。

  如果一个标准办公桌面对一个2.5 GHz单核CPU使用率是10%,那么这个办公桌面平均就使用250 MHz。峰值时刻使用率是25%,即625MHz,但这种情况一天内仅出现20分钟。根据这个时间度量标准,我们考虑使用平均利用时间。

  提示:在虚拟化这些办公桌面时,需要少量系统开销来运行一些部件,如虚拟化图形界面、声音和其它需要连接的设备。在此我们假设针对每台办公桌面会增加25%的系统开销。

  因此,我们这样计算:250 MHz * 30% = 75MHz

  则有250 MHz + 75 MHz = 32 MHz

  如果我们使用3.0四核心双CPU的服务器,将得到如下计算等式:

  (3.0 GHz * 8) / 325 MHz = 73.85个办公桌面。

  要知道这些计算等式并不是非常科学,只用实际测试才能够提供精确数据。但是对于大多数用户来讲,这些计算结果和精确数字已经非常接近了,并且在规划虚拟桌面架构时可以提供必要的帮助。

虚拟机评估——如何确定一个CPU核上部署的虚拟机数量?的更多相关文章

  1. 一个 CPU 核 开多少个 线程 比较合适 ?

    一个 CPU 核 开多少个 线程 比较合适 ? 这是一个 线程池 的 问题 . 我之前也 反对 过 线程池, 因为我认为 线程池 影响了 对 用户 的 实时响应性 . 我也认为, 分时 (对 CPU ...

  2. linux下怎样将sheduler绑定到制定的cpu核上

    作者:张昌昌   1.顺序绑定 erl +sbt db 是按从前到后的顺序来绑定调度器的,如: erl +sbt db +S 3含义是启动erlang虚拟机,开启3个调度器,按顺序绑定在0,1.2号核 ...

  3. Linux 进程、线程运行在指定CPU核上

    /******************************************************************************** * Linux 进程.线程运行在指定 ...

  4. 一个tomcat服务器上部署多个Web项目,不同域名访问

    [参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...

  5. 【记录一个问题】铁威马NAS存储中的人人影视APP,其WEB服务占满一个CPU核

    终端登录后,top命令发现rrshareweb这个进程把单个CPU核占满了. 发现其实是人人影视的web服务,而这个服务里面我还根本未使用. 卸载这个app后正常.

  6. 龙芯将两款 CPU 核开源,这意味着什么?

    10月21日,教育部计算机类教学指导委员会.中国计算机学会教育专委会将2016 CNCC期间在山西太原举办“面向计算机系统能力培养的龙芯CPU高校开源计划”活动,在活动中,龙芯中科宣布将GS132和G ...

  7. Ubuntu系统进程绑定CPU核

    Ubuntu系统进程绑定CPU核 作者:chszs.版权全部,未经允许,不得转载. 博主主页:http://blog.csdn.net/chszs 本文讲述如何在Ubuntu系统中,把指定的进程绑定到 ...

  8. 【转帖】龙芯将两款 CPU 核开源,这意味着什么?

    龙芯将两款 CPU 核开源,这意味着什么? https://www.oschina.net/news/78316/loongson-open-source-two-cpu-core 文章挺不错的 也讲 ...

  9. Redis性能篇(二)CPU核和NUMA架构的影响

    Redis被广泛使用的一个很重要的原因是它的高性能.因此我们必要要重视所有可能影响Redis性能的因素.机制以及应对方案.影响Redis性能的五大方面的潜在因素,分别是: Redis内部的阻塞式操作 ...

随机推荐

  1. SecureCRT自动备份脚本-华为

    # $language = "VBScript" # $interface = "1.0" Sub Main Const ForReading = 1, For ...

  2. 重签名问题:does not have a signature matching

    今天在家里电脑重签名过的apk拿到公司来用装到模拟器上,运行Robotium测试用例时,报了如下错误,原本以为是工程里的activity名称和包名写错了呢,检查了一遍发现木有错误呀.... 好吧,那我 ...

  3. C/C++语言的一些精简归纳

    前言:本想直接写个关于OC语言,但觉得还是要说下C先. 先语言特性 C是面向过程的,没有类和对象概念,也就没有什么封装(这个?).继承.多态等特性. 而且是是中级语言,其编译过程包括:预编译(incl ...

  4. Spring 4 官方文档学习(十二)View技术

    关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Template ...

  5. angualrjs

    $rootScope是angularJS中最接近全局作用域的对象.在$rootScope上附加太多业务逻辑并不是好主意,这与污染JavaScript的全局作用域是一样的. $scope对象就是一个普通 ...

  6. 王爽-汇编语言-综合研究一-搭建简易C环境

    (一) 学习过程: 整个过程分为两个部分: 第一:将TC2.0的环境使用虚拟软盘复制到DOS虚拟机中: 打开WinImage,fileànew,由于TC2.0的环境解压后为2.02M,所以我们在Sta ...

  7. 【kd-tree】bzoj2850 巧克力王国

    分四种情况讨论:a,b>=0 a,b<0 a>=0,b<0 a<0,b>=0 然后每次检验是否进入一个矩形框 或者 是否直接利用这个矩形框的答案 仅仅利用两个对角的 ...

  8. jQuery in action 3rd - Operating on a jQuery collection

    1.创建新 DOM 元素 $('<div>Hello</div>'); $('<img>', { src: 'images/little.bear.png', al ...

  9. python递归次数和堆栈溢出问题

    在做递归的时候,测试了一下python的递归能力. 如果不设置递归次数的话,大概只能在992次左右,就会出现错误:RuntimeError: maximum recursion depth excee ...

  10. Address already in use: bind

    Eclipse中报了这个错误,下拉小窗口,可以看到正在运行的项目,选中项目,都关闭就Ok了 还有一种方法就是关闭javaw.exe进程