タグ

tuningに関するizariuo440のブックマーク (9)

  • LinuxでTCP_DEFER_ACCEPTが有効でもaccept後readできない理由

    listen()のbacklogが不足した際のTCP_DEFER_ACCEPTの動作について - blog.nomadscafe.jpという記事の中で、listen backlog があふれた後に accept(2) すると、その後の read(2) が EAGAIN を返したり、接続が不安定になるという事象が説明されていました。気になったので調べてみたことをまとめます。 結論から言うとこれはLinuxの仕様です。manのtcp(7)を見ると、 TCP_DEFER_ACCEPT (since Linux 2.4) Allow a listener to be awakened only when data arrives on the socket. Takes an integer value (seconds), this can bound the maximum number of

  • TCP 3-way handshakeのレイテンシ軽減のためのTCP_DEFER_ACCEPTソケットオプション - ゆううきブログ

    2013/10/22 追記した. Starletのコード読んでてlistening socketにTCP_DEFER_ACCEPTとかいうオプション渡してたので、これ何だって思って調べた. TCPに特に詳しいわけではないので理解に誤りがあるかもしれない. package Starlet::Server; ... # set defer accept if ($^O eq 'linux') { setsockopt($self->{listen_sock}, IPPROTO_TCP, 9, 1) # 9がTCP_DEFER_ACCEPTを表す and $self->{_using_defer_accept} = 1; } ... TCP_DEFER_ACCEPTはLinux 2.4から導入されている. Linux 2.6.32から挙動が若干変わっているらしい. (linux の TCP_DE

    TCP 3-way handshakeのレイテンシ軽減のためのTCP_DEFER_ACCEPTソケットオプション - ゆううきブログ
  • Linux socket accepシステムコールとTCP_DEFER_ACCEPT

    このドキュメントの内容は、以下の通りです。 Accept Filterとは 3-way handshake TCP_DEFER_ACCEPTとは リスニングソケットの場合 必ずしもデータが到達するわけではない TCP_DEFER_ACCEPT を使用する コーディングレベルでの利用例 Accept Filterとは Accept Filterとは、カーネル内でネットワークのリクエストをバッファリングすることにより、OSとアプリケーションのスイッチングを減らしたり、アプリケーションがデータ待ちで止まってしまうことを避けたりすることができます。 http://kaworu.jpn.org/freebsd/Accept_Filter Linuxには、Accept FilterでいうAccept httpがありませんが、accept data という意味で TCP_DEFER_ACCEPT が利用

  • TCP Slow Start と MSS, initcwnd などのメモ

    現実的な値と根拠など Slow Start などの例に良く出てくる数字の論拠と、個々の単位がどこで決まってくるかを主に取り扱う。というメモ。苦手科目だ。_:(´ཀ`」 ∠): Max Segment Size (MSS) の決定 この MSS がウインドウサイズ(一度に転送するデータサイズ)の単位として扱われる。(後述) TCP コネクションが 3-way handshake によって確立される際、ノード間で下記のような MSS に関するやり取りが発生する。 各ノードは Maximum Transmission Unit (MTU) から TCPヘッダ20バイト、IPヘッダ20バイトの計40バイトを引いた値を MSS として提示する 各ノードの希望 MSS のうち低い方を、そのコネクションにおける MSS とする たとえばイーサネットでは最大1,500バイト(オクテット)がIP通信に利用で

    TCP Slow Start と MSS, initcwnd などのメモ
  • studyinghttp.net - このウェブサイトは販売用です! - 解説 仕様書 利用 技術 である 手法 日本語訳 プログラミング リソースおよび情報

    このウェブサイトは販売用です! studyinghttp.net は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、studyinghttp.netが全てとなります。あなたがお探しの内容が見つかることを願っています!

  • IPA、業務システムでRubyを用いるためのチューニング手法と課題を公表 | エンタープライズ | マイコミジャーナル

    IPA(情報処理推進機構)は9月7日、「自治体・企業等の情報システムへのRuby適用可能性に関する調査」の報告書を公開した。同調査ではRubyについて、自治体や企業などの業務システムの開発といった分野を想定し、機能面・非機能面からその適用性の評価を行った。 調査を実施したのは、「Enterprise Ruby コンソーシアム(テクノプロジェクト、みずほ情報総研)」。検証環境は、富士通の「Platform Solution Center」に設けられた検証ルームと検証用機器が用いられた。 富士通「Platform Solution Center」のサーバルームと検証ルーム 同検証の目的は、Rubyを用いた「入出力処理」、入出力処理によって構成される「アプリケーションとしての処理プロセス」を想定したベンチマークを取得し、幅広いアプリケーション開発にRubyを用いる際に参考となる計測データやチュー

  • Apacheパフォーマンス・チューニングの実践

    前回、ボトルネックになり得るポイントの検討やベンチマークツール「ab」によるパフォーマンス・チェック方法を紹介した。今回はそれらを基に、Apacheのチューニングを行っていく。 処理の簡略化による負荷の低減 初めに紹介するのは、処理を減らすことによってApacheの負荷を少なくする方法だ。1つ1つの効果は小さいかもしれないが、積み重なると大きな差となって表れる。 不必要なモジュールの削除 最初に行うチューニングは、不必要なモジュールの削除だ。周知のとおり、Apacheはモジュールの組み合わせで動作している。モジュールの種類は実にさまざまで、仮想ディレクトリ機能(mod_alias)やユーザーディレクトリ(mod_userdir)といった基的な機能さえも、モジュールとして実装しているくらいである。 Apacheがこのような形態で実装されているおかげで、利用する側は不要な機能を切り離してプロ

    Apacheパフォーマンス・チューニングの実践
  • Apacheパフォーマンス・チューニングの実践

    セッションのチューニング ここまでのチューニングは、必要か必要でないかを判断すればよく、手探りで最適な値を探し出すというものではなかった。しかし、これから紹介する「セッションのチューニング」はそうもいかない。ある程度の見通しは立てられても、最適な答えを見つけるのには手間がかかってしまう。 KeepAliveとセッションの切断 セッションのチューニングの手始めとして、「KeepAlive」について考えることにしよう。KeepAliveはHTTP/1.1から用意されたもので、クライアントとの接続を保持する仕組みである。HTTPは「ステートレス・プロトコル」と呼ばれるとおり、1回の要求(リクエスト)ごとに接続が切断される。しかし、今日では1つのWebページを表示するために複数のファイルが必要となる場合がほとんどなので、1リクエストごとに接続を切っていたのでは効率が悪い。そこで考え出されたのがKe

    Apacheパフォーマンス・チューニングの実践
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1