我在使用Pusher时遇到了一些麻烦。通常AJAX请求大约需要100毫秒到我的服务器,但是当我在Pusher中运行触发器功能时(告诉Pusher推送到所有连接的客户端),请求的速度减慢了大约200-300毫秒。
$pusher->trigger('presence-my-channel', 'my-event', $data);
是否与在线频道有关?
这有什么办法吗?我可以在本地分别做什么服务器端?我可以改变一些AJAX设置吗? (我不需要返回对我的AJAX请求的响应。)
有时请求甚至需要500毫秒,如果其中三个被触发,几乎同时发生变慢。
有什么可以做的吗?
答案 0 :(得分:0)
如果您不想知道调用Pusher Web API的结果,并且您只是想让它尽可能快地制作,那么您可以考虑进行异步调用。已经引发了一个pull请求,将其添加到pusher-php-server库中: https://github.com/pusher/pusher-php-server/pull/11
我建议在此拉取请求中添加+1,以便编写测试,将其合并到母版中,然后标记版本。
您的另一个选择是将消息推送到消息队列,而不是直接调用Pusher Web API。然后,您可以使用另一个守护程序服务来读取消息队列并向Pusher发出请求。这将消除向Pusher发出HTTP请求所造成的延迟。