什么是入口进程限制(EP 连接)?
为了防止针对 Web 服务器的 DDoS 攻击,开发了 Entry Process(入口进程)技术——即限制入口进程,也就是同时执行的 PHP 脚本数量。最著名的 Web 服务器攻击之一是创建多个 HTTP 连接,这能够减慢并破坏服务器的运行。入口进程限制或 Apache 并发连接限制旨在减轻针对服务器的 DDoS 攻击。一旦并发连接数达到上限,服务器将显示错误页面“508 Resource Limit Reached”(达到资源限制)。
许多人将入口进程与网站可吸引的访客数量混淆——事实并非如此。在我们提供的主机中包含:
- 并发 EP 连接限制;
- 活动进程数量限制。
活动进程数量限制的概念非常明确——它允许运行限制中所指定的最高进程数。一旦所有的 Apache 槽位(Slots)都被耗尽,新的服务器连接将变得不可能,从而导致服务器断开连接。在这种情况下,中央处理器(CPU)的负载会很高,而 Apache 的页面处理速度会变低。
Entry Process (EP 连接) 的工作原理
CloudLinux 是主机商最受欢迎的操作系统,因为 Entry Process 是其 LVE(Lightweight Virtual Environment,轻量级虚拟环境)功能的一项配置。Entry Process 技术控制进入 LVE 虚拟环境的最大入口数量。这意味着 EP 计数器的增加取决于每个单独的访客或虚拟环境进程,而 EP 计数器的减少则取决于每个访客或进程退出 LVE 环境。
Web 托管的入口进程限制是托管账户能够处理的同时运行进程的最大数量。通常情况下,对 Web 服务器的访问会瞬间完成,不会超过 Entry Process 的限制,因此即使每秒有 110 个连接也不会影响网站的运行。
通过 PHP 发出的任何 Web 服务器请求都会产生一个 LSPHP 进程——处理器将请求结果返回给客户端浏览器。如果账户没有问题,该进程在 250-300 毫秒内即可完成。如果进程延迟到 1 秒才完成,则会导致运行中的 EP 连接增加 1。随后,每一次对服务器的访问如果导致进程运行超过 1 秒,都会使计数器累加。当计数器达到功能设定的上限时,资源将停止响应。
因此,如果您的主机入口进程限制为 20,这意味着 20 名访客可以在不到一秒的时间内同时打开您的门户网站。这种限制对于处理器和脚本的正常运行是最佳的,足以支撑每天约 120 万名的访客量。
问题通常出现在以下几种情况:
- 处理器运行缓慢;
- 账户处理器达到极限负载,导致通过 Web 服务器启动的进程处理极其缓慢;
- 出现 HTTP Flood 类型的 DDoS 攻击——每秒钟有海量请求访问网站;
- 由 PHP 脚本启动的额外进程。
想要更深入研究 Entry Process 技术工作原理的用户可以查阅 CloudLinux 的官方文档。