调用PHP exec()函数ping不同主机100次以上,如何提高性能


How can I make better performance when call PHP exec() function for pinging different hosts above 100 times?

拼贴画当我多次为不同的主机调用PHP函数时,我试图为我的PHP函数的结果呈现缓慢的情况找到一个解决方案。

我想根据exec()函数的返回(它是活动的还是不活动的)创建一个ping系统,我认为问题来自于此,我为每个主机多次调用exec(()函数,并且在服务器返回所有结果之前和浏览器渲染信息之后,结果延迟超过15秒。如果我能让这个渲染时间最多为3秒,那就太好了。

我用铬和xampp做窗户。

我试着用exec()函数的代码来实现:

?php
function Pinger($host) {
exec("ping -n 1 " . $host, $output, $result);
if ($result == 0)
return '<img src = "up.jpg">';
else
return'<img src = "down.jpg">';
}
?>

从另一个php文件调用它,并使用类似的html:

<div id="hostname>
<?php echo Pinger('host');>
</div>

主机的数量在100以上。

也许如果我使用另一个更快的功能或其他什么?

谢谢!

ping命令有很多选项可以加快响应速度,例如设置超时(-w,-w)或设置重试次数(-c)。尝试

人工ping

在UNIX命令行上,或在线查看UNIX手册页。

如果你知道IP地址,你可以关闭DNS查找(-n),这也会给你几毫秒的时间。