ROS 上的设备从二十台加到四十台,或者任务量翻了一倍,第一反应往往是再加一条代理IP线路。加线当然有用,但先别急,扩容该动哪一层,取决于卡在哪里。加错层,钱花了,问题还在。而且加线之后往往还要重新排分组与地址段,动一处牵动三处,代价比想象中大。
三种扩容各解决什么
在 ROS 里,设备变多先看地址够不够,地址池有空间就不用动线路;任务变重,先看单条代理IP线路的吞吐够不够,不够再加线;设备种类变多,先看分组是不是还撑得住,组太少会互相牵扯。三种情况的顺序都是先看轻的那一层,能在低层解决,就不要动高层。
先看哪里紧,再决定加什么。
扩容的第一步是找瓶颈,加线路排在后面。
扩容的顺序
- 先量用量 看地址、吞吐、分组三个数各到了多少
- 再定位 判断瓶颈落在哪一层,只动那一层
- 后验证 扩容之后重跑一轮,与扩容前对比
- 最后留档 把扩容前后的数字记下来,下次有参照
一次只动一层。同时加线、加组、扩段,出了问题根本分不清是哪一处引起的。一层一层来,每动一层核一遍,多花的时间远比事后排查要少。这一点在设备已经跑着任务的时候尤其要紧。记录也要跟上:每动一层,把动之前的数字和动之后的数字留在一起,下次遇到类似情况才有参照。
在 ROS 上,还有一个常被忽略的瓶颈是设备本身。路由设备的转发能力是有上限的,代理IP线路加得再多,如果转发和处理能力已经到顶,表现就是全都慢。遇到这种情况,把任务分散到两台设备上,比继续加线更有效。
把瓶颈找准,扩容这件事就从「先加再说」变成有依据的调整。每一层都留有余量,多 IP 方案才经得起设备继续往上走。
