还是那本《linux操作系统之奥秘》,系统管理性能调校章节。7.1.3 Jumbo Frame:

大概的意思,虽然现在的系统读写磁盘,内存、cpu等等都是好几K一块,而网卡则千兆万兆都有了;但有个基本的问题是,网卡在整整传输数据包的时候,其封包大小是另有限制的,即MTU(Maximum Transmission Unit,最大传输单元)。

书里打了个比方,以前人工搬运,一个纸箱子半米大刚好,现在用货车了,还是半米长的纸箱子,虽然一次装的确实是多了,不过密封拆封的次数和耗时还是没少的……完全可以换成集装箱嘛~~这就是jumbo frame。

当然,这个集装箱目前还有很多问题,第一、他还不是一个标准化的东东;第二、他不能单方面做决定(你用集装箱运过去了,收局却只会拆纸箱~);第三、丢帧的冗错更复杂了(这个书里没讲,不过我想应该会吧~)……肯定还有别的问题,不然标准化组织肯定早解决了。

由这些情况来看,在internet上大规模运用,肯定是不行的。不过在服务器集群里头的SAN上,收发端都是自己掌控,又不用担心跨网的丢包,或许还是不错的运用。


今天又看到扶凯一篇nfs优化。在[rw]size上做了些文章,这是nfs服务器和客户端的传输块大小。顿时想到之前看到的MTU了。如果把MTU调整一下,不刚好可以配合一下了?

结果百度了一下,果然已经有修改MTU的nfs优化文章了。先用ping -s和nfsstat -o net确认不同封包情况下的丢包率,然后ifconfig eth0 mtu修改MTU值。

这里自然可以运用之前我写过的netperf了,呵呵~ 打算有时间,试试去。