3

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

4

1 回答 1

3

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

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

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

于 2013-11-19T00:07:14.210 回答