[英]How do I figure out which server has least load on it?
我正在构建一个将设备连接到定义的点A(服务器)的软件。 A点需要连接到B点(Internet上的某些服务器)。 B点在Internet上存在多个位置。 在点A连接到点B之前,它想弄清楚哪一个响应最快/负载更少。
确定哪个B点连接的一种好方法是对每个URL执行ping操作并选择响应时间最短的URL吗?
我正在使用在Ubuntu服务器上运行的PHP。 每个点也是在Ubuntu服务器上运行的PHP。
我将假设,虽然您不控制Point B服务器,但至少要控制它们实现的协议,或者至少提供在Point B服务器上运行的软件。 另外,我假设Point B服务器的容量不相等。 我将忽略您对PHP的使用,尽管它缺少后台线程(不熟悉基于PHP的选项来克服此问题)将导致以下方法出现问题。
Point A上的服务器应该定期向其他可用Point B池中的系统发出运行状况请求(可能是一分钟多次)。
运行状况检查包含的内容各不相同,理想情况下,Point B服务器应指出其总共可以处理多少个可用请求以及当前正在使用多少容量。 在Web服务器中通常可以将其视为配置为处理多少个并行线程。
为了您的理智,我建议您在Point A系统与Point B系统池之间查看类似HAProxy的内容 。 实际上,任何负载平衡系统都是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.