[英]MySQL query execution rate
我正在进行实时聊天,其中涉及长时间轮询以尽快接收消息。 但是,由于afaik Web套接字不支持跨平台,并且我找不到真正的长时间轮询聊天示例,因此我做了类似的事情,但实际上我不确定。
我要做的是在后台调用脚本,该脚本每200毫秒执行一次查询,直到出现新消息。 这就是我很好奇的事情-我执行得太频繁了吗? 假设我使用此聊天室时大约有100 ppl,因此每秒将有500个查询。 这将如何影响服务器性能? 使用以下代码发布即时消息:
while (($x < 99) && ($allowloop))
{
$query = mysqli_query($con, 'SELECT * FROM messages');
if (mysqli_num_rows($query) == 0)
{
usleep(200000);
$x = $x + 1;
} else {
$allowloop = false;
}
}
#processing results
任何提示和建议表示赞赏
由于您已经知道的原因,您不想执行此操作。
您需要的是客户端的浏览器可以检测到的一些更改,表明存在新消息。 这可能是文件(带有新消息?)的存在,还是文件中的字符串。
因此,您可以做的是:
每隔几秒钟轮询一次就足够聊天了。 这种方法意味着客户端浏览器不会在每次检查时都调用MySQL查询。
在其他情况下,我会使用类似: http://nodejs.org
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.