首先,我说的是托管我网站的服务器。
所以,几分钟前我在cPanel规范中注意到我的CPU使用率接近100%(我的范围是80-95%)。另一方面,我的内存使用率是5-10%。
我想知道这台服务器是否会在未来崩溃。例如CPU使用率= 100%会发生什么?这台服务器可能会崩溃吗?
我注意到这个cpu用法是因为我正在运行ajax脚本,它每5秒刷新一次div。此div的内容是来自3个随机数组的字符串,它们每5秒创建一次。
此外,我使用了很多变量 - 我的代码上的数组(php代码),我想知道是否必须刷新这些变量。例如
<html>
<?
$variable1 == something
$variable2 == something
$variable3 == something
?>
</html>
<? flush($variable1) ?>
是nessacary在php上做这个(比如在C ++上)吗?或者php有像Java这样的Auto Garbage收集器吗?
编辑:我正在使用的
的Ajax Scritp的index.html
<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#autoRefreshDiv').load('autoRefreshDiv.php').fadeIn("slow");
}, 5000); // refresh every 5000 milliseconds
</script>
<body>
<div id="autoRefreshDiv"></div>
</body>
</html>
autoRefreshDiv.php
<?
$array1 = array("something1", "something2");
$array2 = array('something3','something4');
$array3 = array('something5','something6');
shuffle($array1);
shuffle($array2);
shuffle($array3);
echo $array1[0].'.....'.$array3[0].'.....'.$array2[0] ;
?>
答案 0 :(得分:1)
你的问题有点模糊。一些答案:如果CPU负载达到100%,您的服务器不会崩溃。它可能反应较慢,但崩溃不是一种选择。您可能仍希望对应用程序进行一些优化...
Flush与垃圾收集没什么关系,但有输出缓冲。它将在脚本完成之前向用户发送一些数据。
如果你不谈论数千个变量,那么拥有很多变量并不是一个大问题。只要你没有疯狂的递归或者你应该是安全的。由于你的记忆力只有10%,所以没有危险。当然php.ini限制了脚本将使用的总内存量。我希望这有点帮助。
答案 1 :(得分:0)
您不必刷新变量,因为如果请求被关闭,PHP会触发一个GC - &gt; evertime ajax-request完成。 使用许多变量也只会对你的RAM造成压力,而不是CPU。
我认为每隔几秒钟生成一个大的随机数组就会产生你的cpu使用问题。