我创建了一个网页,每2秒钟必须从数据库中检索一次数据,以便向用户显示价格和数量的动态变化市场。
我收到了以下代码:
$.ajax({
type: "get",
url: "getData.php",
data: {
item: 'H',
type: 'price'
},
success: function (high) {
$.ajax({
type: "get",
url: "getData.php",
data: {
item: 'L',
type: 'price'
},
success: function (low) {
var dist = high - low;
// do something with the high and low prices...
// keep retrieving data based on the high and low prices...
//more ajax called are nested inside here...
}
});
}
});
这个嵌套的ajax调用会导致服务器cpu过度使用吗?
在我的getData.php文件中,我总是有require_once('connect.php');它连接到数据库。它是否会导致很多mysql连接,因为我有时会得到错误'超过最大mysql连接数'?我该如何解决?我是否合并了类似的ajax调用并使用parseJSON?
谢谢。
答案 0 :(得分:1)
与数据库一样,数据库本身应该是您的主要性能问题。不要增加连接,而是尽量减少数据库在服务器上的服务器影响:
希望这有帮助,如果您需要更多帮助,您可能需要发布一些示例查询和模型(并且可能将其放在dba.stackexchange.com上)
答案 1 :(得分:0)
我不确定你在使用这些AJAX调用的上下文中,但是在其他AJAX调用中嵌套AJAX调用不会导致更多的I / O使用,因为AJAX调用不是循环。你基本上和
一样$.ajax{
//do something
}
$.ajax{
//do something else
}
除非您要求为第二次通话启动而满足条件。
您想编辑MySQL“my.cnf”文件以消除您遇到的错误:
max_connections = 100
这里的默认值是100.听起来你正在运行一个AJAX怪物,所以将其更改为更高的数字