斐力庇第斯从马拉松回雅典报信,虽然已是满身血迹,筋疲力尽,但他知道:没有出现在雅典人民面前,前面的路程都是白费。 最艰苦、最关键的时刻,把好最后一道关。

vmware实践应用分析

上一篇 / 下一篇  2008-03-25 14:48:53 / 个人分类:应用部署

查看( 1458 ) / 评论( 1 )

安装与配置:

下载vmwaretar.gz

解压缩:

tar -xvzf vmware*.tar.gz

进入目录:

cd vmware*

执行安装:

./vmware-install.pl

安装过程需要输入序列号

其它默认,回车就好了

 

安装成功以后vmware会成为linux服务项

可以用service vmware start/stop来启停

 

启动某个虚拟机,假设虚拟机文件是/vdisk1/test168.vmx

启动该虚拟机:

vmware-cmd /vdisk1/test168.vmx start

停止该虚拟机:

vmware-cmd /vdisk1/test168.vmx stop

 

vmware官方站的配置和FAQ文档是比较齐全的

windows机器上安装vmware监控台来使用linux上的虚拟机,可以方便处理虚拟机文件和修改配置。

性能相关:

cpu:

对于应用虚拟机的系统来说,cpu上增加了系统占用量增加,vmware本身消耗的cpu是比较小的。单机上对应占用25%cpu时间的进程,开启3个约占用75%80%,但如果是在将全部cpu资源分配给虚拟机的情况下,该虚拟机开启3个约占用80%85%,而如果将cpu资源均分3份分配给3个虚拟机,每个虚拟机开启1个,总cpu占用在90%左右,损耗是比较严重的。

当应用cache的命中较高时,cpu消耗增加,会使这种情况进一步加剧

内存:

虚拟机内存的分配只能在物理内存范围内,如果分配量超出物理内存量,由于虚拟机运行会频繁使用虚拟内存,应用的速度会慢得难以接受。

硬盘:

一般只是读写速率上导致一定的io(无swap时影响很小),容量通常不是问题。

各种应用对虚拟机性能的要求程度(某指数“敏感”意味着该指数越好,性能表现越好):

 应用种类

CPU

内存

磁盘IO

jvm应用

敏感

Jvm内部

不敏感

Search

敏感

敏感

敏感

Cache

敏感

敏感

不敏感

DB

敏感

敏感

敏感

上表是关于各种应用对CPU、内存、磁盘IO性能要求的敏感程度对比。从上面可以看到,最适合使用虚拟机的就是jvm应用;因为虚拟机内部分配内存必须是固定的,所以如果对内存敏感的应用,就不太适合了。

实践举例

cpu:双cpu至强双核2.8GHz

内存:4GB

这类pc server是比较常见的。如果不使用虚拟机,直接安装linux,系统消耗内存共计约200M,通常线上生产环境所用的jvm最大内存1Gjava运行起来后约占1.3G内存,开2个应用后内存消耗3G不到,但开启第3个时就需要使用虚拟内存了;使用虚拟机的话,2个虚拟机运行各需要1.5G(虚拟机操作系统+java),运行起来后约占3.2G,第3个虚拟机无法分配到足够的物理内存,运行艰难。如果是测试环境所用的jvm最大内存0.5Gjava运行起来后约占0.7G内存,开5个应用后内存消耗3.7G,但开启第6个时就需要使用虚拟内存了;使用虚拟机的话,3个虚拟机运行各需要1G(虚拟机操作系统+java),运行起来后约占3.2G,第4个虚拟机无法分配到足够的物理内存,运行艰难。

 虚拟机使用情况

jvm最大内存

单个java应用消耗

应用个数

总计消耗

不使用虚拟机(模拟生产环境)

1GB

1.3GB

2

3GB-

使用虚拟机(模拟生产环境)

1GB

1.5GB

2

3.2GB

不使用虚拟机(模拟线下环境)

0.5GB

0.7GB

5

3.7GB

使用虚拟机(模拟线下环境)

0.5GB

1GB

3

3.2GB

从上表中还可以看出,应用虚拟机对内存的利用率比较低。

内存的使用局限在虚拟机被分配的内存空间内了,对于本身使用了虚拟机技术java应用来说,反而不是问题了。只是由于虚拟机运行除了本身进程还要加载操作系统,使得内存的使用量上升了。

不使用虚拟机只有一个操作系统,而加载虚拟机的话有多少个虚拟机就会加载多少个“虚拟机进程+虚拟机上操作系统”。

针对使用虚拟机后的cpu消耗情况(user%)实验如下(所有java应用相同,每个接受20个连接请求)

 虚拟机使用情况

java应用个数

虚拟机内cpu占用率

物理机cpu占用率

不使用虚拟机

1

——

15.6%

使用虚拟机

1

15.2%

18.3%

不使用虚拟机

3

——

47.1%

使用虚拟机

3

16.1%,14.4%,17.1%

57.5%

虚拟机使用cpu的机制与正常应用程序没有什么区别,所以运行虚拟机本身会损耗3%左右的cpu占用率。

以上数据均在上文的特定配置机器上获取,对于更高性能的服务器不能直接线性扩展。

vmware在虚拟机工具中并不是最好的。virtual zzo虚拟机的运行损耗最小,最接近真实机水平


TAG: 应用部署

飞翔的胖鸟发布于2008-12-30 16:42:10
恩 话说看起来像WORKSTATION吧? 你可以考虑用用esx server 还比较好用 裸机装 最大限度利用当前资源
我来说两句

(可选)

我的栏目

日历

« 2024-05-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 14834
  • 日志数: 8
  • 建立时间: 2008-01-25
  • 更新时间: 2008-09-22

RSS订阅

Open Toolbar