我应该只使用 nginx,还是将它作为 Tomcat 的代理(与性能相关)?

Kev*_*vin 1 php tomcat nginx java bottleneck

我计划创建一个包含大量动态内容的网站,并且想知道对于我的 webstack 的一部分来说最明智的选择是什么。

现在我正试图决定我是应该在 nginx 上开发,使用 PHP 来传递动态内容,还是使用 nginx 作为 Tomcat 的代理并使用 servlet 来传递动态内容。

我在 Java、JSP 和 servlet 方面有丰富的经验,所以这是一个加分项。此外,由于它是一种编译语言,因此它的执行速度比 PHP 快(这里暗示Java 比 PHP 快 37 倍左右),并且可以更快地创建网页。

我没有使用 PHP 的经验,但是我的印象是它很容易上手。它比 Java 慢,但由于客户端只与 nginx 通信,我认为 以这种方式为客户端提供动态创建的网页会更快。

考虑到这些事情,我想知道:

  1. 我的假设正确吗?
  2. 瓶颈出现在哪里:创建页面还是将它们返回给客户端?
  3. 如果我要使用 Tomcat 来生成动态内容,那么使用 nginx 代理 Tomcat 是否会给我任何 nginx 性能优势(请记住,我的网站在这方面会很繁重)?

我不介意学习 PHP,如果最终它会给我最好的性能。我只是想知道从这个角度来看什么是最好的选择。

Tom*_*url 5

在 Java 和 PHP 之间进行选择时,您需要记住以下几点:

  • 他们都是优秀的语言
  • 已经使用这些语言创建了大量出色的高性能 Web 应用程序
  • 他们都有优秀的开发者社区

除非您使用两种语言创建相同的应用程序,然后部署和测试这两种语言,否则无法回答哪一种表现更好。对于 99.9999% 的团队来说,这当然过于昂贵和耗时。

当您面临此类选择时,您可能想问以下一些问题,而不是“哪种语言表现更好”:

  • 哪种语言和框架使我的开发团队最高效?
  • 我的部署团队最容易监控、部署和维护哪种类型的应用程序?

如果答案是 PHP,那么在我看来,尝试用另一种语言编写应用程序以获得预期的性能增益是愚蠢的。但是,如果您的团队(即使只有您自己)更熟悉 Java,那么花时间尽可能多地做您所知道的事情可能是个好主意。

哼!