【问题标题】:(Why) does Tomcat/Java perform better on Linux than on Windows?(为什么)Tomcat/Java 在 Linux 上的性能比在 Windows 上好?
【发布时间】:2011-02-06 18:59:54
【问题描述】:

我只是read this (one) study,其中Linux下的Tomcat优于Windows。

根据您的经验,这通常是正确的吗?有什么深层原因可以解释性能差异?

【问题讨论】:

  • 我同意 cmets(基准已经过时,使用旧的 JVM,一些细节尚不清楚)但是,我从未见过在 Windows 上运行得比在 GNU/Linux 上更好的应用服务器(相同的硬件、相同的版本、相同的参数、分别由 Windows 和 Linux 专家调整的操作系统)在我完成的 所有 基准测试中。您可能会认为这是免费的声明,但这是我的经验(老实说,我不知道有多少客户端在 Windows 生产环境中运行应用服务器)。
  • @ripper234:是的,这通常是正确的。您是否也对正常运行时间数据感兴趣?需要强制重启的关键安全补丁呢? (请记住,在某些环境中,重新启动被认为是一种不可靠的执行方式)。 Windows 是一头猪,一个不安全的臃肿的猪圈。糟糕的操作系统设计、糟糕的调度、糟糕的资源释放等。请记住,在 Linux 下,“kill -9”保证释放程序正在使用的所有内存。 Windows下不存在这样的东西。泄漏。这么多泄漏。 Windows 真的是一个平庸的 POS:有没有注意到 SO 可怜的正常运行时间?

标签: java windows linux performance tomcat


【解决方案1】:

我不认为这样的基准可以提供如此丰富的信息,那么这个已经 4 岁了。

顺便说一下,这些差异通常存在于与操作系统如何管理内存、缓存和线程有关的某些选择中......

【讨论】:

  • 该死,我只是在谷歌阅读器上看到的,并没有检查日期。
  • ..以及使用的 JVM。也不清楚他们是否使用了-server 选项。
  • @Jack: -1,检查这里:mediakey.dk/~cc/tomcat-performance-linux-faster-than-windows 如果你真的认为 Windows 服务器的性能和 Linux 一样好,那就问问自己,所有基于 Windows 的 Oracle DB 都在哪里,所有 Windows 都在哪里? 500" 超级计算机。 Linux 肯定在那里很自在 ;)
  • 我并没有说 Windows 的性能和 Linux 一样好,我认为相反的可能性更大 :) 我只是想指出这种基准测试必须小心用作参考,我的答案是与操作系统无关
【解决方案2】:

我对任何基准都持保留态度。可以进行任何比较。

我发现一个关键是尝试找出进行比较的人可能存在的任何偏见。几年前有一个臭名昭著的比较 Java EE Pet Store 与 .NET 的比较。进行这项研究的小组是由微软支付的。他们没有尽其所能来优化 Java EE 解决方案,从而将其置于不利地位。结果被抹黑了。

WebPerformance.com 是否有任何 Linux 偏见?

如果不是,那么有很多因素会影响到这样的结果。我会仔细比较所有这些,并尝试看看我是否能发现任何可能被遗漏的重要内容。

【讨论】:

  • 确实不清楚使用了哪些设置。是否使用了 JVM -server 选项?是否启用了 NIO 连接器?两者在 Windows 上都非常重要
【解决方案3】:

几点(主要是推测):

  • FOSS 在 FOSS 软件上开发的 Tomcat,所以它在 FOSS 软件上表现更好是合理的。
  • Linux是更好的操作系统;-)

一般。这取决于微调经验...如果您熟悉 Windows,您会更好地为 Windows 调整它,如果您更了解 Linux,那么...

【讨论】:

  • 这些观点毫无意义或至少不是解释
  • 其实first还是蛮有效的。例如,众所周知,MySQL 和 PostgreSQL 在 Linux/Unix 上更高效,因为它们紧密面向 POSIX 操作系统并对其进行了优化。
猜你喜欢
  • 2014-08-02
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-30
  • 2014-10-16
  • 2013-10-03
相关资源
最近更新 更多