我正在尝试基于php ajax的聊天系统......我已经成功开发了它...我正在使用jquery load()和setInterval每1秒重新加载一次聊天,它在我的localhost上工作正常。 ..但是当我把它上传到我的托管服务器上它也工作正常...但问题是,经过几分钟的聊天,服务器需要很长时间才能重载,以便我的服务器运行并且站点发生故障... < / p>
我的问题是,到目前为止为什么会发生...以及解决方案是什么......我应该使用标准xmlhttprequest而不是load()或$ .ajax()而不是load();
答案 0 :(得分:2)
用于发出AJAX请求的方法并不重要,您的代码中还有其他错误导致速度变慢。
答案 1 :(得分:1)
jQuery.load()和jQuery.ajax()基本上是XMLHttpRequest的前端。如果他们添加额外的过载(这是可能的),它只会影响浏览器。
您确定您的服务器可以处理此类负载吗?每秒一个请求意味着一个用户每小时会话触发至少3600个请求,并且我假设每个请求至少涉及数据库查找。现在,作为聊天服务器,您应该有许多同时用户。
你可以尝试的事情:
答案 2 :(得分:1)
尝试将刷新间隔从1秒增加到10秒。
答案 3 :(得分:1)
Tatu是正确的 - 考虑每个请求返回的内容以及实际需要的内容。例如,您是返回整个聊天记录,还是仅返回自上次轮询以来的新消息?如果暂时没有活动,是否需要每秒轮询一次?考虑每次没有新内容时增加轮询时间(并在有新内容时将其重置为1秒)。
您还可以查看COMET方法,了解需要“推送”技术的应用程序。