gpt4 book ai didi

java - 如何利用 Java Web 服务获得 Nginx 优势

转载 作者:行者123 更新时间:2023-12-01 14:19:37 27 4
gpt4 key购买 nike

在过去的几年里,我使用 Apache httpd 服务器作为我的服务器。

据我了解 - 使用 Nginx 的最大优势是 Apache 为每个 HTTP 请求打开一个不同的线程 - 这可能会非常快地加载我的服务器,而 Nginx 使用一些其他技术(事件驱动)来最大限度地利用超出了我服务器的内存和硬件。

到目前为止一切顺利。

我正在构建一个新的 Web 服务,预计会有大量 HTTP 流量,因此我决定使用 Nginx。

作为一名优秀的 Java 程序员,我比 PHP 更喜欢 Java,但在我的案例中使用它时遇到了一个概念问题:

在所有帖子中,我发现在其上使用 Java 的方法是使用 Nginx + Tomcat(或其他 JavaServer)+ Java 包装应用程序 - 所以,如果我理解正确 - 我将不会获得 Nginx 的优势因为 Tomcat 将为每个请求打开一个新线程以使用 Java Web 服务。

问题:

  1. 我理解正确吗?
  2. 将 Nginx 与 PHP 结合使用是否会为每个请求打开一个新进程,但不会打开一个新线程?

最佳答案

  1. 您的理解正确。在这种情况下,nginx充当反向代理,tomcat充当应用服务器。大多数时候,瓶颈出现在应用层面:应用本身的应用服务器。
  2. PHP使用进程而不是线程来执行请求,每个请求都需要一个php-cgi进程来处理,只有当这个请求完成后,进程才会被释放来处理其他请求。对于php-fpm来说,它通常会预先fork很多子进程,就像一个pool,我们需要根据机器的真实QPS和stat来计算这个pool的大小。

关于java - 如何利用 Java Web 服务获得 Nginx 优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17734480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com