HTTP在AJAX网站上保持活跃的好处

时间:2012-09-24 15:41:59

标签: ajax keep-alive

我们在http://www.beckworthemporium.com/index.php?option=com_rsappt_pro2&view=booking_screen_gad&Itemid=58

处有一个相当重的AJAX网站

目前,每个页面请求都使用5/6 AJAX请求来返回页面的各个部分,并且相当于mySQL密集型。我们将在圣诞节之前缓慢增加流量。我们会看到使用keep alive有什么好处吗?

2 个答案:

答案 0 :(得分:7)

你正在谈论多少流量?如果您计划使用Keep-alive,那么您可能希望确保您有足够的内存并将保持活动超时降低到最低可能,否则如果您最终获得大量流量可能会对您造成伤害。流量过大的网站通常会保持活动状态。

另请查看并阅读http keep-alive in the modern age

我在你的页面上发了一份报告 http://www.webpagetest.org/result/121008_TX_KB9/

至于你的AJAX调用,我会改进那些你是否使用keep-alive。我会缓存回复。例如,在运行mysql查询并生成输出之后,将其缓存到磁盘几个小时(如果可能的话,将其缓存到更长时间),然后在后续调用中从磁盘中提取数据(如果尚未过期)。这将节省一大堆并加速整体事情。

另外,如果您关心速度,我会使用图像精灵来处理很多图像资源。我注意到你的一些图像是占位符并且是100%透明的,考虑只为那些使用css。这将大大减少您的整体请求。

我还会启用mod_expires并添加一些Expires标头。有关使用这些和更多良好实践功能的htaccess文件的示例,请查看: https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess

修改

Jeepstone,我建议你不要保持活着,也许可以使用CDN和Parallelize你的资源。您可能还想查看数据库配置。例如,MySQL具有较低的最大连接,您可能希望优化慢查询,连接超时并确保不使用任何持久连接。

此外,如果您真正关注网络堆栈的状态,您可以立即对其进行测试,而不是在有更多真实客户敲门时发现问题。我正在谈论压力/负载测试。

答案 1 :(得分:1)

大型网站上存在两个大问题:并发连接和延迟。 看看你的圣诞节数字,我认为你的网站不大。因此,使用Keep-Alive我不会看到很大的好处。启用Keep-Alive可能会增加无效连接的空闲连接数。

我会去测试你的网站的负载测试路线,看看最大的瓶颈是什么并修复它。通过找到最大的瓶颈并改进来迭代。您可能会在您的实例中发现数据库是主要罪魁祸首。有免费的负载测试工具,或半免费的:VS Test Suite为MSDN用户免费提供多达250个虚拟真实并发用户,这比你需要的更多。