用于开发的vmware和性能

时间:2008-10-27 18:20:25

标签: vmware

很奇怪,有多少人在VMware环境下开发?

雇主为每个人设置vmware是否受欢迎?

似乎是推出新桌面计算机和执行备份等的好方法。

虽然担心性能(PC vmwares)。

更新

我只是看着vmware的网站,销售额为13亿美元。哇!

17 个答案:

答案 0 :(得分:10)

我几乎完全使用虚拟机进行开发,我很高兴这样做。多个沙盒环境的灵活性绝对值得进行小规模的交易。

显然,VM永远不会给你与在本机系统上运行相同的结果,但是你应该能够轻松获得与真实系统相差10-15%的性能。根据我的经验,人们遇到的许多性能问题都是由于系统和VM配置不当或配置不当造成的。

我主要使用带有4GB Ram的2.4Ghz Core 2 Duo上的Vista x64虚拟机进行开发。其中我为我的主VM分配了2GB的RAM和两个虚拟核心。如果我运行多个VM,我通常将其更改为1-1.5GB和一个核心。

这是一些快速的GeekBench测试结果; (注意,在OSX和Vista下的GeekBench结果似乎不具有可比性,这里列出了它们以显示配置对两个系统的影响)。

全新启动,没有活动应用程序:

Native OSX - 3115 本机OSX运行Vista 64 VM - 3042 原生Vista 64(2.4GHz x 2,4GB) - 2596 Vista 64 VM(2个VCore,3GB) - 2362 Vista 64 VM(1个VCore,2GB) - 1892

根据我的经验,这些是导致虚拟机性能不佳的最常见原因;

  • 机器不足。理想情况下,您应该能够为计划工作的每个VM专用一个核心和1GB内存。与您可能阅读的内容相反,我发现Vista在内存为1GB的情况下运行在XP的几个百分点内。
  • 在VM上运行太多东西。将您的电子邮件,网页浏览和即时消息保存到您的本机操作系统上。
  • 在您的VM上关闭屏幕保护程序,后台应用程序和非必要服务等项目。如果您的VM已备份,则可能需要关闭系统还原。
  • 如果可能,您的VM位于与本机操作系统不同的硬盘驱动器上,因此如果其中一个或另一个开始分页,则它们的光盘访问是独立的。
  • 对VM驱动器进行碎片整理。它确实有所作为。

答案 1 :(得分:5)

VMware Workstation 6.5在我的旧款Athlon X2上运行得像冠军。我在我的主机上使用Visual Studio,并安装了许多具有各种操作系统,框架和浏览器组合的虚拟机。 VMware Workstation也将VM调试添加到Visual Studio中,因此我可以点击F6在我的任何一个VM中启动我的应用程序,并在我想要的任何操作系统下调试它。唯一的问题是,您需要至少4GB的RAM才能使一次使用多于1个VM变得切实可行。

答案 2 :(得分:3)

在我开始使用BizTalk Server,Sharepoint和各种事物的beta / CTP等技术工作的时候,我转而专门开发虚拟机......它只是不可能让所有东西共存于同一个盒子。

自切换以来,我在VM中开发时享受了许多其他好处 - 快照,可移植性,动态封送资源等。

最终的好处是VMWare在许多不同的主机操作系统上存在,因此我可以自由选择我选择的主机操作系统 - XP,Vista,Linux,OSX等。

现在我在MacBook Pro上运行OSX,它允许我在同一个盒子上进行Mac和iPhone开发以及Windows开发。

这是一个漫长的背景故事,让我回答这个问题 - 只要您的硬件规范得当,就不应该遇到任何性能问题 - 甚至用BizTalk做疯狂的事情SQL Server。

答案 3 :(得分:3)

我公司使用VMware使用不同的浏览器/操作系统版本测试我们的webapp。为此,每个人的机器上至少有一个VM。我们都在本机上开发 - 然而 - 即使在具有4GB RAM的四核机器上,我们的应用程序也需要大约20分钟才能完成!对我来说,我不喜欢使用VM映像,因为他们做了多少分页。这里的一些开发人员已经开始使用Linux拥有主机操作系统并在其中运行Windows VM,并且由于减少了分页,它们获得了更好的性能(Linux在内存和磁盘缓存管理方面更好,而且具有更好的调度程序)。通常在我们的Windows实例中运行的额外用于测试的VM因此被移动到Linux主机上并行运行,这提高了性能。

答案 4 :(得分:2)

我们在工作的地方使用它。我们甚至在其上制作带有设备的DVD,以减少新开发人员加快速度所需的时间。

关于性能,我看到了性能损失。如果启用了快照,它似乎主要受硬盘驱动器的限制。当然,在我将我的vm移动到VelociRaptor之后,即使性能上升也不再明显。

哦,我使用Visual Studio 2005和2008开发ASP网站和C / C ++应用程序。

答案 5 :(得分:2)

可悲的是,它在“普通”意义上尚未“流行”,但在尝试它的人“享受”意义上它肯定是“受欢迎的”。作为一名顾问,我喜欢它,因为它允许我在几分钟内交换工具链,并在订婚结束时刻录DVD,将其扔进项目文件,并完成它。

一些响应者似乎在强调使用虚拟机进行测试,我认为 开始获得一些牵引力,至少在更复杂的商店中。对于部署和兼容性测试来说,这显然是巨大的胜利。

答案 6 :(得分:1)

一旦你开始使用VM,你将永远不会回去。我在MacBook Pro上使用VMware进行Windows和Linux开发,我对结果非常满意。

观察:

  • 获得充足的内存。 4GB非常实用,但8更好。你是开发人员,你打开了很多应用程序和网页,对吗?
  • 为VM分配1个核心 - 它比2快。
  • 按照VMware的建议为访客分配RAM
  • 为来宾操作系统使用虚拟硬盘驱动器。它比从BootCamp分区运行guest虚拟机要快得多。
  • VMware没有启用Aero所需的WDDM驱动程序。
  • 当我进行评估时,VMware Linux主机视频驱动程序似乎没有Windows或OSX主机那么快。 Windows客户端的视频在Linux主机上明显慢于其他两个操作系统。这是我在Linux机器上选择Mac的主要原因。

答案 7 :(得分:1)

我认为取决于雇主。在配备充足的机器上,VMWare(或任何虚拟化软件)表现完美。在您更有可能被迫在大多数编程工作中使用的机器上,而不是那么多。

我个人不在工作中使用VMWare。我的工作机器几乎没有足够的能力来原生地处理我需要使用的工具。

答案 8 :(得分:1)

我开始在个人电脑上使用VMware几乎所有内容。

我只为游戏保留原生Windows安装,并为其他所有内容分配虚拟机:

  • 一般办公室工作站(MSOffice,会计软件,一般crapware)。这个几乎一直都在。
  • WAMP堆栈开发环境
  • MS堆栈开发环境
  • 用于beta测试的一次性环境以及可能破坏操作系统安装的东西。

一切都很快。我使用简化的WinXP基础安装,占用很少的空间/内存。

磁盘I / O似乎是我的瓶颈,但我觉得我们距离相当实惠的SSD只有一代(6个月?)。

我无法回到物理计算。

答案 9 :(得分:1)

除非雇主便宜,否则它很受欢迎,我在一些公司使用它。它非常适合.NET或任何语言,你必须检查它是否适用于不同的操作系统版本/平台。最常见的方法是不在自己的计算机上使用VMWare,而是远程加入它。

答案 10 :(得分:0)

我个人希望将虚拟化解决方案用于我的日常开发,因为它能够同时在多个操作系统上进行测试和开发。但是,由于我的日常开发涉及相当多的操作,因此目前这不是一个可行的解决方案,因为大多数情况下,由于缺乏驱动程序和硬件加速,VM上的操作系统将默认返回软件渲染。

答案 11 :(得分:0)

我正在进行一些SharePoint开发,我非常喜欢在笔记本电脑上使用VMPlayer所带来的灵活性。我有一个带有WSS和VS2005工具链的图像,另一个带有MOSS和VS2008 / SQL server 2008的图像,当我需要它到最大值时。 当2008年的图像变得腐败时(我想到许多测试版)我可以删除它并从之前的备份中创建一个新版本。 能够在火车上的服务器环境中进行自我发展。

PS:运行VMWare只需4 GB,即使使用5600 rpm的慢速磁盘驱动器,它也能表现得非常好

答案 12 :(得分:0)

在我的开发环境中,我使用了几个VM。通常每个角色有一个(linux)服务器(如subversion,MySQL数据库,web服务器,trac服务器等等)。通过这种方式,我的主计算机保持干净,不会因为运行错误而影响我的工作,并且数据在VM主机上保持安全。

VmWare非常高级,对于生产我建议使用更低级别的裸机解决方案,比如Xen。

答案 13 :(得分:0)

我在整个网络的VMWare版本下开发,包括; AD服务器,数据库服务器等,不用说即使在运行4GB内存的VMWare服务器上,性能也很糟糕。但它确实允许我开发而不用担心意外地破坏我公司的实时数据库或关闭现实世界中的重要服务器。如果发生了疯狂的事情,没有大事,我可以回到昨天。如果我的整个网络没有安装在VMWare环境中,那么性能就会令人难以置信,但是运行所有其他系统确实让它陷入了沉重的压力。

答案 14 :(得分:0)

我们尝试使用虚拟机全押,但发现SQL Server在同一个物理盒上运行多次基本上使其陷入无用状态。但是,一旦将数据库从VM堆栈中删除,我认为我们没有看到任何严重的问题。

答案 15 :(得分:0)

桌面/工作站上的虚拟化:Sun Virtualbox或VPC。轻松,轻盈。我们分享我们最喜欢的图像,保持它的因果关系,有时甚至是sysprep它们。

主要QA环境对Manager非常重视。这是一个工作的野兽,但没有它就无法生存。我们无法在真实机器中负担我们的测试矩阵,或者在没有模板管理的情况下维护它。没有这样的资源,你可能应该做的事情和不应该做的事情。

长期服务器或QA DB:VM Ware ESX。 (没有简短的解释)。

我们没有DB和虚拟化的性能问题。好吧,我在实验室管理器中做过 - 这也是为什么数据库在我们商店的ESX上运行的原因之一。对于I / O,我们的IT人员通过SAN,iSCSI和高质量的线路实现了神奇。如果数据库服务器是裸机,那么在数据库服务器上避免性能问题肯定更简单,并且可能从专用主机中挤出更多性能。

它提出了虚拟化的优点和不适用:虚拟化不适用于您已经最大化硬件的情况。例如,我不使用它开发,因为我需要我的开发盒可以给我的一切。它将取代数十个未充分利用,难以配置的物理服务器,并在更少的主机上提供数十个易于配置的虚拟克隆。它允许热交换更多容量,或允许工程灵活性。

我还有一些90年代后期的电脑游戏,我在虚拟化的Windows 98中运行。

答案 16 :(得分:0)

作为Windows开发环境的VMWare在我的双核上使用2GB ram(XP guest,XP主机)运行得很糟糕。即使除了VMware之外没有任何东西在主机上运行,​​每次切换应用程序时,持续分页大约需要一分钟才能解决。哎呀,原生的VS2008甚至在智能感知大量使用(偶尔显着滞后)时也没有那么好。虽然使用固定的VM映像作为我的日常工作环境有很多好处,但第二到第二次性能滞后太令人沮丧了。

我的雇主给我买了一个很好的64位系统,有一吨公羊,所以我会在一个月内重温这个主题。现在我每隔几个月重新拍摄一次我的机器。

...控制台开发显然表现得很好。对于高内存应用程序没有启动和关闭vmware的服务器应用程序(部署)很可爱并且运行良好。