タグ

Apacheに関するd4-1977のブックマーク (78)

  • 簡単!リアルタイム画像変換をNginxだけで行う方法

    先週金曜日(12/2)にクックパッドインフラ勉強会に参加しまして、そこで同社の成田さんから「今日からできるApacheモジュール開発と運用」という発表がありました。 リアルタイム画像変換モジュールの「TOFU」を開発するに至った経緯と、Apacheモジュール開発についてのお話でした。 TOFUは、S3に置かれたマスターとなる画像ファイルを取得し、与えられたパラメータでリアルタイム(オンザフライ)にリサイズ・トリミングを行うモジュール(mod_tofu)です。 料理を楽しくする画像配信システム 実際は、モジュールによる画像取得・変換をベースに、キャッシュや配信までも含めた一連の画像配信システムと言えそうです。 この仕組みをNginxを使って実装できないかと考えて、リアルタイム変換の仕組みをNginxだけで実現する方法を実験してみました。 準備するもの HttpImageFilterModul

    簡単!リアルタイム画像変換をNginxだけで行う方法
  • Apacheのアクセスログにユーザ情報を追加する

    こんにちは、中川です。 日々の運用をしていると、サービス運用の担当者から「管理画面で、あの操作はだれがやったか調べられませんか?」なんて質問を受けることがあります。 しっかりと操作ログをとるようなシステム要件でないとApacheのログを追うしかありませんが、通常はIPアドレスやブラウザ程度しか調べようがありませんよね。。。 しかし、初期開発であらゆる操作ログをしっかりシステムに組み込む余裕なんてないという場合もあります。そんな時のために事前にやっておくとちょっと便利で、非常に簡単なTIPSを。 ------------------------------------------------- ■追記 dandaso様 よりコメントいただきました。 確かにApacheへのログ用途ですので、apache_noteを利用するのが適切ですね。 dandaso様ご指摘ありがとうございます。 apac

    Apacheのアクセスログにユーザ情報を追加する
    d4-1977
    d4-1977 2010/11/09
    Cookieの情報をログに出せる
  • 以下の環境及び状態のWEBサーバー複数台があります。…

    以下の環境及び状態のWEBサーバー複数台があります。 ------- CentOS5.1 32bit CPU:Core2duo MEMORY: 4GB Apache2系 + PHP5 + Mysql(別サーバー) 高負荷ピーク時のCPU使用率:100% 低負荷時のCPU使用率:30%前後 高負荷時及び低負荷時のディスクIO:ほとんどナシ 高負荷時及び低負荷時のロードアベレージ:1.0未満 高負荷時のApacheプロセス数:100未満/150(maxclient) Apacheプロセスの挙動:prefork ApacheのKeep-Alive:Off Apacheの処理:PHPの実行(動的コンテンツのみ) ------- ディスクIOがほぼナシということは、ディスクキャッシュが有効に働いている。 起動プロセスが最大を満たしてないのでアクセスは裁ききっている。 にも関わらず、CPUが100%を

  • linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場

    Perl等のLLでウェブアプリケーションサーバを書いていると、普通はマルチプロセスモデル (apache なら prefork とか) で運用することになると思う。で、それらがどれだけメモリを使っているか、っていうのはチューニングにおいて重要になってきたりする (んじゃないかと思う) けど、そもそもメモリの総使用量をどうやって測定するのか。 20:20追記: PSSを使ってワンライナーで測定するのが簡単 (コメント欄参照)。kosakiさんありがとうございます。 $ sudo perl -le 'for my $p (@ARGV) { open my $fh, "< /proc/$p/smaps" or die $!; map { /^Pss:\s*(\d+)/i and $s += $1 } <$fh> } print $s' `pgrep plackup` 914325以下は初回投稿時

    linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場
  • http://www.machu.jp/posts/20080708/p01/

  • ベンチマークツールのまとめ | Carpe Diem

    サーバ1台あるいは、サービス全体で、いったいどのくらいのパフォーマンスがあるのかについて計測することは、とても重要なことです。 僕が管理しているサービスは、最初にサービスをはじめるときはある程度の規模感を想像しながらまとまめてサーバなどを調達しましたが、サービスを開始してすこしたってきたところで今後の投資計画をたてたいため、月ごとのトラフィックを予測して、いつごろにどのくらいのサーバなどが必要か情報を調査して計画を立てることになりました。もちろん、最初からちゃんとベンチマークを行って計測してサーバを調達したほうがいいのですが、小さい会社では最初はサービスの開発に注力したいため、なかなかそういった時間をとれないのもまた事実です。 ということで、現状のサービスのパフォーマンスを測定するために必要な CentOS 上で動作するコンソールベースのオープンソースなベンチマークツールについて調べてみま

    ベンチマークツールのまとめ | Carpe Diem
    d4-1977
    d4-1977 2009/10/09
    チューニングツールの話
  • お仕事日記:apache ベンチマークツール ab を使ってみる - livedoor Blog(ブログ)

    先日の評価作業 の一環で、ab を使ったベンチマークを行ったので、そのメモ。 apache をパッケージからインストールすると ab が入っていないことがあるらしい。ab がどのパッケージに入っているかを知りたければ、$ auto-apt search bin/abなどとすれば、検索結果が表示される。auto-apt が入っていなければ、apt-get install auto-apt したあとに、auto-apt update してから。 bin/ab なんて検索条件だと、関係ないのがいっぱい出るのだが、~$ auto-apt search bin/ab usr/sbin/ab2 net/apache2-utils usr/sbin/ab net/apache2-utilsてなかんじで、apache2 の場合は、apache2-utils に入っていることがわかる。こいつを入れておけば、

    d4-1977
    d4-1977 2009/07/21
    ベンチマークの方法
  • oinume journal

    大規模なコードベースでリファクタリングを省エネ化するためにcodemodを最近調べていて、軽く試行錯誤したのでそのメモ。 やりたいこと 例えば以下のようなTable Driven TestなコードをBEFOREからAFTERに書き換えたい。コード量が多いため人間がやるのは現実的ではなく、codemodで機械的に書き換えたい。 BEFORE package main import ( "slices" "testing" ) func TestContains(t *testing.T) { type args struct { ss []string s string } tests := []struct { name string args args want bool }{ { name: "empty: false", args: args{[]string{}, ""}, wan

    oinume journal
  • さらに使いやすくなった mod_chxj - Devel::Bayside

    携帯対応 Apache モジュールの mod_chxj が 0.12.24 にバージョンアップしています。ダウンロードはこちらからどうぞ。 http://sourceforge.jp/projects/modchxj/releases/36383 機種固有情報の取得、全角カタカナ→半角カタカナの自動変換に対応してますます使いやすくなっています。debian、CentOS 用の rpm もありますので、すぐに試してみることが可能です。 機種固有情報の取得 以下のように機種固有情報を設定してくれます。 http://sourceforge.jp/projects/modchxj/wiki/envinfo PHP なら $_SERVER['X-Chxj-Provider'] などで取得できます。キャリア、機種ごとに個別の処理が入るときに大変重宝します。 全角カタカナ→半角カタカナの自動変換 Z2

    さらに使いやすくなった mod_chxj - Devel::Bayside
  • #!shebang.jp : 社内で使った Apache モジュールの資料

    November 21, 200811:00 社内で使った Apache モジュールの資料 カテゴリ技術ネタ 社内の技術MTGで Apache モジュール入門なプレゼンをしたので、資料公開します。 非常に基礎的な内容ですが。 実際の Web サービスでの Apache モジュールの使いどころとしては、translate_name フェーズでゴニョる事が多いですね。 ユーザーへみせる URL と実体の場所との関係が複雑化してきた際には Rewrite でがんばるよりモジュール書いちゃった方がスッキリします。Apache ModuleView SlideShare presentation or Upload your own. (tags: apache module) 「技術ネタ」カテゴリの最新記事 タグ :#apache#presentation

  • Apache の prefork 設定をみなおす - トメトメボンド

    レンタルサーバーに SliceHost の 256MB のやつを使っているのだけど、いつのまにかほんともう実用に耐えられないデスというほどに重くなっていた。 mongrel 立ち上げてもほぼタイムアウト、WordPress ですら 1p アクセスに 1 分超えるという恐ろしさ。 どこを見ても SliceHost は褒められていて重いと言っているのは私だけか、とふと top コマンドで M (メモリっているもの順に表示) してみたら恐ろしいことに…! %MEM COMMAND 13.1 httpd 8.9 httpd 8.7 httpd 8.6 httpd 6.6 httpd 6.2 httpd 6 httpd 5.8 httpd 4.3 httpd 4.2 httpd 4.1 httpd 3.8 httpd 2.6 httpd 2.6 httpd 2.4 httpd 2.4 httpd

    Apache の prefork 設定をみなおす - トメトメボンド
  • mod_rails(passenger)はmogrelの3倍メモリを食う?

    Rails運用時で気になるのは、安定性とパフォーマンス。安定性はいろいろ負荷テストをして時間が経たないと分からないので、まずはメモリのパフォーマンスから調べてみます。 とりあえず、ちょっとしたサンプルをmongrelで動かしてみると、44Mほどメモリを確保しています。 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 1003 14412 0.0 2.2 44316 23556 ? Sl Apr10 0:01 /usr/bin/ruby1.8 /var/lib/gems/1.8/bin/mongrel_rails start んで、同じプロセスをmod_rails(passenger)で起動すると、143Mほど確保されます。 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAN

  • [mod_rails]gemsでアプリをインストールしたらApacheの再起動が必要

    mod_railsでは、Gemsで新しいパッケージを導入した場合、Apache自体を再起動しないと、アプリからそのパッケージを読み込めない模様。 p.s Passenger architectural overviewを見ると大体の構造が分かるみたい。ちゃんと読んでみよう。 Ruby Enterprise Editionなんかも出る予定なのか。matzの日記で言及されているパッチとかが取り込まれたRubyなのかな?CoWが効くなら、Railsの様なサーバプロセスのメモリ削減には効果的だろうな。

  • Apache(mod_rails)とmongrelでHTTPレスポンスヘッダに特定の値を返す

    Photo by icanteachyouhowtodoit レスポンスコードでステータスを判断するとFreeSpotとかで問題にならない?からの続き。 ステータスコードで200が帰ってきたときに、ほんとに自分が通信したいサーバから帰ってきたかを検証する方法を考えてみました。 ほんとに相手のサーバを認証したい場合はSSLを使うべきですが、そんなに大事にしたくない場合は、HTTPレスポンスヘッダに特定の値をセットすることで、相手を特定できるのではないかと思います。 Railsのbefore_filterなどでresponse.headersをセットしてもいいのですが、これだとcacheに入った場合など、Railsを通らないときには、ヘッダが追加されません。 そのため、mod_railsの場合はApacheで、mongrelの場合はmogrel内でヘッダにセットする必要があります。 Apach

    Apache(mod_rails)とmongrelでHTTPレスポンスヘッダに特定の値を返す
  • mod_rails用のdeploy.rbとapache用設定ファイルジェネレータ

    Railsで一番めんどくさかったアプリの公開を、Apache httpdが動いているサーバに、普通にアップロードするだけで行える様にするモジュール、mod_railsがリリースされました。 いままで似たようなものにmod_rubyがあったのですが、ずっとメンテナンスされていない上に、構造的にRailsには向かないようになっていたので、Phusion社が新しく作ったものです。 日語での紹介はmoongiftさんの記事をご覧ください。インストール方法や使い方は、こちらの記事を参考にしてください。 このモジュールの評価が高まれば、レンタルサーバでもRailsサポートをしてくれる所が増えるんじゃないかと期待してます。 早速、自分のサーバ(EC2)に入れてみた所、特に問題もなくあっさり動きました。 ただ、Capistranoを使っている場合、mongrelの時のままだと、サーバの起動などで失敗する

  • Rails 2.0 » ホスティングサービスでもRailsが利用できるようになるかも、な「Passenger」

    Archives 2008年 5月 2008年 4月 2008年 3月 Category Amazon (2) Tips (7) Web API (1) Webサイト (1) エディタ (1) オープンソース (1) プラグイン (6) ホスティング/サーバ (1) 開発 (6) Meta ログイン RSS コメント RSS Valid XHTML XFN WP リンク MOONGIFT Open Service Cool Coding MOONGIFTブログ Resident of Net MOONGIFTでも紹介したmod_railsと呼ばれるPassenger。Creative Commonsによるオープンソース・ソフトウェアです。 今回はその導入方法を書きたいと思います。インストールは簡単で、gemを使って行えます。 $ sudo gem install pas

  • MOONGIFT: » チェック必須!Rails新時代の到来か?「Passenger(mod_rails for Apache)」:オープンソースを毎日紹介

    待ちに待ったソフトウェアがついに登場した。Railsは生産性の高さについては定評があるが、その設置、運用方法についてはJava並みに敷居が高かった。レンタルサーバなどでは利用に耐える設置が難しかった。 Passengerのトップページ だが、これで時代は変わるかもしれない。そんなソフトウェアがついにリリースされた。 今回紹介するオープンソース・ソフトウェアはPassanger、mod_rails for Apacheだ。 Passangerはgemからインストールするソフトウェアで、これをインストールし、必要な諸設定を行ったら後はMongrelのようなアプリケーションサーバを立ち上げることもなくRailsが利用できるようになる。 インストール中 Apache2.2系(恐らく…)ではdeny from allの設定を消す必要があるが、それさえ消せば問題なくRailsが動作する。プロキシも何も

    MOONGIFT: » チェック必須!Rails新時代の到来か?「Passenger(mod_rails for Apache)」:オープンソースを毎日紹介
  • Apache Combined Log を効率的にパースする正規表現メモ, Apache Combined Log 解析正規表現ベンチマークの補足 (2007/10/05), Apache Combied Log を解析する CPAN .. - [ぴ](2007-09-07)

    _ [システム運用][Perl] Apache Combined Log を効率的にパースする正規表現メモ ググるとよく見つかるのははてな - Apache形式のログを解析する正規表現を教えてください (Geekなぺーじ : アクセスログの読み方(apache combined logの場合)) の ($host, $ident, $user, $time, $request, $status, $bytes, $referer, $agent) = ($line =~ /^(.*) (.*) (.*) \[(.*)\] "(.*)" (.*) (.*) "(.*)" "(.*)"/); だが、最長一致の .* が多数登場するためか、マッチ処理がとても遅い。たった10万行パースするのに Core2 使って23.7秒ってあり得なくね? できるだけ最短一致でマッチさせるように ($host,

    Apache Combined Log を効率的にパースする正規表現メモ, Apache Combined Log 解析正規表現ベンチマークの補足 (2007/10/05), Apache Combied Log を解析する CPAN .. - [ぴ](2007-09-07)
  • 【apache】perlスクリプトを利用してログファイルを解析する

    はじめに Webサーバを運営する上で、実際のアクセスがどれくらいあるのか、アクセスにどのような傾向があるのかを調べることは非常に重要です。 しかしながら、apacheのログはアクセスのあったURLや時間などの情報を都度保存するだけなので(まあそれがログなんですけど)、それだけではアクセスの傾向や分布等が把握しづらかったりします。 このページでは、perlスクリプトを利用してapacheのログを解析する方法について説明します。 combined形式のフォーマット apacheをデフォルトの状態で導入した際のログ出力(CustomLog)は、combined形式になっています。

  • (高速に)Apache の log を解析する正規表現(追記あり) : a++ My RSS 管理人ブログ

    ※(多分)最終バージョンはこちらです。 ⇒[ぴ] - Apache Combined Log を効率的にパースする正規表現メモ , Apache Combined Log 解析正規表現ベンチマークの補足 (2007/10/05) ※ベンチマークありがとうございました。 ネタ的には既出なんですが・・・ Ref: [ぴ] - Apache Combined Log を効率的にパースする正規表現メモ グーグル先生でよく教えてもらえる正規表現というのがありまして、 !^(.*) (.*) (.*) \[(.*)\] "(.*)" (.*) (.*) "(.*)" "(.*)"! これ、使ってみると 1万行解析するのに 7.617 秒かかりました。ありえない。(Let's note T5 / CentOS) で、バックトラックかからないよう、例えばこんな感じに適当に変更: !^([^\s]*) [^