我想知道Tomcat上的Java(JSP)在性能方面与Apache上的PHP相比如何。
两台具有相同硬件配置的服务器,一台运行Tomcat / Java(JSP),另一台运行其他Apache / PHP,两台服务器最多可以同时处理多少个连接。它们会有点接近,还是会大幅度离开另一个?我基本上只是想知道如果我切换到它而不是PHP,Tomcat / Java(JSP)是否会成为一个重大的性能影响。如果有人能够详细解答为什么一个比另一个更快,那将是惊人的。链接也很棒,我无法在网上找到任何东西。
请不要Java vs PHP战争,这只是关于性能,与语言本身无关。
注意:如果从PHP切换到Java应该有任何其他问题,请告诉我。我真的很讨厌问这个问题,因为我通常是第一个说“你喜欢的节目”的人,但在我的情况下,我需要什么对我工作的项目也有好处。我知道有一些用JSP编写的大型网站,但这并不意味着它们更好。
由于
答案 0 :(得分:15)
对您正在处理的项目有利的是花费尽可能少的时间来编写它们,因为开发人员的时间 方式 比任何感知差异都要贵性能。所以坚持你熟悉的东西。
你的问题的答案是:它们都足够快。
任何这样的比较都很难,因为你最终会以不同的语言做不同的事情。 Java字节码的解释速度可能更快,但是任何体面的PHP安装再次使用操作码缓存在很大程度上否定了实际的任何优势。
Java也有一个更复杂的开发模型,因为Web进程是持久的。这可以带来性能优势,但也可能会产生内存和其他资源泄漏等问题,而PHP并不会因为每个请求都创建和销毁所有内容(禁止会话信息,内存缓存等)。
还可以为您想要加速的任何部分创建PHP扩展。
$ 10,000可以购买大量硬件。它可以购买硬件来运行SO。它不会占用很多开发时间。我有从事Java和PHP开发的经验。我将通常选择PHP进行Web开发,因为:
我会将Java用于某些事情,比如任何涉及大量后台处理和线程的事情,这些都不是PHP的优点。
你会注意到表现(或缺乏表现)甚至没有作为理由或再次表示。
很抱歉,如果这不能回答你的问题,但对性能的担忧是毫无意义的分心。
答案 1 :(得分:0)
回答性能问题的最佳方法是使用基准测试。在PHP和Java中实现一些简单的页面,然后使用ab(Apache Benchmark)对它们进行基准测试。
话虽如此,我怀疑Java会因为两个平台的性质而优于PHP。 Java被编译为优化的字节码(一次),然后由虚拟机解释。当Tomcat运行时,JVM会加载任何给定页面所需的类,并将它们保存在内存中,这样当HTTP请求到达Web服务器时它们就可以运行了。与PHP相比,它通过Apache的每次调用从头开始重新加载和重新解释代码。这在很大程度上受到操作码缓存的帮助,但仍然没有达到JVM中发生的水平。