我有一个小网站,大约有5-10名管理员。我已经将其设置为监控每个管理员正在做的事情(添加项目、删除项目等)。我在管理面板中有一个列表,其中显示了集体管理执行的前10个活动。今天,我决定每30秒自我更新一次。
我的问题很简单:这样做有什么问题吗?我对每个请求调用少量的文本,该请求可能一次只在3到4台计算机上运行(反映登录的并发管理员的数量)。
$(document).ready(function(){
setInterval("activity()", 30000);
});
function activity() {
$("#recent_activity").load("../home/login #recent_activity .data");
}为每个请求生成以下代码(或类似代码--只有10行)。
<table>
<tbody>
<tr>
<td><p>jsampson</p></td>
<td><p>logged out</p></td>
<td><p>28 minutes 27 seconds ago</p></td>
</tr>
<tr>
<td><p>jdoe</p></td>
<td><p>logged in</p></td>
<td><p>29 minutes 45 seconds ago</p></td>
</tr>
</tbody>
</table>发布于 2009-06-22 15:03:04
每30秒3-4个用户根本不是很多。即使300个用户在这个速度上也不算多。
您可能想要检查以下问题:
您也可以对此进行缓存,尤其是在生成页面的查询计算繁重的情况下,这将是可取的,但当然要考虑到您希望在显示的最新内容中存在什么样的延迟。
发布于 2009-06-22 15:04:13
您应该对此进行缓存,并且每30秒仅更新一次缓存。
发布于 2009-06-22 15:03:29
不,应该不会有任何问题。对于我在公司内部门户网站上编写的通知系统,我每隔1分钟执行一次相同的操作。老实说,任何web服务器都应该能够处理这个问题。
它真的不比他们更糟糕(事实上,明显更好),比如说,每30秒刷新一次浏览器……考虑到明显较小的数据传输,它可能会比刷新要好10-20倍……或者,大约相同的带宽,每5-10分钟刷新一次。:-)
https://stackoverflow.com/questions/1027700
复制相似问题