スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Nettyでスピード計測と帯域制限

Netty User Group - Connection Speed And Bandwidth Calculation

Netty使ってる。スピード計測やら帯域制限なんか既存コードないかフォーラム見てたら、Netty作者さん?らしき方がコード公開なさってたのでメモ。


FishEye: browsing Netty/branches/traffic/src/main/java/org/jboss/netty/handler/traffic

ここらのコードがそう。
ただ、スレッド使いまくりだしなんかバッファ必要だしで使い難そうなんだよね。


スポンサーサイト

ネットワークプログラムのI/O処理の分類

ネットワークプログラムのI/O戦略 - sdyuki-devel

素晴らしすぎ。
Nettyなんかは、マルチスレッド・イベント駆動(scatter方式)+スレッドプールに相当するんだろうか。


References:

::memolet | 非同期IO Roundup
TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと

Ruby の icmpモジュール

RAA - icmpmodule

rubyのicmpモジュール、BSD系しか対応してないっぽい。んで、ソースのオリジナル配布サイトはあるんだけど、ソースのリンクが切れている?
Index of /cache/icmpmodule/ ここにあった。


Related:

::memolet | traceroute実装したい

VISTAじゃRAWソケット制限されてんだぁ...

TCP/IP Raw Sockets (Windows)
TCP/IP Raw Sockets (Windows) - VS85

下の方に制限事項が記載されている。
VISTAだけじゃなくてXPSP2も。なので、tracerouteみたいなの実装できないみたいだよ。


traceroute実装したい

ICMP - Internet Programming with Ruby: 8th article

ここ、まだ全部みてないけどtraceroute実装するのに十分な情報が解説されているっぽい。基本Rubyをベースに解説されているが十分Cとかでも対応できそう。tracerouteのRubyコードが掲載されている。あとRawソケットについても言及ある。Rawソケットってそういうことかと。


boost::asioの練習の参考になるかも

C++ のお勉強 - IT戦記

チュートリアルは見てなかったので、ここ見てためになった。boost::bind便利過ぎ、すげぇ。


Related:
::memolet | asio C++ library
::memolet | 非同期IO Roundup

サーバー実装のチューニングのキモ

はやいTCPサーバを書く際に忘れがちなこと - id:kazuhookuのメモ置き場

忘れがちなことどころか、知らなかったですから。
後、タイムアウトのチューニングでKazuho@Cybozu Labs: 高速なCometサーバを書いてみた件もチェックする。


Winsockの8KBの壁

Winsockで送信時にSO_SNDBUFを大きくすると劇的にパフォーマンスが上がるの に関係ありそうな情報を以下に。何にしろ8KBの壁はあるらしい。
設計上の問題 - Winsock と TCP 経由で小さなデータ セグメントを送信する


HTTP ファイルのアップロードの操作が完了するまでに時間がかかる

WinInetだけ?WinHttpはどうなんだろ。


winsock2でaccept()を中断する

Make accept() stop [Archive] - C Board

WSAEventSelect()でWSAWaitForMultipleEvents()でaccept待ちをキャン セルするには、キャンセル用のイベントオブジェクトを別に用意してシ グナル化すればできるという記事。
closesocket()やWSACloseEvent()でブロックが中断されるかと思ったが、 WSAWaitForMultipleEvents()から抜けてこないので、googleで検索して やっと上記記事を見つけた。

SO_REUSEADDR Roundup

SO_REUSEADDRって何だっけ?ってことで検索してみた。
要はcloseしたポートがTIME_WAITで占有されていても、すぐにそのポートを利 用できるようにするオプション?
Windowsでは使用した方がいい、しない方がいい?
Geekなぺーじ : TCPを使う(サーバ、SO_REUSEADDR)


ソケットオプション SO_REUSEADDRの利用とTIME_WAITソケットの関係


Using SO_REUSEADDR and SO_EXCLUSIVEADDRUSE (Windows)


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。