需要注意的是,需要支持多对列的网卡和相应的 Linux kernel 才能利用多CPU/多核,否则所有的网络 IO 开销都会集中在一颗 CPU 上,使得无法足够利用网卡的带宽。
从远程接口耗时计算系统的容量是比较简单的。变量是接口的耗时,可以在实际环境上采集数据得到。
计算请求数的公式:
(1s / 请求平均耗时) * 线程数 * 86400s
需要注意的是,外部接口后面往往是另外一套复杂的系统,越复杂的东西越容器出错,而且自身系统到外部系统之间可能会经过可靠性较低的网络,数据传输过程中的失败率也会比较高,所以需要考虑在最糟糕的情况下如果处理,避免因为远程接口调用的失败率过高造成系统雪崩。
计算系统容量不是一个太容易的过程,需要开发人员对系统的软硬件都有较深入的了解,通过系统的物理限制得出程序所能提供吞吐量的上限。但是一旦掌握了计算的方法,就更容易做到对系统的能力心中有数,知道系统改进的方向,而不是盲人摸象般地开发或者重构。