虚拟机评估——如何确定一个CPU核上部署的虚拟机数量?
最近研究虚拟化技术,不可避免遇到一个问题:如何评估物理主机上虚拟主机的容量?下面这篇文章的思路有一定的启发性,转发一下。
如何确定一个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核上部署的虚拟机数量?的更多相关文章
- 一个 CPU 核 开多少个 线程 比较合适 ?
一个 CPU 核 开多少个 线程 比较合适 ? 这是一个 线程池 的 问题 . 我之前也 反对 过 线程池, 因为我认为 线程池 影响了 对 用户 的 实时响应性 . 我也认为, 分时 (对 CPU ...
- linux下怎样将sheduler绑定到制定的cpu核上
作者:张昌昌 1.顺序绑定 erl +sbt db 是按从前到后的顺序来绑定调度器的,如: erl +sbt db +S 3含义是启动erlang虚拟机,开启3个调度器,按顺序绑定在0,1.2号核 ...
- Linux 进程、线程运行在指定CPU核上
/******************************************************************************** * Linux 进程.线程运行在指定 ...
- 一个tomcat服务器上部署多个Web项目,不同域名访问
[参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...
- 【记录一个问题】铁威马NAS存储中的人人影视APP,其WEB服务占满一个CPU核
终端登录后,top命令发现rrshareweb这个进程把单个CPU核占满了. 发现其实是人人影视的web服务,而这个服务里面我还根本未使用. 卸载这个app后正常.
- 龙芯将两款 CPU 核开源,这意味着什么?
10月21日,教育部计算机类教学指导委员会.中国计算机学会教育专委会将2016 CNCC期间在山西太原举办“面向计算机系统能力培养的龙芯CPU高校开源计划”活动,在活动中,龙芯中科宣布将GS132和G ...
- Ubuntu系统进程绑定CPU核
Ubuntu系统进程绑定CPU核 作者:chszs.版权全部,未经允许,不得转载. 博主主页:http://blog.csdn.net/chszs 本文讲述如何在Ubuntu系统中,把指定的进程绑定到 ...
- 【转帖】龙芯将两款 CPU 核开源,这意味着什么?
龙芯将两款 CPU 核开源,这意味着什么? https://www.oschina.net/news/78316/loongson-open-source-two-cpu-core 文章挺不错的 也讲 ...
- Redis性能篇(二)CPU核和NUMA架构的影响
Redis被广泛使用的一个很重要的原因是它的高性能.因此我们必要要重视所有可能影响Redis性能的因素.机制以及应对方案.影响Redis性能的五大方面的潜在因素,分别是: Redis内部的阻塞式操作 ...
随机推荐
- 使用MySql数据库, 浏览器接收返回数据报错SyntaxError: unterminated string literal
用php写了一个很简单的页面, 用来记录常用的oracle的关键字和各种函数, 以后用起来查一下方便, 原来是用java写了一个web项目, 但是用起来太麻烦, 真的不如php方便, 然后就把整理的内 ...
- hadoop中master免登录slave
hadoop集群免登录配置 在主机master上执行如下: 1. $cd ~/.ssh(如果没有此目录,可以手动创建) 2. $ssh-keygen -t rsa ----------------- ...
- WPF中获得控件相对于控件的相对位置
GeneralTransform generalTransform = lstitem.TransformToAncestor(this.BackStack); Point point = gener ...
- TableView刷新指定的cell 或section
//一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:]; [tableview reloadSections:ind ...
- 使用 IntraWeb (39) - THttpRequest、THttpReply
在其它服务器脚本语言中熟悉的 Request.Response(THttpRequest.THttpReply) 在 IntraWeb 中算是幕后英雄了, 用户基本不需要直接操作它们了. IW 默认 ...
- PHP通过反射方法调用执行类中的私有方法
PHP 5 具有完整的反射 API,添加了对类.接口.函数.方法和扩展进行反向工程的能力. 下面我们演示一下如何通过反射,来调用执行一个类中的私有方法: <?php //MyClass这个类中包 ...
- DL4J (DeepLearning for java)
http://deeplearning4j.org/lstm.html A Beginner’s Guide to Recurrent Networks and LSTMs Contents Feed ...
- Training Deep Neural Networks
http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html //转载于 Training Deep Neural ...
- window.open打开窗体和if嵌套
<script> function openWindow(){var my=confirm("你要打开窗口吗?")if(my==true){ var url ...
- HtmlHelper和强类型转换
MVC HtmlHelper;1.Url():<%= Html.ActionLink("用户列表","方法","控制器") %> ...