Jquery $.ajax对服务器的影响有多大?
我目前正在重新加载刷新,如果你更喜欢这个词,我的网页每5分钟,但这是一个相当长的时间为我。我不知道用下面的代码重新加载一个页面会对服务器产生多大的影响,我只是想知道;如果我将间隔时间从5分钟更改为1秒,这会占用服务器多少时间?它会降低服务器的速度吗?我的网站每半小时有超过5个访问者,但更新后会更多Jquery $.ajax对服务器的影响有多大?,jquery,ajax,get,load,Jquery,Ajax,Get,Load,我目前正在重新加载刷新,如果你更喜欢这个词,我的网页每5分钟,但这是一个相当长的时间为我。我不知道用下面的代码重新加载一个页面会对服务器产生多大的影响,我只是想知道;如果我将间隔时间从5分钟更改为1秒,这会占用服务器多少时间?它会降低服务器的速度吗?我的网站每半小时有超过5个访问者,但更新后会更多 $(document).ready(function() { setInterval(function() { $('#loading-page').show().html
$(document).ready(function() {
setInterval(function() {
$('#loading-page').show().html('<img src="images/animation-loading.gif" alt="" title="Reloading the page">');
$.ajax({
url: 'get/statistics',
type: 'GET',
success: function(s) {
$("#load-statistics").html(s);
},
error: function() {
$('#loading-page').show().html('<img src="images/exclamation-red.png" alt="" title="Couldn't reload page. Trying again soon">');
}
});
}, 300e3);
});
提前感谢。一个简单的答案是5分钟=300秒,因此将间隔缩短到1秒将使服务器负载增加300倍 这将是一个略低于这一点,因为可能有一些浏览器的限制和网络中的延迟等,但实质上无论如何。想想用户和他们产生的流量
1秒钟太极端了,根本不需要。您可以像某些计数器那样伪造它来创建动态效果。这很可能取决于服务器端发生的情况。你不能和开发服务器端服务的开发人员谈谈吗? 这还取决于有多少并发浏览器将调用此服务。 许多服务被设计为同时应答数百万次,但通常情况下,您可以执行的呼叫数量和频率会写入服务文档中 我认为经验方法可以是您的方式,根据服务器应答时间和服务器负载(如果可以测量的话)更改秒数或分钟数的频率。
您还可以测量JavaScript自调用开始到收到响应所花费的时间。对于这个数字,即每半小时5名访问者,我怀疑服务器处理页面更新时不会有任何“困难”,假设每次更新都不是让服务器陷入困境的疯狂密集的长时间操作。还有各种缓存或缓存机制,它们可以通过仅获取已更改的资源而不是重新生成未更改的资源来进一步提高性能。当负载增加(即每个x周期有更多用户)时,您可以投资调整应用程序和/或服务器。使用监控工具检查可能是一个开始。您可以自己测试。试试这个:
var start = new Date().getTime();
$.ajax({
url: 'get/statistics',
type: 'GET',
success: function(s) {
var end = new Date().getTime();
console.log('milliseconds passed', end - start);
$("#load-statistics").html(s);
}
});
检查控制台以了解处理时间。然后,您可以根据在控制台上获得的10-20个样本时间的平均值更改间隔时间。这在很大程度上取决于页面执行的操作 此外,如前所述,1秒可能太过极端,特别是对于统计类页面,同时5分钟可能太慢而没有用处,当然这将取决于您网站的内容/性质 您的服务器负载将取决于请求频率以及并发用户数 我想指出的是,在这种情况下,您可以使用服务器端的“缓存”来大幅降低服务器负载。根据页面名称判断,统计数据是服务器缓存的理想候选数据。因为它们不必100%准确,一旦生成,可以在接下来的两分钟内保持良好 因此,如果缓存统计信息响应,所有后续请求都将获得更改内容,从而减少服务器上的负载。如果基础架构正确,请求甚至可能无法到达您的服务器,例如:某些网络交换机可以缓存和返回内容
您必须根据服务器端技术找到合适的缓存机制。5个访问者什么都不是。。。如果您的服务器/代码无法处理这一问题,那么您将面临更大的问题。也许您可以实施基于MVVMThank的解决方案。谢谢:前3或5次重新加载不到6毫秒,但之后速度会越来越慢:/I我将继续与更活跃的人一起测试它