我的代码是性能杀手吗?

我在index.php中通过AJAX显示了timer.php的值。 但是我担心这个的性能,如果它是一个服务器杀手,如果有30个人在线,和这样的事情。 你建议我做一些编辑吗?

谢谢。

的index.php

 setInterval( 'SANAjax();', 1000 ); $(function() { SANAjax = function(){ $('#dataDisplay').load('timer.php'); } });  

timer.php

 function time_difference($endtime){ $days= (date("j",$endtime)-1); $hours =date("G",$endtime); $mins =date("i",$endtime); $secs =date("s",$endtime); $diff="'day': ".$days.",'hour': ".$hours.",'min': ".$mins.",'sec': ".$secs; return $diff; } $future_time = mktime(0, 0, 0, 9, 19, 2011); $now_time = strtotime("+2 hours"); $end_time = $future_time - $now_time; $difference = time_difference($end_time); if ($future_time  

取决于您的服务器规格和客户端数量,这可能很快成为服务器杀手。

每秒多次调用文件会很快造成大量的负担,所以最佳实践要求使用javascript计时器倒计时。 我特别喜欢这个: http : //stuntsnippets.com/javascript-countdown/

对于jQuery实现:

  

这应该足够了,不再需要PHP调用,客户端可以完成所有操作。

通过设置每秒的setInterval,你基本上说对于30个客户端,你将获得大约30 txn每秒到你的php服务器。 很难说它是一个性能杀手,只是说你将不得不为这个简单的电话处理30tps。 我首先要问一下你为什么要使用服务器端脚本。 您可以轻松地在页面加载时为html文件指定日期时间,并在浏览器中使用javascript进行倒计时。

我使用jQuery Countdown http://keith-wood.name/countdown.html在我的页面上放置一个计时器,让用户知道他们何时会由于不活动而退出系统。

您可以将函数绑定到计数器到期事件。

http://code.google.com/p/jquery-countdown/ …简单示例

http://keith-wood.name/countdown.html …炫耀所有的钟声和口哨……

它可以像第一个一样简单,也可以像第二个一样详细!

– =布莱恩