Php 高频Ajax和MySQL睡眠过载
我目前正在为我的网站开发一个轻量级的php框架,与一些高要求的ajax一起使用。我遇到了一个有趣的问题,我完全被难住了。ajax用于一系列通知,因此javascript每30秒发送一个ajax请求以获取新信息。这个ajax在整个站点的每个页面上都是活动的,因此我意识到它有很多请求,因为在任何给定时刻都有数百个用户在浏览该站点,其中许多用户打开了几个窗口 就语法而言,一切都是完美的。问题是,当我为我的社区激活ajax时,MySQL数据库中有30-40个SLEEP命令。所有这些似乎都忽略了设置的10秒超时。因此,它会影响整个站点的性能 我的理解是,剩余的睡眠命令是连接未关闭的结果。我正在使用MySQLi面向对象类,并用我自己的一些函数对其进行了扩展。所有内容都是由教科书编写的,并根据文档进行了仔细检查,我确保MySQLi类的每一个小部分都已关闭并发布Php 高频Ajax和MySQL睡眠过载,php,javascript,mysql,ajax,sleep,Php,Javascript,Mysql,Ajax,Sleep,我目前正在为我的网站开发一个轻量级的php框架,与一些高要求的ajax一起使用。我遇到了一个有趣的问题,我完全被难住了。ajax用于一系列通知,因此javascript每30秒发送一个ajax请求以获取新信息。这个ajax在整个站点的每个页面上都是活动的,因此我意识到它有很多请求,因为在任何给定时刻都有数百个用户在浏览该站点,其中许多用户打开了几个窗口 就语法而言,一切都是完美的。问题是,当我为我的社区激活ajax时,MySQL数据库中有30-40个SLEEP命令。所有这些似乎都忽略了设置的10
如果有人对这种效果有任何智慧或经验,我将非常感谢您的建议。您是否尝试过推式方法而不是当前的拉/轮询方法?看看Comet:
我不确定我能把COMET融入到我的设计中有多好。谢谢你的建议,我会记住的。我发布的一些链接讨论了如何实现Comet,甚至是使用AJAX。