タグ

ブックマーク / blog.matsumoto-r.jp (6)

  • 人間とウェブの未来 - 軽量な静的コンテンツ配信におけるHTTP/2とSPDYのWebサーバの性能を見てみよう

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 既存のHTTPやWebサーバの技術を見ているものとして、新しい技術も調査しておかないといけないなということで、今日はHTTP/2とSPDYでおしゃべり可能なWebサーバの性能を見てみたいと思います。 HTTP/2の実装としては、tatsuhiro-tさんのC言語実装ライブラリであるnghttp2に注目しており、今日はそのライブラリを使って実装されているWebサーバnghttpdを動かし、SPDY/3.1で動作しているnginxとの性能比較をしました。HTTP/2やSPDY/3.1はもちろんクライアント側も既存のベンチマークツールではおしゃべりできないので、nghttp2で実装されているh2loadを使用しました。weighttpと使い方が似て

    人間とウェブの未来 - 軽量な静的コンテンツ配信におけるHTTP/2とSPDYのWebサーバの性能を見てみよう
    jp-myk
    jp-myk 2014/12/09
  • 人間とウェブの未来 - 自分で作ったApacheモジュールで使えそうなモジュールまとめ

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 「Apacheおもしれー!!」とか言いながら、一時期毎日のようにApacheモジュールを書いたりしていましたが、その度に他のモジュールが淘汰されていきました。 今日はそのような流れの中で生き残った、割と使えそうな自分の作ったモジュールを紹介したいと思います。どこにこだわったかを簡単に説明できれば良いなと思います。今回紹介するモジュールは、新しいApache Module RegistryでGruno氏(Apache httpd コミッタ兼mod_luaの中の人)のチェックを通っています。 mod_mruby コード: https://github.com/matsumoto-r/mod_mruby 最近作っているApacheモジュールです。こ

    人間とウェブの未来 - 自分で作ったApacheモジュールで使えそうなモジュールまとめ
    jp-myk
    jp-myk 2013/04/05
  • ngx_mrubyとmod_mrubyのパフォーマンス比較してみた

    ngx_mrubyに対しても、mod_mrubyで実装していたような高速化アーキテクチャ(これとかこれ)を実装することができたので、どれくらいのパフォーマンスがでるのかをngx_mrubyとmod_mrubyで比較してみました。 mod_mrubyとngx_mrubyのインストール gitからそれぞれのコードを落としてきて、以下のようにコンパイルしました。 [program lang=’bash’ escaped=’true’] git clone git://github.com/matsumoto-r/mod_mruby.git cd mod_mruby git submodule init git submodule update cd mruby git checkout master rake cd .. ./configure make sudo make install [/

    ngx_mrubyとmod_mrubyのパフォーマンス比較してみた
    jp-myk
    jp-myk 2013/01/10
  • apacheモジュールで共有メモリを使ったプロセス間通信

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 apacheモジュールでプロセス間通信を行う場合、共有メモリを使ってやる手法がある。 apacheモジュールでよく使われるaprで、共有メモリ用の関数が用意されているため、実装に問題が無い以上はaprを使った方が楽だ。 では具体的な使い方を。 apacheモジュールで共有メモリを使う場合は、apache起動時のレジスターフックのpost_configのタイミングで共有メモリ領域を確保してやるといい。 後は、確保時にディレクティブ毎の共有メモリの領域を覚えておき、起動後のリクエスト・レスポンス時のハンドラーで、それぞれの共有メモリ領域を呼び出してやればいい。 まずは、グローバルで共有メモリ領域へのポインタのベースとなる変数と、共有メモリ領域を宣

    apacheモジュールで共有メモリを使ったプロセス間通信
  • apacheモジュールでmutexを使った排他制御を実装

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 apacheモジュールでプロセス間通信を行う場合に、共有メモリを使うと色々問題がでてくる。 preforkの性質上、複数のapache子プロセスがフォークされており、それらがそれぞれリクエストに対する処理を行うため、共有メモリ領域の書き込み時に衝突が起きたりして、データに齟齬が発生してくる。 それを防ぐのが排他処理だ。 今回は、aprで実装済みのglobal mutexを使って排他制御する方法を説明する。 まずは、グローバでmutexを宣言する。 #include "apr_global_mutex.h" #include "unixd.h" apr_global_mutex_t *mutex; 次に、apache起動時のpost_confi

    apacheモジュールでmutexを使った排他制御を実装
  • Apache hook関数

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。

    Apache hook関数
    jp-myk
    jp-myk 2012/04/18
  • 1