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

如何确定一个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. C#的UDP服务器

    最新优化版本 /* http://www.cnblogs.com/zengqinglei/archive/2013/04/27/3046119.html */ using System; using ...

  2. 用T-sql 实现Oracle Connect by 的功能

    ; with subDepartment as ( select BesonDepartmentID, DepartmentName, ParentBesonDepartmentID, 1 as Hi ...

  3. PoEdu - C++阶段班- Lesson07 To Lesson10_C to C++

    07  重载导致的二义性 问题:为什么一定要重载呢?重载能方便我们注重函数的功能,当参数类型不确定时,我们能很便捷的利用重载的机制达到目的. 重载注意点:二义性 看代码: #include <c ...

  4. 恢复SQLSERVER被误删除的数据(转——收藏)

    恢复SQLSERVER被误删除的数据 摘自:http://www.cnblogs.com/lyhabc/p/3683147.html 曾经想实现Log Explorer for SQL Server的 ...

  5. loadrunner11录制报 NOT PROXIED!错误,无法生成脚本

    使用loadrunner11,IE9录制完脚本,报错: [Net An. Error    (1dec:282c)] Request Connection: Remote Server @ 210.5 ...

  6. C++调用动态库中的虚基类成员函数时总是进错函数

    原创文章,转载请注明作者与本文原始URL. 问题描述:最近遇到这样一个问题,在调用C++的一个成员函数时,总是进错函数.在调用 pMsg->GetMsgContent() 的时候,总是进入到 p ...

  7. lnmp memcache出问题

    打开另一台用0.9装好的memcache 的PHP配置文件,找到了“extension = "memcache.so" ,将这个加入到了1.0的php.ini重启后 执行/memc ...

  8. pmcyg 1.0 发布,Cygwin 安装包创建工具

    pmcyg 1.0 改进包列表中对 UTF-8 的支持. pmcyg是一种工具来创建自定义集合的Cygwin包 连同Cygwin安装程序.这使得创建独立的分布而无需镜整个组Cygwin包.例如,它可以 ...

  9. Eclipse的常用快捷键、旁门左道、系统错误小贴士

    转自:http://usenrong.iteye.com/blog/1113700 eclipse是一个开源产品,目前比较流行和普遍的JAVA IDE(集成开发环境)它使用工程化方式管理.虽然ecli ...

  10. NodeJS Hello world

    #2 NodeJS Hello world 打开 https://nodejs.org/api/synopsis.html 将上述代码保存至D:\NODEJS\example.js 打开CMD窗口,定 ...