服务器发送的事件 Apache 配置


Server Sent Events Apache configuration

我正在使用服务器发送的事件(eventsource)运行Web应用程序。 我一直在努力正确设置 apache 和 PHP 配置文件,以便程序能够容纳我的所有用户并且不会超时。 我已经在 PHP 和 apache 中将超时设置为适当的时间量,但我担心服务器限制、最大客户端数和每个孩子的最大请求数。 我需要将大约 500 个用户连接到运行事件源的 php 文件,并在每次将消息发送到服务器时运行 PHP 脚本。 事件源文件似乎占用了大约 1/4 MB 的内存和微不足道的处理能力。 有人可以解释一下这些限制的作用,并建议我如何最好地设置它们吗?

每个 SSE 连接都将使用一个专用的 PHP 进程,因此算作 Apache 进程之一。(每个还将使用套接字和本地端口。

500 个并发客户端很多,如果它们都使用 PHP,则更是如此,并且您的服务器上需要大量内存。但是,如果有足够的内存,请将MaxClientsServerLimit都设置为 500。 (我建议从 50 或 100 开始,运行一些压力测试,并不断增加这些限制并重复,直到您看到您的服务器开始交换。

对于压力测试SSE,我发现SlimerJS是最佳选择。(PhantomJS(从1.9.x开始)中的WebKit太旧,无法支持SSE。硒也可以完成这项工作。确保将客户端和服务器保留在不同的计算机上,因为 100+ 客户端也会使用大量内存和负载。