这个AJAX刷新脚本会重载我的服务器吗?

时间:2011-09-04 05:06:23

标签: jquery

我正在使用此代码每隔 5000毫秒刷新div :(并更新标题)

<script type="text/javascript">
   function changeTitle() {
   var title = $('.subjectContainer').html();
   document.title = title+' | WeeBuild Customer Support';
   }
 $(document).ready(function() {
     $(".subjectContainer").load("subject.php?ticket=<?php echo $_GET[ticket]; ?>");
   var refreshId = setInterval(function() {
      $(".subjectContainer").load("subject.php?ticket=<?php echo $_GET[ticket]; ?>");
      changeTitle();
   }, 5000);
   $.ajaxSetup({ cache: false });
});
</script>

正在加载的页面只是从数据库中检索的一行文本。

见这里:http://weebuild.heliohost.org/employee/subject.php?ticket=5156869

这是正在加载的页面。当用户更改故障单的主题时,我会使其保持更新状态,以便在不刷新页面的情况下查看故障单的每个人都会更改。

但是,这会使我所服务的服务器过载吗?

2 个答案:

答案 0 :(得分:3)

而不是不断地轮询你的服务器,这确实会带来很多开销,而是调查长轮询。从您的代码看,您似乎只是尝试更新帮助票证的状态 - 我认为这不会每五秒钟发生一次。长轮询基本上向服务器发送数据请求,然后服务器可以在闲暇时响应。为您提供方便,只有在实际发生变化时才进行更新。并且不会不断地ping你的服务器。

答案 1 :(得分:1)

这取决于以下因素:

  1. 您网站上的同时用户
  2. 数据库查询时间
  3. 数据加载量
  4. 如果这些中的任何一个在服务器容量方面都很高。它会超载。

    衡量容量的方法是基准测试。 (使用apache基准ab或其他)

    防止超载的方法是缓存。