2008年1月24日木曜日

Linuxのネットワークスループット改善法教えます

Linuxのネットワークスループット改善法教えます
Linuxのカーネルやそれを含むディストリビューションでは、ネットワークのパラメータに影響を与えるような設定の一部は、デフォルトでは非常に控えめに設定されていることが一般的である。このような設定をチューニングするには、/procファイルシステムを使用する方法やsysctlプログラムを用いる方法があるが、どちらかというと後者の方がよい場合が多い。なぜかというと、後者の場合は/etc/sysctl.confファイルの内容を読み取るため、リブートを行っても設定が保持されるからだ。

etc/sysctl.confで行える設定のうち、ネットワークのパフォーマンスを向上させる可能性がある設定を以下に示そう。

net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

builderの最新特集

dojoのDijitコンポーネントの表示

Ajax vs Flash?:AjaxとFlashの使い分け

 上記の設定は、/etc/sysctl.confにすでに存在する設定を置き換えるためのものではなく、既存の設定を補うためのものだ。最初のコマンドでは、クライアントがより高速にデータをダウンロードできるようにしている。TCPのウィンドウスケーリングを有効にして TCPパケットの余分なビットを利用することが可能になり、ウィンドウのサイズを増加させられるようになるのである。

 2つ目のコマンドでは、TCP SYN cookiesを有効にしている。この値はデフォルトで有効になっていることもあるのだが、受信したコネクションを処理するために利用されているサーバのリソースが、SYN floodsなどによって枯渇するような状況を防ぐために、非常に効果的である。

 最後の4つのオプションでは、TCPの送受信の際により多くのバッファを利用できるようにしている。これによって、アプリケーションがデータをより高速に取り出し、ほかのリクエストに備えることが可能になる。またこの設定によって、クライアントがビジー状態の場合にサーバへデータを送信する能力も向上する。


設定参考にさせて頂きました。どうもありがとうございます。

0 件のコメント: