はじめに
FreeBSDのネットワークパフォーマンスチューニングに関するwikiページがあるのですよ。
http://wiki.freebsd.org/NetworkPerformanceTuning
で、OS tuningの項目には、以下のように書いてある。
|
|
上記のharvest設定は乱数生成のエントロピー収集に関する調整をするもので、エントロピー収集にあたってのロック競合がネットワーク性能に影響するらしい。
そんなに変わるかなぁ、と半信半疑なので、簡単に測定してみた。
※見たら分かると思うけど信憑性超低いですぞな。
前提
物理構成
|
|
環境
|
|
/boot/loader.conf
|
|
以下の値が0の時がoff、1の時がonということで。
|
|
TCP/IP
特に違いが見えないんですよねー。
TCP/IPv6
特に違いが見えないんですよねー。
UDP/IP interrupt storm on
スループットが下がる前の値で比較すると、640Mbpsと620Mbps位かなぁ。UDPで見ると一応意味がありそう。
一応連続試験なのでこの670MBps出てるヤツも説明したいところだけど放置(ぇー
ここでは hw.intr_storm_threshold=40000
として設定しているものの、スループットがガタッと下がっているタイミングで interrupt storm detected on "irq260:"; throttling interrupt source
が多発していることが確認できていて、それのせいかなぁ…とか漠然と考えてて役に立たない。
大体こういう感じになってる。(これは別にstormが起きてる時の値ではないけれど)
|
|
UDP/IPv6 interrupt storm on
こっちも似たような感じ。485Mbpsと470Mbps位の違いかな。
UDP/IP interrupt storm off
hw.intr_storm_threshold=0
にしたバージョン。
限界まで割り込みさせるので、スループットがガタッと下がることはなくて多少見やすくなったんじゃないかなぁ、と。
先のグラフで、スループットが下がる前のと比べると大体同じレートで推移してるように見える。
つまりはこの程度の効果がありそうだ、という話(でもさっきの670MBps近く出てるラインは無視してる)
UDP/IPv6 interrupt storm off
hw.intr_storm_threshold=0
にしたバージョン。
これがまた面倒で、一部スループットが変に高いというか。
300[sec]の間、特に大きな変動もなく推移してるのでちょっと意味がわかりませんね、って感じなのだけど。
pfはdisableなのでステート数はあんまり。
キャッシュヒット率とかは見てないからなぁ…。再現出来たら追うべきか。
暫定結論
|
|
は、若干ながら意味がある(が、5%未満とかそういうレベルなので、ある意味誤差レベル)。
むしろinterrupt storm detectedを防ぐように設定した方が、転送性能だけを見れば余程意味があるのではないか、というところ。