• 締切済み

UDPパケットのバッファサイズ変更について

いつも参考にしています。 UDPパケットのバッファサイズ変更についてご教示下さい。 OS:Turbolinux 10 Server(kernel 2.6.8-6smp) サーバでIPv6のUDPパケットを受信しているのですが、負荷をかけると取りこぼしが発生しています。 (秒間300パケットほどの負荷をかけると2割ほどのパケットには応答がありません) アプリ側のログにパケットを破棄したというものがないので、kernelのバッファサイズを疑っているのですが、 IPv6でUDPのパケット(tftpです)のバッファサイズを増やすにはどのようにすればよいでしょうか。 ※負荷をかけているときにnetstat -iで見ると破棄しているパケットはありませんでした。この場合はkernelチューニングは無意味なのでしょうか? ご回答お願いします。

みんなの回答

  • LemonT
  • ベストアンサー率49% (39/79)
回答No.3

見当違い覚悟の回答です。 UDPで取りこぼしを防ぐ方法・・・応答が返ってこなかったら再送する。 これしかないと思いますが。

muraalto
質問者

お礼

ご回答ありがとうございます。 再送処理は入れているのですが、その再送パケットがまた大量にくるためそれも負荷になって しまいます。。。 なんとか1発目のUDPで処理完了したいです。。

回答No.2

/proc/sys/net/ この下のファイルを使ってチューニングしてみます? 設定方法は参考URLを。

参考URL:
http://www-06.ibm.com/jp/developerworks/linux/030711/j_l-adfly.html
muraalto
質問者

補足

ご回答ありがとうございます。 /proc/sys/net/coreのrmem_maxを変更してみたのですがうまくいきませんでした。 これでだめだということは他に原因があるのでしょうか? 何かこのような経験があればご教示いただきたいです。 ※同じパケット数でNTPパケットで負荷をかけると、これには全パケットで応答を返します。 やはりアプリとの連携部分で問題があるんだと思いますが(DBの応答が遅いなど)、ログが出ないため解析が難しい状況です。

  • mtfoggy
  • ベストアンサー率14% (37/255)
回答No.1

>UDPパケットを受信しているのですが、負荷をかけると取りこぼしが発生しています。 UDPですから、それで問題はありません。パケットが欠落しても再送しません。 とりこぼしたくないのであれば、UDPではなく、TCPで通信してください。

muraalto
質問者

お礼

ご回答ありがとうございます。 おっしゃるとおりだとは思うのですが、なんとかUDPでうまく通信させたいです。。。

関連するQ&A