我在一家大公司工作,该公司经营一家 很多 我们运行 JVM 的基于 x86 的服务器。

我们已经成功地尝试使用 VMWare ESX 来更好地利用我们的数据中心。但每个处理单元仍然消耗大量电力。

我有一个疯狂的想法,我们应该复活大型机,我们可以托管大量 JVM 或虚拟机。

有人试过这个吗?有什么好的成本效益吗?

你会失去灵活性吗?例如。我们公司的其他部门也有大型机,但他们似乎对机器的使用更加严格。大量的变更控制、较长的交付周期等

有帮助吗?

解决方案

这一切都假定你在Z / OS谈论Java和不运行Linux虚拟机的主机上采取成本节约来与更少的机器的优势。

我对虚拟化的思想是在本月底和它可能要看看路线,但我会先有自己的z / OS,因为它的大型机传统上与相关的什么,我有什么样的熟悉。我有大型机Java的一些经验。

简短的答案是,这取决于,但可能不会。究竟什么是您的应用程序?相比于x86服务器的主机是一个困难的环境。如果你正在运行在类似的Websphere I / O密集型工作负载,它可能是值得的,假设你的主机没有得到充分利用。

在我的经验,Java是在大型机可怕的慢但那是因为我使用的系统中设置了开发商的灵活性,而不是性能。这更证明性能调优在大型机通常要复杂得多,然后平均的服务器上,因为大型机将运行更多的工作负载,然后通用的x86服务器。

记住,大型机主要设计用于I / O吞吐量,并且可以在该超越任何正常的x86服务器。它不是用来做很多计算密集型计算,所以不会超越x86服务器的一小簇,如果你的做了很多数学的。

在大型机上的变更控制是有一个很好的理由 - 如果一个x86服务器有问题,你重新启动它。如果一台主机有问题,每一秒,它的下跌是花费了公司的钱。你还必须考虑到你的应用程序依赖于可以使用原生代码的任何本机代码或第三方库。所有的代码将不得不被移植。

大型机的配置也平均需要长得多的时间,然后在x86的服务器上。我建议,如果你要认真考虑这一点,你做出更好的商业案例不是节能,如与当前的业务应用程序紧密集成,并开始了小或者与概念证明或新的应用程序。一个不是关键业务,其可被实现采取大型机长处。

IBM大型机还可以在本机模式或相似的VMWare虚拟化环境中运行Linux。除非你的公司是个例外,你的Linux实例将作为虚拟机运行。我没有太多的经验,用这个,但如果你的应用程序依赖于无本机代码和Linux下运行,它可能会在运行Linux的大型机工作。有关Linux的大型机上的更多信息请参见此链接

其他提示

IBM做出特殊的Java协处理器,你应该认真考虑的。我不会对一般的发动机运行Java,因为这可能会增加软件许可费用MPU

我们有Windows,Linux下和在IBM SystemI运行Java的丰富经验(或iSeries或AS / 400,根据IBM的心情年)小型机。这是我认为,微型计算机平台似乎提供了你对现代的多核心x86处理器的降压更爆炸。

请注意,从Java有今天比典型的软件可用多个内核的好处更容易,因为它的固有的多线程性质 - 当你运行多个JVM,这将是更真实的

这就是说,你通常能获得很多其他可用的CPU核心提供更好的带宽,对磁盘子系统(整体),所以这些系统的小型或大型主机,以及更好的吞吐量存取存储器很可能扩大为你更好抛上他们更多JVM。

IBM允许这样做。他们的一些大型机可以认为,在本机运行字节码更高的性能的Java加速器处理器。他们也有DB2加速器,可能还有一些用于XML操作。

我从来没有得到任何人玩,不过我确实喜欢。

自1975年以来虽然我已经在这个行业,我不再知道什么是“主机”是。我的当前发展机具有四个3GHZ处理器在它,8GB的RAM,和磁盘空间750GB(RAID 1,所以实际上它两倍),和两个19英寸平面显示器。

这是因为我有一个合同。员工都具有更强大的箱子比我的。

据我所知,服务器机器,尤其是数据库服务器,是要快得多。

大型机?

根据您的工作量,这值得一看!

仅使用 IBM 硬件就有大量令人眼花缭乱的可用选项:

  1. 它绝对值得考虑添加 Java 处理器。(实际上,这些并不是不同的标准CPU形式,仅限于Java JVM工作负载,最重要的是,最重要的是,将基于CPU的软件许可定价排除在外)。

  2. 您可以运行多个 Linux VM,每个 VM 运行自己的 Java 应用程序。

  3. 可以运行多个运行其最小操作系统的本机 VM 曾经被称为DOS,但他们每隔几年就会改变一次名称。软件许可证比主操作系统便宜,但非常有限 功能,如果您运行自包含,这将是一个优势 应用。

  4. 您可以在 Monster z/OS 环境中运行:-

A。在USS(Unix系统服务)中,它几乎是一个完整的UNIX 在父 z/OS 中运行的操作系统。

b.在自己启动的任务中运行您的 Java 应用程序(== unix 守护进程)。

C。在 CICS 中运行您的应用程序。(可能不是,因为您需要在任何地方使用 CICS/Java API 通常使用 Servlet/J2EE API,因此您的应用程序需要重写。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top