是什么决定了服务器或 LAMP 堆栈的最大并发用户数?
What determines a server's or LAMP stack's max concurrent users?
我正在寻找建立自己的服务器的乐趣,并了解这个过程。
我将在服务器上设置一个 LAMP 堆栈,并将其用作我的移动应用程序的后端,该应用程序每天有大约 1000 名活跃用户。
但我完全不知道是什么决定了我的服务器的限制。我在许多托管服务提供商的网站上看到,他们提供固定数量的并发用户,例如 20 或 100。
决定一台服务器最大并发用户数的原因有哪些?它是否仅取决于服务器的硬件,如可用 RAM?它与代码或软件有关吗?当已经达到最大限制时尝试访问服务器的用户会怎样?
您的问题实际上与任何代码问题无关,但既然您问了...
I will be setting up a LAMP stack on the server and use it as a back-end for my mobile application that has some 1000s of daily active users.
如果您关心性能,您可能应该使用 LEMP 而不是 LAMP。
But I am completely clueless as to what determines the limits of my server. I see on many hosting providers' websites that they offer a fixed amount of concurrent users, like 20 or 100.
您可以购买的所有服务器都可以分为 3 个简单的组:
- 共享主机(您和其他 1000 人共享同一台服务器)。
- VPS/VDS(服务器分为N个独立的部分,保证你的资源:MCPU 内核,K RAM,T GB HDD/SSD,S GB in/out 流量)。
- 专用服务器(你拥有一切)。
如果您看到任何限制,例如“X 最大连接数”或“Y SQL 每秒查询数”,即意味着你谈论共享主机。你不能超过你的限制,否则同一服务器的所有客户端都可能会受到你的website/service“人气”的影响。如果您不想听到无聊的限制,请至少坚持 VPS/VDS,您唯一的限制将是核心、RAM、HDD space 和流量使用。
What happens to users who try to access the server when the maximum limit has already been reached?
取决于您客户端的软件配置和服务器的配置。大多数客户端(如浏览器)的默认行为是等待特定超时。大多数网络服务器 (Apache/Nginx) 的默认行为是将连接保持在队列中,直到解释器 (PHP-CGI/PHP-FPM) 可用或在达到超时(无论先到者)时死亡。但这对于该方案中的每个参与者都是可配置的,从增加超时到立即降低额外负载。
P.S。如果你真的想测试你的服务器性能,你总是可以使用回归 testing/benchmarking 软件或编写你自己的(用连接淹没你自己的服务器直到它死掉)。
我正在寻找建立自己的服务器的乐趣,并了解这个过程。
我将在服务器上设置一个 LAMP 堆栈,并将其用作我的移动应用程序的后端,该应用程序每天有大约 1000 名活跃用户。
但我完全不知道是什么决定了我的服务器的限制。我在许多托管服务提供商的网站上看到,他们提供固定数量的并发用户,例如 20 或 100。
决定一台服务器最大并发用户数的原因有哪些?它是否仅取决于服务器的硬件,如可用 RAM?它与代码或软件有关吗?当已经达到最大限制时尝试访问服务器的用户会怎样?
您的问题实际上与任何代码问题无关,但既然您问了...
I will be setting up a LAMP stack on the server and use it as a back-end for my mobile application that has some 1000s of daily active users.
如果您关心性能,您可能应该使用 LEMP 而不是 LAMP。
But I am completely clueless as to what determines the limits of my server. I see on many hosting providers' websites that they offer a fixed amount of concurrent users, like 20 or 100.
您可以购买的所有服务器都可以分为 3 个简单的组:
- 共享主机(您和其他 1000 人共享同一台服务器)。
- VPS/VDS(服务器分为N个独立的部分,保证你的资源:MCPU 内核,K RAM,T GB HDD/SSD,S GB in/out 流量)。
- 专用服务器(你拥有一切)。
如果您看到任何限制,例如“X 最大连接数”或“Y SQL 每秒查询数”,即意味着你谈论共享主机。你不能超过你的限制,否则同一服务器的所有客户端都可能会受到你的website/service“人气”的影响。如果您不想听到无聊的限制,请至少坚持 VPS/VDS,您唯一的限制将是核心、RAM、HDD space 和流量使用。
What happens to users who try to access the server when the maximum limit has already been reached?
取决于您客户端的软件配置和服务器的配置。大多数客户端(如浏览器)的默认行为是等待特定超时。大多数网络服务器 (Apache/Nginx) 的默认行为是将连接保持在队列中,直到解释器 (PHP-CGI/PHP-FPM) 可用或在达到超时(无论先到者)时死亡。但这对于该方案中的每个参与者都是可配置的,从增加超时到立即降低额外负载。
P.S。如果你真的想测试你的服务器性能,你总是可以使用回归 testing/benchmarking 软件或编写你自己的(用连接淹没你自己的服务器直到它死掉)。