apacheに関するmatsumoto_rのブックマーク (37)

  • mod_spdyから学ぶSPDYとストリーム並列処理の実装

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 HTTP関連の研究をしているので、そろそろ古い技術を詰めるばかりではなく(これはこれでとても大事な事なのですが)、新しい技術についても調べておきたいところです。 ということで、僕のSPDYに関する現状の理解を、mod_spdyに関する情報を元にまとめておきたいと思います。 SPDY概要 SPDYの概要を表す図としては、下記が良く用いられます。 TLS上にのせたSPDYストリーム上でHTTPやWebSocketを扱うプロトコルで、特徴としては、以下の4つがあげられます。 ストリームの並列化 フレームレイヤーやヘッダーの圧縮 リクエストの優先処理 サーバからのリソースプッシュ HTTP/2.0についても、SPDYを元に仕様が検討されています。では

    mod_spdyから学ぶSPDYとストリーム並列処理の実装
    matsumoto_r
    matsumoto_r 2013/04/25
    文章だと分かりにくかったので図を追加した。
  • mod_mrubyをFreeBSDで動かそうとして詰まる | monolog

    CombConfの発表が2日後に迫っているにも関わらず他の技術に手がでます。 組み込み向けのRubyであるmrubyをApacheに組み込めるようにした、mod_mrubyというものをFreeBSDで動かしてみようかと思って手を出したら大苦戦しました。 とりあえず動いたには動いたという状況ですが、簡単なメモとベンチマークを取ってみました。 2013/2/17追記 mod_mrubyの更新によって手順が変わりました⇒ mod_mruby on FreeBSD 導入はmod_mrubyのページと同じようにやればいいのかと思いきや、makeでエラーを吐いてしまいます。 $ make make: illegal option -- - usage: make [-BPSXeiknpqrstv] [-C directory] [-D variable] [-d flags] [-E variable

    mod_mrubyをFreeBSDで動かそうとして詰まる | monolog
    matsumoto_r
    matsumoto_r 2012/12/21
    そういえば、workerにもeventにも対応しました。
  • モダンmod_perl入門 - YAPC::Asia Tokyo 2012 [SEPTEMBER 27,28 & 29th]

    YAPC::Asia TOKYO 2012 Take Another Step Forward SEPTEMBER 27,28 & 29th 大昔からPerl CGIの高速化の手法の一つとしてmod_perlが語られることが多いかと思いますが、それはmod_perlの副次的な効果のほんのひとつに過ぎません。来のmod_perlは「Apacheの機能を(CではなくPerlで)拡張する」ものです。 トークでは、来のApacheをPerlで拡張するという意味でのmod_perlについて、今からでも実践投入できる興味深いお話ができればと考えています。特にウェブ上でもあまり見かけない(mod_perl1ではなく)mod_perl2の情報に重点を置きます。「いまさらApache/mod_perl?」と思っている方には、聴いてくださった後に新鮮な印象を持ってもらえるトークにしたいです。 今年4月に

    matsumoto_r
    matsumoto_r 2012/10/01
    「YAPC::Asia Tokyo 2012」でmod_perlのモダンな使い方についてのトーク。Apacheの制御について等。スライドではmod_mrubyや僕のブログについても言及して頂いた。感謝! #yapcasia
  • Apacheがトラフィックを監視して勝手にtweetしてみた(mod_mruby + iij/mruby)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 少し前に、IIJさんによってmrubyの拡張ライブラリが公開されました。個人的にも待ちに待った公開だったので、これを使ってmod_mrubyで試しに何かしてみようと思い、エントリ名みたいな事をやってみました。 やったこととしては、 mod_mrubyiij/mrubyの拡張ライブラリ版に対応 mod_mrubyでトラフィックを監視して閾値を超えたらtweetする機能を実装 です。 mod_mrubyiij/mrubyの拡張ライブラリ版に対応 以下のように、Githubからmod_mrubyをダウンロードしてmakeすれば、iij/mruby拡張ライブラリ版のmod_mrubyがビルドされます。 make extend インストールは今まで

    Apacheがトラフィックを監視して勝手にtweetしてみた(mod_mruby + iij/mruby)
    matsumoto_r
    matsumoto_r 2012/09/22
    ブログ書いた。IIJさんにmrubyの拡張ライブラリを公開して頂いて感謝。
  • LinuxのCFSを使ってプロセスのCPU消費量を制御するツール作った

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 LinuxのCFSのBandwidth Controlを使って簡単にプロセス単位でのCPU消費量を制御できるツールをPerlで書いてみました。Linux Kernel 3.4.7で動作確認済みです。kernelのコンパイルオプションで「CONFIG_CFS_BANDWIDTH」を有効にしましょう。 CFSのBandwidth ControlはLinux3.2からの新しい機能のようです。エントリではその詳しい話は割愛して、作ったツールの使い方を見て行きましょう。例の如くGithubにソースをあげています。 run-cpu-rate – コマンド実行時からCPU消費量を任意の値で制御しながら実行 run-cpu-rateコマンドは、実行時から任

    LinuxのCFSを使ってプロセスのCPU消費量を制御するツール作った
  • ngx_mrubyから学ぶnginxモジュールの作り方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ngx_mrubyを作るにあたって、nginxモジュールの実装方法が分かってきたので、それを連々と書いていこうと思います。nginxモジュールといっても、Apacheモジュールの実装方法と似ていたので、Apacheモジュールを書ける人は同様にnginxモジュールも実装できると思います。 ngx_mruby用のディレクティブを追加 nginxモジュールはApacheモジュールと同じで、基的にはnginxの内部ルールに従って、nginxに処理させたい関数をフックさせる方式で実装します。nginxのconfに新たな設定を追加したい時、例えば、以下のようなnginxの設定を新たに作りたいとします。 location /mruby { mrubyHa

    ngx_mrubyから学ぶnginxモジュールの作り方
    matsumoto_r
    matsumoto_r 2012/08/07
    ちょっと修正 / 書いた
  • mod_mruby/example/notes.mrb at master · matsumoto-r/mod_mruby · GitHub

    matsumoto_r
    matsumoto_r 2012/08/03
    r->notesテーブルの入出力をmod_mrubyに実装した
  • http://shinobra.com/2012/07/sawanoboly/mod_load_monitor_with_redis

    matsumoto_r
    matsumoto_r 2012/07/27
    懐かしage
  • Welcome to The Apache Software Foundation!

    The World's Largest Open Source Foundation 227M+ lines of code in stewardship 4.2B+ lines of code changed 3.9M+ code commits 813 individual ASF Members 8,000+ Apache Committers 39,000+ code contributors 460,000+ people involved in our communities All volunteer community 350+ Projects and Initiatives 300+ Top-Level Projects 45 podlings in the Apache Incubator ~2 Petabytes source code downloads from

  • 開発版のベータ版のようなApache HTTP Server 2.5.0を試す

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Apache HTTP Server 2.5.0はGithubでも開発されているようです。まだまだ開発版のベータ扱いのようなもので、ASFでも公開はされていないような代物だと思います。 多分、まだまだ2.4系とほとんど変わってないと思いますが、少し触ってみようと思ってCentOSにインストールしてみました。インストールが面倒なので、適当にインストールスクリプトを作りました。興味のある方はどうぞ。gistでも公開しています。Apacheのソースもまだ開発段階、インストールスクリプトも適当に作ったので、使う場合は自己責任でお願いします。 確認したApache2.5.0ソースのレポジトリが3日前のソースだったので、そのソースに固定しています。最新版

    開発版のベータ版のようなApache HTTP Server 2.5.0を試す
    matsumoto_r
    matsumoto_r 2012/07/23
    遊んでみた。インストールしてみただけ
  • mod_mrubyでアクセス数やトラフィック量によるApacheのアクセス制限

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyでApacheのスコアボードのデータを取得できるようになりましたので、アクセス数やトラフィック量、及びリクエスト処理中のスレッド数の割合でアクセス制限が可能になりました。 ということで、早速mod_mrubyを使って、Apacheのアクセス制限を行うためのサンプルRubyスクリプトを書いてみました。Githubでもexample/で公開中です。Rubyスキルが低すぎるのでスクリプトに関するツッコミは程々でお願いします… Apacheの1秒間トラフィック量でアクセス制限 サンプルスクリプトは以下のようになります。 # LoadModule mruby_module modules/mod_mruby.so # Extended

    mod_mrubyでアクセス数やトラフィック量によるApacheのアクセス制限
    matsumoto_r
    matsumoto_r 2012/07/22
    休みなのでブログ書いた。
  • 国際会議SAINT2012でApacheの新しいアクセス制御の発表をしました

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 SAINT2012とは、正確には「IEEE/IPSJ International Symposium on Applications and the Internet」という国際会議で、今年は7月16日から20日にかけてトルコのイズミールで行われました。 といっても、僕の都合がどうしてもつかず、mod_mrubyの発表と同様、またもや共著者の先生に発表して頂きました。このご恩は決して忘れません。スライドのベースは僕が作ったので、英語がおかしな所が沢山あると思いますので、そこはスルーして下さい… mod_process_securityのおさらい これまでの課題 簡単にmod_process_securityのおさらいをしておきます。Apach

    国際会議SAINT2012でApacheの新しいアクセス制御の発表をしました
  • Create new page · matsumotory/mod_mruby Wiki

    matsumoto_r
    matsumoto_r 2012/07/18
    mod_mrubyのDirectiveに関して @tsuzakio さんがwikiページにまとめてくれました!ありがとうございます!
  • mod_mruby、mod_lua、mod_perl、mod_rubyのアーキテクチャの違いと性能

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyやmod_lua、そしてこれまでApacheモジュールをスクリプトで書く場合に使われてきたmod_perlとの性能比較を行っています。 modとしてのアーキテクチャの差で処理系の性能差を埋める 処理系としての差ではなく、Apacheのmod_***としてのアーキテクチャの差によって、Apache上での性能が大きく変わる事が分かってます。Apacheはプロセス(スレッド)をプールしておいて、複数のリクエストに対しプロセスを再利用するアーキテクチャであるため、インタプリタのロードやライブラリの読み込み、さらにはスクリプトをコンパイルするタイミングを工夫すれば、Apache上では高速に動作させる事が可能になります。 例えば、mru

  • mrubyとmod_mrubyに関して社内勉強会で発表します

    mrubyとmod_mrubyに関して社内勉強会(第3回松勉強会)を今日行う予定ですので、それで使うスライドを先行で公開しておきます。 mod_mrubyについて シンプルに題目は「mod_mruby」にしました。これまでにブログ等で書いた事をまとめたスライドになっていますので、mod_mrubyに関してはこれが最新のスライドになります。要望や指摘、及び、質問等は@matsumotoryまでお願いします。

    mrubyとmod_mrubyに関して社内勉強会で発表します
    matsumoto_r
    matsumoto_r 2012/06/08
    書いた、といってもこの時間は誰も見てないか...
  • mod_mrubyとApache(Nginx)の関係を図示してみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 今回は、言葉だけだと非常に分かり難いmod_mrubyの役割を図示してみました。 このエントリを読んだ後にでも、「なぜApacheにmrubyを組み込もうと思ったか」を読むと色々理解が深まるかもしれません。 ApacheとApacheモジュールの関係を図示 まずは、ApacheとApacheモジュールの関係は以下のようになります。 皆さんご存知の通り、ApacheコアにApache APIがかぶさっていて,Apacheモジュールを組み込んでいく仕組みです。 では、mod_mrubyだとどういう図になるのでしょうか。 ApacheもApacheモジュールとmod_mrubyの関係を図示 このように、mod_mrubyでmrubyスクリプトの実装

    mod_mrubyとApache(Nginx)の関係を図示してみた
    matsumoto_r
    matsumoto_r 2012/05/28
    論文執筆の休憩がてらmod_mrubyのお絵かきしてみました。
  • Apache-Users 2012年5月 保存書庫 スレッド

    matsumoto_r
    matsumoto_r 2012/05/27
    日本Apacheユーザ会MLの「ap_log_errorの出力形式の変更」に関するやり取りが荒れている
  • ApacheのSegmentation faultはgdbで簡単に特定(mod_mruby編)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Apacheのデバッグの方法は多く紹介されていて、例えばgdbを使ってみましょうと紹介されている記事も多いです。しかし、操作の仕方が多岐に渡っていて、なんとなく敷居が高く感じて使わないという人も多いかもしれません。 例えば、Apache周りのエンジニアが一番気になるのは、Segmentation faultだと思います。そこで、今回は自分がSegmentation faultの原因を特定する時の一番手っ取り早い、gdbを使った方法を紹介しようと思います。gdbを使っていない人にとって、gdbって少し敷居が高いんじゃないかなぁ、と思っている人も多いかもしれませんが、今回の方法であればだれでも気軽にできると思います。 まずはバグを作る 今回は、自

    ApacheのSegmentation faultはgdbで簡単に特定(mod_mruby編)
    matsumoto_r
    matsumoto_r 2012/05/24
    Apacheでgdbを使う時の簡単な例を書きました。
  • mod_request_dumperでApacheのrequest_recをMongoDBに入れてみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 昨日、思いつきで作ったmod_request_dumperですが、使い道を探るべく、Apache内部のrequest_rec構造体のデータをMongoDBに入れてみようと思いました。 MongoDBへの突っ込み方は簡単 まずは、mod_request_dumperに関してですが、一昨日に実装していた時は任意のファイルにしかrequest_recのデータを書き出せなかったのですが、昨日CustomLogのようにパイプで渡せるように実装を追加しました。その結果、ファイルに書きだしたファイルを新たに取り出さなくても、直接パイプでデータをリアルタイムで連携できるようになりました。 そこで早速、JSONならではの使い道として、MongoDBにデータを突

    mod_request_dumperでApacheのrequest_recをMongoDBに入れてみた
    matsumoto_r
    matsumoto_r 2012/05/23
    こういう感じでもっと他に面白い遊び方ないかなぁ、fluentdとかか
  • Apache内部の情報をダンプするモジュール mod_request_dumper

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 最近は論文を書いてばっかりなので、コーディングを忘れないようにちょっとしたApacheモジュールを作ってました。 まずは機能から このモジュールの名前は、mod_request_dumperとしました。 mod_request_dumper機能は、Apache内部がリクエストからレスポンスを返すまでに持つrequest_rec構造体(中に含まれるserver_recやconn_recも含む)の中身を、各種フックのタイミングでDumpするモジュールです。Dumpの仕方は、JSON形式に構造体の主要なデータをシリアライズして任意のファイルに出力します。 (追記:2012/05/22) また、CustomLogのようなパイプログ形式の記述を行うこと

    Apache内部の情報をダンプするモジュール mod_request_dumper
    matsumoto_r
    matsumoto_r 2012/05/22
    Apacheの内部情報を各種フックフェイズでJSON形式でDumpできるApacheモジュールを公開しました。