2013-03-17 60 views
0

我有一小部分代码(列在此消息的末尾),它在页面加载时运行。我们每天约有50,000名UNIQUE访问者(不包括重复)。这可能是巧合,但自从实施以来,一直存在随机服务器负载问题。小PHP代码 - 导致服务器负载?帮助优化

那么,我问的是...

1)有人可以确认/否认下面的代码是否能够在事实上导致问题?

2)这可以优化吗?

仅供参考:

-我已经在WordPress的布局的头文件卡住这个功能。

-这就是所谓10+页脚

倍 -它是使用NGINX

一个VPS服务器 -我没有检查日志,只是还没有

该代码的目的... 我们指定一个百分比的函数,告诉代码显示一个字符串的时间百分比(所以如果我们把60,那么它意味着字符串应该显示6 0%的时间)。页脚中的每个条目都会生成自己的随机数。

代码:

function writeRndString($theString, $percent) { 
$randno = rand(1,100); 

if($randno <= (int)$percent) { 
    echo "Random String: " . $theString; 
    echo "\n\n"; 
} 
} 
+1

该代码似乎并不复杂。即使你调用这个函数10次以上,也应该没问题。你有没有看看你的PHP日志? Apache日志? – MatRt 2013-03-17 21:32:03

+0

感谢您的反馈!我还没有检查日志(但我一定会暂时)。顺便说一句,它通过NGINX运行(我将修改与该信息的帖子)。 – Mike 2013-03-17 21:36:35

+1

我建议的解决方案:将所有字符串写出来,用CSS隐藏,然后使用JavaScript根据随机百分比来显示它们。然后你可以缓存你的页面,这对所有的访问者来说都是一样的,用户的CPU也是这样做的:) – 2013-03-17 21:37:01

回答

0

这是一个很简单的功能,应该是快,即使你把它几次。即使每天50000页,每秒大约2页。

如果可以,只需将其删除几分钟并检查服务器负载。它可以被称为比你想象的更多的时间:)

0

莫比....

你忘了在$:回声 “随机字符串”。 theString; 而且,不要使用事实上不需要的变量。 莫比也使用回

function writeRndString($theString, $percent) { 
    if (rand(1, 100) <= (int) $percent) { 
     return "Random String: " . $theString . "\n\n"; 
    } 
} 

PHP:

<?php 
echo "blablabla" . writeRndString($x, $y); 
?> 
+0

哎呀 - 我的歉意。在发布之前,我编辑了变量名称。很多时候,我使用奇怪的变量名称(如“猪肉”,“便便”等),所以我只是让它看起来不那么奇怪。无论如何,它在原始代码中是正确的。不过谢谢。 – Mike 2013-03-17 21:41:31

+0

我以为如此;-) – user666 2013-03-17 21:43:58