形势:
我得到了显示我们所有服务器的页面(我们将它们命名为资源)。该列表是从MS数据库获得的。为了向他们展示,我从数组和echo中获取它们。回音后,我向每个资源发送请求以获得它的状态(200,404,502等)。
问题:
当有10-20个资源时,页面加载几秒钟,但是现在有将近100个资源(并且将更多)用于页面加载~1分钟。现在我的经理说我们需要每1分钟检查一次状态。
所以,我的问题是-我如何才能做到这一点?一般来说-我可以吗?:)
我不需要代码或工作解决方案,我需要一些指导,我如何才能做到这一点?要搜索什么?读些什么?也许有一个解决方案,有一些库,甚至一些框架,可以做得更好和更简单?
我读过一些关于SO:intro.asp 把数据从服务器发送到客户端? 从文本文件中获取数据并每分钟更新网页的文章和问题
我认为我需要学习AJAX并使用它。但我发现的任何指导都是:实时搜索,动态地从输入中选择一些内容,输入字段时的建议等等。
正如我所看到的,一定有一个页面像我现在的servers.php,当我加载它时,它会获取并显示所有的服务器。然后对每个资源调用check_status.php并动态更新数据,然后每1分钟重新加载一次页面。但我不明白如何在一次向所有服务器发送这么多(~100)请求。
编辑
我们将运行Linux和cron作业,以保持资源状态的更新。使用Ajax检查状态的脚本编写起来很简单,我没有预料到。为了存储日志,我们将使用MySQL数据库,并编写简单的页面来处理日志。感谢大家参与回答和评论!
发布于 2016-05-23 05:42:09
我建议您通过cron运行此检查,并将状态存储在mysql表中。你可以每分钟都让他跑。每次检查后更新状态。在用户结束时,只需从MySQL数据库获取服务器的状态。这样,您还可以解决任何超时问题,也可以从db快速获取服务器的状态。
发布于 2016-05-23 05:38:45
发布于 2016-05-27 09:44:17
最简单的方法是使用cron运行update状态作业,并将结果存储在本地文件或db中的某个地方。
然后,只需获取结果并将其显示给客户端即可。
https://stackoverflow.com/questions/37383177
复制相似问题