タグ

apacheとconfigurationに関するoinumeのブックマーク (3)

  • Apache HTTP Server: MPMパラメータ チートシート

    こんにちは滝澤です。たまにはapacheネタということで一つ。 Apache HTTP ServerのパラメータチューニングではMaxClientsなどのMPM(マルチ プロセッシング モジュール)関連のディレクティブの設定値を調整することが多いです。記事ではMPM関連のディレクティブのデフォルト値やディレクティブ間の関係を表にまとめたので紹介します。 注意事項 UNIX系OSにおける説明となります。バージョン2.2系および2.4系の両方について説明します。 関係式においてバージョン2.4系の場合はMaxClientsをMaxRequestWorkersに置き換えて読んでください。 ディレクティブ名には公式サイトのリンクを張っています。公式の説明も確認してください。 デフォルトの欄で括弧付きものはそのディレクティブそのものは設定不可ではあるが、内部的に設定されているデフォルト値を示してい

    Apache HTTP Server: MPMパラメータ チートシート
  • Apacheのリクエスト処理時間(%T or %D)は正確には何の時間か — ありえるえりあ

    Apacheのログに%T or %Dでリクエスト処理時間を載せることができます。%Tと%Dは内部的には同じ計算値で、単位が異なるだけです(%Tは秒、%Dはマイクロ秒)。 このリクエスト処理時間は、いつからいつまでの処理時間でしょうか。つまり計測時間の開始と終了はどのタイミングでしょうか。 終了はレスポンスデータをsend(2)し切ったタイミングです。 開始として思いつくのは次の3つのタイミングです。 listenキューに入ったタイミング(3wayハンドシェイクの最初のACKを受けたタイミング) accept(2)が返ったタイミング(3wayハンドシェイクの最後のACKを受けたタイミング) リクエストデータをrecv(2)する前 実はどれも間違いです。正解は、リクエストデータの1行目のリクエスト行を読み終わったタイミングです(ソースコードで言うと server/protocol.cのread

  • ApahceのServerLimitディレクティブ - shibainu55日記

    これまでprefork MPMで使っていたApacheを、負荷増加のためworker化することにした。(MPMについては以前のブログ)で紹介した。そんなわけでhttpd.confのMPMに関する設定値を再検討することになったわけだが、ServerLimitのディレクティブのMPMにより違いをうっすらとしか覚えていなかったのでもう一度調べてみた。 prefork MPM の場合 ServerLimitはApacheプロセス稼働中におけるMaxClientsに設定可能な上限値を設定する。これは、preforkの場合は「同時クライアント数 = サーバプロセス数」になるため。 prefork MPM では、MaxClientsを256 (デフォルト) よりも大きな値に設定する必要がある時にだけ使用する。 希望の MaxClients数とくらべて、必要以上に大きな値を指定することは避ける。 work

    ApahceのServerLimitディレクティブ - shibainu55日記
  • 1