Appearance
科学解决问题的思路 - 木桶理论
涉及到计算机的地方,经常会提到一个词 -- 木桶理论(效应)
,意思很简单,就是说一个木桶能装多少水,取决于组成这个木桶的最短的那块木板。
想要让木桶装更多的水,最有效的办法就是找到最短的那块木板,然后加长它!
在计算机里,木桶理论几乎无处不在。在一个复杂的系统中,最终的系统实现效果往往取决于系统中最薄弱的环节,也就是瓶颈所在。因此提升整个系统效果的关键,就是找到这个最薄弱的环节,然后改善它!而不是盲目的在其它不构成瓶颈的环节下功夫。
举两个很常见的例子:
- 很多人发现自己的宽带测速达不到套餐的标称值,测速的时候发现很慢。
- 电脑和 NAS 都用了万兆网卡,而且 NAS 也组了阵列,但是万兆 NAS 传输达不到预期速度
那么该如何使用 木桶理论
来解决问题呢?
理清环节
想要科学的解决问题,最重要的是理清影响系统效果有哪些因素。
以上面提到的测速为例,影响最终测速结果可能有下面这些因素:
- 运营商宽带虚标(当然如果是移动、电信、联通这些大的运营商,基本不会虚标)
- 光猫本身的性能不够(如果是比较新的光猫,应该不会有这个问题)
- 光猫网口是百兆(如果是千兆宽带,并且使用电脑有线直连光猫测试)
- 光猫 WiFi 性能不够(如果是千兆宽带,用无线终端直连光猫 WiFi 测试的话)
- WiFi 信号较弱(可能有承重墙遮挡,或者受到干扰比较严重)
- 测试用的无线终端自带的 WiFi 芯片比较老,只能使用 2.4G 频段的 WiFi
以上面提到的万兆 NAS 传输速度为例,影响传输速度可能有下面这些因素:
- 硬盘读写速度不够
- 网口传输速度不够
- 网线速度不够
- 共享协议设置问题
- 软硬件兼容性问题
找出瓶颈
理清可能存在瓶颈的环节只是第一步,接下来就按照 最容易排除问题
或者 最有可能发生问题
为优先级顺序,针对每个环节来想办法单独测试,逐步确定瓶颈究竟在哪个环节。
最容易排除问题
以上面提到的测速为例,因为无线连接受到的影响因素太多,所以尽量使用有线来测试网速,这样就可以直接排除掉很多环节。如果有线还是测速慢,那就检查电脑有线网卡的连接速度、光猫的网口是否是百兆、网线是否只能跑到百兆。
具体可以参考:网络速度测试
最有可能发生问题
以上面提到的万兆 NAS 传输速度为例,瓶颈最有可能出在读写速度不够上面,比如从电脑的 SSD 上传输数据到 NAS 的阵列里。要达到万兆(换算成文件读写大概是 1.2GB/s),电脑如果是 SATA SSD 读取速度最快也就 500MB/s 左右,显然就会成为瓶颈。
具体可以参考:阵列读写性能测试