Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Environment Red Hat Enterprise Linux (RHEL) Issue ソケットバッファーオーバーランによるパケットロスが発生しています。 netstat -s は、ソケットバッファーが少ないためにパケットロスを報告します。 Resolution アプリケーションが setsockopt 呼び出しを使用してバッファーサイズを設定しない場合は、システムのデフォルトサイズが使用されます。 デフォルトの TCP ソケットバッファーサイズは、以下のファイルによって設定されます。 $ cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4194304 $ cat /proc/sys/net/ipv4/tcp_wmem 4096 16384 4194304 TCP ソケットバッファーは、カーネルレベルで受信パケットと送信パケットを処理する柔
send と recv の使い方と送信バッファ溢れについて。 manpage Manpage of SEND Manpage of RECV SEND non-blocking の場合。 send が失敗して外部変数 errno に EINTR が設定されている場合は、再度送信を試みる必要がある。 データをソケットの送信バッファに入れることが出来ない場合、外部変数 errno に EAGAIN か EWOULDBLOCK が設定される。 いつデータが送信できるようになるかを知るために select などのシステムコールを使うことが出来る。(後述:送信バッファ溢れ) 以下、ソースコードから抜粋した send のサンプル。 int res = 0; char* p = buffer; // 送るデータ size_t len = buffer_size; // 送るデータのサイズ while(
概要 ↓ memcachedのtcp_backlogのデフォルト値は1024で、stats settingsにも1024と表示されているのですが、 stats settings ... STAT tcp_backlog 1024 ... END↓ net.core.somaxconnがデフォルト値のままだと128に切り詰められてしまい、 # cat /proc/sys/net/core/somaxconn 128負荷が高いサーバーでは接続要求を取りこぼしてしまうことがあるそうです。 このnet.core.somaxconn、MemcacheやMySQLなど、高負荷時に多くの接続要求を受け付けるサーバーではチューニングが必要なカーネルパラメータのようです。いったいどういう値なのか、調べてみました。 net.core.somaxconnとは TCPソケットはlisten()関数の第二引数 ba
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く