【发布时间】:2011-08-06 10:05:56
【问题描述】:
我正在设计一个网络应用程序,它将使用 AJAX 与嵌入式设备上的服务器进行通信。但对于一项功能,客户端需要在较长的一段时间内尽可能接近实时地获得非常频繁的更新(>10 次/秒)。同时需要不时处理典型的 AJAX 请求。
此项目独有的一些注意事项:
该数据将非常小,可能不会超过一个数值。
一次只有 1 个客户端连接到服务器,因此扩展不是问题。
客户端和服务器将驻留在同一个本地网络上,因此连接将快速可靠。
该应用程序专为 Android 设备设计,因此我们可以利用任何特定于平台的浏览器功能。
后端很可能会在 Python 中使用 Apache 上的 WSGI 或 lighttpd 来实现,但这仍有待讨论。
我正在研究 Comet 技术,包括 XHL 长轮询 和 hidden iframe,但我对 Web 开发还很陌生,我不知道不知道我们能期待什么样的表现。服务器在准备数据时应该没有任何问题,只需尽快将其推送到客户端即可。 对于任何 Comet 技术,甚至是常规的 AJAX 轮询,每秒 10 次更新是否是不合理的期望?或者您有其他建议的方法吗?
我意识到这最终需要进行一些原型设计,但如果有人可以给我一个大致的估计或更好但特定的技术(客户端和服务器端),在这种情况下提供最佳性能,那将是很有帮助。
【问题讨论】:
-
每秒 10 次对于 Ajax 来说是相当高的。我认为请求的平均时间会超过 100 毫秒。
-
我听说 100 毫秒是处理请求本身所期望的最佳时间,不计算任何后端处理时间。
标签: ajax performance architecture client-server comet