タグ

apacheに関するtaro-maruのブックマーク (122)

  • Apacheのチューニングメモ - Qiita

    個人的Apacheチューニングのメモ。 間違いがあったら教えて下さい! prefork 前提 Apacheでは、リクエストはApacheの子サーバプロセスが処理する。 子サーバプロセスは動的にforkで生成されたり、殺されたりする。 が、forkはとても重い処理なので、forkが発生しないように設定するのがよい。 チューニング方針 負荷が高かろうが低かろうが常に一定数のプロセスが動いている状態にする。 preforkの動作 MaxClientsは絶対値。 子プロセス数はこの値を超えない。 (以下正確ではないですが簡単に) Apacheは負荷が高くなってきたら 子プロセスを生成していく アイドル状態の子プロセスはMinSpareServers以上になるよう維持 MaxClients以上の子プロセスは生成しない MinSpareServersよりMaxClientsが強い 負荷が低くなってきた

    Apacheのチューニングメモ - Qiita
  • mod_proxyのbackendにELBを指定してると時折レスポンスが悪くなる件 - 偏差値40からのはてなブログ生活

    忘れそうなのでメモ Apacheでmod_proxyのbackendにELBを指定してるケースで、2分だか4分だか待たされた後にステータス503を返す事があって困っていたのですが、 SetEnv proxy-nokeepalive 1 したら今のところちゃんと動いているみたい。 (timeoutとかretry弄るのも考えたけど、まずはproxy-nokeepaliveを試してみた) ELB側が勝手に切断しちゃった(IPが変わったタイミング?)直後に通信しようとしてアレー?ってなってるのかな。。

    mod_proxyのbackendにELBを指定してると時折レスポンスが悪くなる件 - 偏差値40からのはてなブログ生活
  • Apacheのmod_statusの各状態はどういう意味か? - (ひ)メモ

    Apacheのmod_statusを使えば各プロセスの状態を知ることができます。CloudForecastやCacti等でそれを元に視覚化している人も多いと思います。 mod_statusで確認できる状態には以下の11種類があるのですが、 状態名 値 mod_stautsでの記号 説明 SERVER_DEAD 0 . Open slot with no current process SERVER_STARTING 1 S Server Starting up SERVER_READY 2 _ Waiting for connection (or accept() lock) SERVER_BUSY_READ 3 R Reading a client request SERVER_BUSY_WRITE 4 W Processing a client request SERVER_BUSY_

    Apacheのmod_statusの各状態はどういう意味か? - (ひ)メモ
  • mod_rewrite のデバッグ出力 | techthéque [てくてく]

    .htaccess などに RewriteRule や RewriteCond を書いて mod_rewrite を利用することがよくあります。WordPress などの CMS でもよく見かけます。 これが思うように動かないときのデバッグですが、サーバーにログを出力させるのが手軽で確実です。例えば、xamppだと xampp/apache/conf/httpd.conf の最後とかに RewriteLoglogs/rewrite.log” RewriteLogLevel 9 と書いて再起動すれば、xampp/apache/logs/rewrite.log にかなり詳細な rewrite の動きを見ることができます。RewriteRule での対象文字列やマッチング結果もわかりますので、デバッグがかなり進むと思います。デバッグが終わりましたら、余計なサーバー負荷を抑えるため、http

  • アクセスログの情報をvmstat風に表示する

    今週はサーバ構築が多くて疲れました。インフラ池田(@mikeda)です。 番作業時や障害対応時、HTTP応答がどういう状況なのかリアルタイムで確認したいですよね。 でも muninは5分おきとかなので遅すぎる アクセスログをtail -fしてても速すぎて「なんか流れてるなー」としかわからない というわけでなんかvmstatっぽく見れないかな、と思って作ってみました。 アクセスログをパイプで流し込むと、指定した秒数ごとにvmstatっぽく表示してくれます。 左からこういう情報が並んでます。 時間 request/sec 平均応答速度 アクセス数 レスポンスコードごとのアクセス数 細かい調整は間にgrepとか挟む感じで。 ソースコードはこんな感じ。とりあえず版です。 #!/usr/local/bin/ruby DEFAULT_INTERVAL = 3 class AccessCount de

    アクセスログの情報をvmstat風に表示する
  • そろそろApacheからNginxに移行したい人の、Nginx スターティング・ガイド

    AV女優.com は7月1日に、 Apache から Nginx にウェブサーバを切り替えました。 理由は簡単で、少しでもパフォーマンスを上げるためです。 あまり収益も上がっていないので ( 先月の収益報告 ) 、サーバ費用を捻出出来ません。 今日は、私が ApacheからNginxにウェブサーバを移行するために、掻き集めた情報 をまとめていきます。 Nginxに移行すべき理由 Nginxはパフォーマンスが良い と言われています。 しかし、当にパフォーマンス良いのか? また、当にApacheからNginxに切り替えて、問題がないのか? blog@a2o.si で ApacheBenchを使ったベンチマーク が分かりやすくまとまっています。 Apache + mod_php compared to Nginx + php-fpm NginxPHPを走らせる場合のバックエンドサーバとなる

  • mod_headers に note 機能が追加されました

    この投稿は Apache httpd Advent Calendar 2013 ではありません… 2013-11-25 に Apache httpd 2.4.7 がリリースされました。 CHANGES_2.4.7 この中に *) mod_headers: Add ‘Header note header-name note-name’ for copying a response headers value into a note. [Eric Covener] という変更を見つけました。これは!! 「Apache で Response Header を消しつつその値をログに書き出す」で書いた機能が Apache に追加されたようです。 当該部分のコードはこれ case hdr_note: apr_table_setn(r->notes, process_tags(hdr, r), apr_

    mod_headers に note 機能が追加されました
  • VirtualBoxの共有ディレクトリ内のファイルを更新してもApacheで表示が更新されない問題

    作業環境 ホスト OS … Windows 7 64bit 開発環境 … Eclipse 3.7.2 ゲスト OS … CentOS 6.0 Httpd … Apache 2.2.15 起きた問題 ちょっと解りにくいので作業順に従って箇条書きで書くとこんな感じ。 Eclipseのワークスペースを共有フォルダとしてVirtualBoxに登録 共有フォルダをマウントしてドキュメントルートにシンボリックリンクを貼る Eclipseでファイルを更新 ゲストOS上でファイルの内容が更新されていることを確認 ブラウザの表示を更新→更新されない読み込むjsファイルやcssファイルを変更しても反映されないJavaScriptの場合途中までしか読み込まれずにエラーが出るExtJS4ではファイルの末尾によく解らない文字列が追加され「illegal character」エラーが出る 解決方法 こちらを参考にしま

  • ISUCON予選にPHP実装で参加して3位になりましたーやったことなどまとめ

    by @dekokun on 2013/10/06 20:15 Tagged as: contest. 今日(10/6)はISUCON3の予選2日目に参加しました。 「予選落ちだろうなー」と思いながら挑んだら、意外と3位(暫定。運営の方が提出したAMIを起動しベンチマーク実行し、提出したスコアと比べてあまりにもスコアが低かった場合は失格となる)で選進出が決まったので嬉しくてブログ書いてます。 スコアは14379で、予選1日目と合わせて9位。 「チームたこやき」という名前で後輩2人と参加しました。 題名に「PHP実装で」と入れたのは、ディスられがちなPHP書きへのエールを込めてです。 基的にやってたこと 以下、恒常的にやってたこと一覧と、その効果を。 xhprofでのプロファイリング 効果:圧倒的 facebook謹製プロファイリングツール、xhprof様でございます session_s

    ISUCON予選にPHP実装で参加して3位になりましたーやったことなどまとめ
  • 共用サーバにおけるSymlink Attacksによる攻撃とその対策について - さくらインターネット創業日記

    共用サーバにおけるSymlink Attacksによる攻撃とその対策について - さくらインターネット創業日記
  • httpdでconfigtestが成功しても起動できない時の切なさ

    by @dekokun on 2013/06/23 23:20 Tagged as: httpd. 今回は技術的に大したネタではないですが切なさが募ったので投稿 Apacheなんですが、configtestではステータスコード0が返ってきているのに再起動が失敗すると切ないですよね。 デプロイの際にcapistranoでhttpd.confを書き換えてconfigtestを行い成功したらhttpdの再起動を行なっていたのですが、configtestはステータスコード0で成功したのにhttpdの起動が失敗してヒヤリとしました。 capistranoで並列実行数を絞ってhttpdを再起動していたため影響は全台には及ばなかったのでそんなに問題はないですけども(テスト環境と番環境で完全に異なるvirtual host設定を適用していたのが今回最大の敗因) 少し試してみたら、いろいろなパターンでht

    httpdでconfigtestが成功しても起動できない時の切なさ
  • blog.katsuma.tv

    認証APIについていろいろ調査をしていて、TwitterAPIでPOST系APIで認証にBasic認証を利用している箇所で、どうやって実装しているんだろう?という話になりました。「まさか全ユーザの情報を.htpasswdファイルなんかに格納しているはずは無いだろうに。。。」と思いながら調べていると、Basic認証のユーザ情報を既存のMySQLDB/Tableと統合するためのApacheモジュール「mod_auth_mysql」なるものを発見しました。この利用方法について、まとめてみたいと思います。 MySQL以外もOK 普段はRDBMSにはMySQLを利用しているので、mod_auth_mysqlについて調査をしていましたが、他のRDBMS用にもモジュールは用意されているようです。たとえば、Apacheのmoduleの公式サイトで「mod_auth」で検索すると、mod_authn_db

  • Apacheのアクセス制御をちゃんと理解する。 - こせきの技術日記

    Apacheの設定で Order deny,allowとか Satisfy anyとか、なんだか意味わからん人のために。僕はずっとわかってなかった。 基 Apacheのアクセス制御には、 ホストによる制御 (Order,Allow,Deny) ユーザ認証による制御 (Auth*, Require) の2通りがある。 Satisfyは、2通りあるアクセス制御の両方を満たす必要があるかどうかを決定する。デフォルトはSatisfy all。Satisfy anyなら、どちらか片方満たせばよい。 Order http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order Order deny,allowは、全てのホストからのアクセスを許可する。 Order allow,denyは、全てのホストからのアクセスを拒否する。 Order d

    Apacheのアクセス制御をちゃんと理解する。 - こせきの技術日記
  • Pound + Apache 環境下での IP アドレスアクセス制御

    Web サーバでリバースプロキシとして Pound を使い、バックエンドに Apache を使う環境を構築した場合、通常では Apache のアクセスログはローカルホストからのアクセスとして記録されてしまいます。 アクセスログで接続元の IP アドレスを出力したい場合には、いくつか方法がありますが、私は mod_rpaf を使う方法を用いていました。 mod_rpaf を用いると、アクセスログにリモートIPが出るようになりました。ただし、mod_rpaf では、Allow from ディレクティブによるアクセス制御はできませんでした。 そこで代替手段を探したところ、リバースプロキシ環境下のapacheではmod_extract_forwardedよりもやっぱりmod_rpaf? – うまい棒blogという記事が見つかりました。この記事の結論とは逆になりますが、Apache 2.2 環境下で

    taro-maru
    taro-maru 2013/05/13
    mod_extract_forwarded
  • ApacheログをLTSV形式にする際の2つの落とし穴と対処法+Apache&FluentdのLTSV設定サンプル - Y-Ken Studio

    ApacheのアクセスログをLTSV形式にしたいと思った方に是非お伝えしたい、 私がハマった落とし穴とその対処方法、その後にApacheとFluentdの設定サンプルを紹介します。 以下に1つでも該当するものがあれば、LTSVの導入メリットは高いでしょう。 テクニカルな正規表現のメンテナンスに疲れた awk等のテキスト整形ツールで加工や集計を容易に行いたい ログ収集ツールFluentdを使ってリアルタイム集計などを行いたい 落とし穴 その1「request_first_line」 一般的なApacheの設定ファイルhttpd.confでは、デフォルトで以下の設定が行われています。 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined このLogFormatStringをそのままLT

  • mod_log_config - Apache HTTP サーバ

    Please note This document refers to the 2.2 version of Apache httpd, which is no longer maintained. The active release is documented here. If you have not already upgraded, please follow this link for more information. You may follow this link to go to the current version of this document.

    taro-maru
    taro-maru 2013/05/01
    ログフォーマット
  • Apacheのログ出力はcronolog経由が便利 - kuniharumaki blog

    Ubuntuでもそうだけど、Apacheインストール直後はlogrotateで4時くらいにログをローテートさせるのが一般的。 何か追加でインストールする必要が無い 指定した期間でローテートできる 指定した期間で削除できる 自動的に圧縮できる みたいなメリットがある。 でも逆に、 出力ファイル名を変更できない(出来るけど面倒) さらに月別にディレクトリを掘るとかが大変 ってことで、出力ファイル名を変えたい人は普通Apacheに付属のrotatelogsを使っているみたい。 でも、どうにもrotatelogsのオプションがしっくりこなくて使ってなかったんだけど、似たようなものでcronologというのがあって、そっちがしっくりきたので、簡単にメモ。 インストールはaptitudeで簡単に入るので省略。 使い方も簡単で、ログ出力指定のところにパイプで書くだけ。 CustomLog “|/usr/

    Apacheのログ出力はcronolog経由が便利 - kuniharumaki blog
  • Using Apache to save data in redis | TO THE NEW Blog

  • Redisの可能性を拡大する。Redis用Apacheモジュール·mod_redis MOONGIFT

    mod_redisはRedisにHTTPでアクセスできるようにするApacheモジュールです。 Redisはセッション管理をはじめKVSとして便利に使われていますが、プロトコルが独特であるためにサーバとの通信くらいにしか使われていません。そこでJavaScriptからでもRedisを使いやすくするmod_redisを使ってみましょう。 インストールしました。mod_redisは名前の通りApacheモジュールとしてインストールします。 Redisを起動します。 HTTPからアクセスします。/redisがRedisへのアクセスになっています(設定で指定)。 別途Redisへデータを追加します(mod_redis経由でもできます)。 するとデータがきちんと読み取れました。 設定例です。 mod_redisではRedisAliasという指定によってURLやメソッドごとにRedisへのデータ追加、

  • Apache 2.4.1のスループット評価(旧ApacheとNginxとのベンチマーク比較)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 久々のApache HTTP Server 2.4.1という安定版がリリースされたので、早速ベンチマーク評価を行う。今回はevent_mpmのExperimentがとれて、晴れてデフォルトMPMになったのでそれを使ってみたい。 日一(ひょっとすると世界一)早いApache 2.4.1 event_mpmのレビューを意識してみた。 はじめに 個人的にも、event_mpmが採用されたことに最も注目している。event_mpmは非同期型のIO処理をしていて、nginxに近いアーキテクチャをとっている。厳密には、nginxの非同期と比べた場合、nginxは徹底的にノンブロッキング(accept4を使う等)してworkerスレッドで次々と並列処理し

    Apache 2.4.1のスループット評価(旧ApacheとNginxとのベンチマーク比較)