【发布时间】:2014-09-24 18:22:45
【问题描述】:
我一直在使用 AJAX 做一些事情,有时每秒需要几个 POST。每个帖子都返回一个 JSON 对象(由发布到的 PHP 文件生成,约 11,000 字节),平均延迟在 30 毫秒到 250 毫秒之间,具体取决于我是使用 wifi 还是有线,但大约每 1/15 调用它就会出现峰值高达约 4000 毫秒。我正在尝试解决这个问题,截至目前,我看到了两个选项:
在 AJAX 调用上引发超时,并让它在失败时调用 GET(POST 仍应通过,返回总是超时)或...
把整个事情删掉,学习 node.js,这样我就可以使用 websockets 来解决这个问题。
据我所知,任何一种解决方案都是基于原始呼叫失败的原因。如果 AJAX 调用有问题,那么新的 GET 应该可能会通过并解决问题。但如果它与服务器本身有关,那么逻辑上 GET 也会超时,这是服务器的问题,我已经死在水中了。
由于我还没有使用 websockets 的经验,我希望能就下一步采取的最佳行动得到一些反馈。感谢您的意见。
如果有帮助,我很可能会通过一些偷偷摸摸的编码将返回的有效负载减少到 1/15 大小。这会产生影响吗?
【问题讨论】:
-
你也可以use websockets with PHP,它们不限于node.js。
-
我不会做 GET 事情......如果你在服务器有机会处理 POST 之前 GET 会发生什么?
-
如果网络正常(并且浏览器没有问题),那么您的服务器肯定有问题。调查。
标签: javascript ajax node.js