使用PHP基于服务器流量重定向用户

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP基于服务器流量重定向用户脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立一个网站,我希望将我的流量分散,以避免崩溃,并确保我可以提供100%的正常运行时间.我将通过拥有5个不同的服务器一个主服务器来实现此目的.请允许我解释一下.

我有一个网站(domain.COM),在该网站的主页上有一个cURL框架,用户将其连接到其他五个服务器上的流量最少的服务器之一.我希望脚本更改cURL框架以显示流量最少的服务器.

任何人都可以帮助我或建议我如何编码,因为我是一个PHP初学者.

提前致谢,
卡勒姆

开始了:

获取5个从属服务器以更新主服务器上的数据库中的表,每隔X秒/分钟插入其负载.然后在主服务器中,检查哪个负载最低,并将用户重定向到该特定的负载.

如何获得服务器负载

一个叫做Sys_getloadavg()的函数;它将返回三个样本,分别代表阵列中最后1,5和15分钟的平均系统负载(系统运行队列中的进程数).

这样,如果系统负载超过设定的数量,您应该访客重定向到其他从属服务器.例如:

$load = sys_getloadavg();
if ($load[0] > 80) {
    //insert into database "I'm busy!!"
    $query = "UPDATE `server_load` SET `load` = $load WHERE `server_id` = 1";
    MysqL_query($query);
}

注意$load上的0表示它在最后一分钟获得服务器负载,使用1或2表示5和15分钟的平均系统负载.
查询将位于从属服务器上的脚本上,每次运行时,它都会更新表server_load上的平均服务器负载.

如何从主服务器中进行选择

一旦您从从属服务器中隔离了“获取服务器负载功能.您需要从主服务器执行的操作是查询数据库并从server_load表中获取最低负载.所提到的表具有足够的功能,具有时间戳字段,id字段和具有以下结构的加载字段:

`timestamp` int(11) not_null
`id` int(1) not_null autoincrement
`load` int(3) not_null

对于介绍MysqLPHP交互的基本教程,我建议从PHPsense这个link.如果您花了足够的时间阅读我与之链接的文档,您应该能够实现目标.如果您已经无法在此站点上找到它们,请务必将以下所有问题作为独立实体提出.有可能他们一直被你前面的人一遍又一遍地问过.希望我得到了帮助.

资料来

> php docs
> phpsense

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP基于服务器流量重定向用户全部内容,希望文章能够帮你解决使用PHP基于服务器流量重定向用户所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。