我正在研究一个Web应用程序,并且我正在使用轮询方法来检查是否需要更新。这些轮询请求每隔1或2秒发生一次。如果不需要更新(在这种情况下返回一个空的响应)和大约10 KB(它是内容本身的大小),则响应的大小为240个字节。我的问题是,由于它每秒至少返回240 B,有没有办法通过将边界推得更多来优化这个响应?减少响应大小
当我检查响应的内容时,我看到50个字节对我来说很重要(会话ID和状态码)。但是,头文件中有一些信息,例如连接类型,超时和内容类型。对于这种类型的每个请求,这些设置都是相同的(即它总是要求内容类型为:“text/html; carset = utf-8”)。那么,我可以在客户端假设这些设置,并阻止服务器发送这些头信息吗?
我在服务器端使用django和jQuery发送ajax请求的方式。此外,任何类型的推送技术现在都不存在问题。
我检查了长轮询。这似乎是合理的。但是,当你一直忙着睡觉时,它不会导致服务器端的超载。我对服务器上的性能问题没有太多的了解。 – Hgeg 2012-03-24 09:30:53
假设你使用time.sleep(2)这样的休眠机制,它的性能不会比普通轮询低。它实际上应该节省CPU时间 - 但它可能会在主机上消耗更多的内存,因为每个请求线程都在内存中的时间更长。这对你的应用程序是否有意义取决于你的具体情况以及你有多少用户。但是,它一定会节省带宽。 – 2012-03-26 17:29:42