【发布时间】:2011-01-17 13:24:47
【问题描述】:
我目前正在开发一个轻量级的 php 框架,用于我的网站的一些高请求 ajax,并且遇到了一个让我完全难过的有趣问题。 ajax 用于一系列通知,因此 javascript 每 30 秒发送一次新信息的 ajax 请求。这个 ajax 在整个站点的每个页面上都处于活动状态,所以我意识到它的请求很多,因为在任何特定时刻都有数百名用户正在浏览该站点,其中许多用户打开了几个窗口。
语法方面一切都很完美。问题是,当我为我的社区激活 ajax 时,MySQL 数据库中有 30 - 40 个 SLEEP 命令。所有这些似乎都忽略了设置的 10 秒超时。结果,它会影响整个站点的性能。
我的理解是,剩余的睡眠命令是连接未关闭的结果。我正在使用 MySQLi 面向对象的类,并用我自己的一些功能对其进行了扩展。一切都在教科书上,并根据文档进行了双重检查,并且我确保 MySQLi 类的每一小部分都已关闭并发布。
如果有人对这种效果有任何智慧或经验,我将不胜感激。
【问题讨论】:
标签: php javascript mysql ajax sleep