2

我在使用Pusher时遇到了一些问题。通常一个 AJAX 请求到我的服务器大约需要 100 毫秒,但是当我在 Pusher 中运行触发功能(告诉 Pusher 推送到所有连接的客户端)时,请求会减慢大约 200-300 毫秒。

$pusher->trigger('presence-my-channel', 'my-event', $data);

它是否与它是一个存在渠道有关?

有没有办法解决?我可以分别在本地做什么服务器端?我可以更改一些 AJAX 设置吗?(我不需要返回对我的 AJAX 请求的响应。)

有时请求甚至需要 500 毫秒,如果其中三个几乎同时触发,事情就会变慢。

有什么可以做的吗?

4

1 回答 1

0

如果您不关心知道对 Pusher Web API 的调用结果,而只是希望它尽快完成,那么您可以考虑进行异步调用。已提出拉取请求以将其添加到 pusher-php-server 库: https ://github.com/pusher/pusher-php-server/pull/11

我建议在此拉取请求中添加 +1,以便编写测试,将其合并到 master 中,然后标记发布。

您的另一个选择是将消息推送到消息队列,而不是直接调用 Pusher Web API。然后,您可以使用另一个守护程序服务来读取消息队列并向 Pusher 发出请求。这将消除向 Pusher 发出 HTTP 请求所导致的延迟。

于 2013-11-14T16:35:59.007 回答