タグ

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

  • mod_process_security - Apache上でスレッド単位で権限分離を行うファイルのアクセス制御アーキテクチャ(前半編)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ソース 「スレッド単位で権限分離を行うWebサーバ上のアクセス制御アーキテクチャ」として、3月15日16日に開催されたIA/IOT/SITE/ISMS合同研究会で発表してきた。概ね、好評だったように思う。ただ、やらないといけないことはいくつかあるので、そこはこれから大学で適宜やっていこうと思う。 まずは、この論文の概要としては、 大規模Webサーバ上で大多数のユーザー(仮想ホスト)を一つのサーバで処理するようなマルチテナント環境において、ユーザー間のセキュリティを担保するためのアクセス制御を行う技術 である。(これまではsuEXECが使われていた) これは、Webサービスが高度化していく時代において、低価格化がより望まれてきており、以前に増し

    mod_process_security - Apache上でスレッド単位で権限分離を行うファイルのアクセス制御アーキテクチャ(前半編)
  • Docker HubとGitHubを連携させてmod_mruby実行環境をDockerで簡単にデプロイ

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Docker Hub公開のアナウンスがあったので、早速Docker HubとGitHubを連携させてmod_mrubyの実行環境をDockerイメージとして作った上で、それをMac上のVagrantで動くCoreOS内のDocker環境にデプロイしてみました。 エントリではmod_mrubyとしていますがここは重要ではなく、自身が開発しているGitHubのアプリケーションに置き換えて読んで頂けると、便利さが見えてくるかと思います。 試してみると、非常に簡単にDockerイメージを作成できた上に、迅速にmod_mrubyの軽量な実行環境をデプロイできたので、その流れを簡単に紹介したいと思います。 Docker Hubにアカウントを作ってGit

    Docker HubとGitHubを連携させてmod_mruby実行環境をDockerで簡単にデプロイ
  • 最新(2013/12/26)のmod_mrubyとngx_mrubyのパフォーマンス

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 論文の執筆や発表の準備で最新のmrubyに追随できていなかったのですが、ようやくmod_mrubyとngx_mrubyを最新版のmrubyに対応させました。対応した項目は以下となります。これでmrubyの最新版でも動くようになりました。 mrb_stateが持っていたirepテーブルの削除に対応(バイトコードのGC化) symbol関連のAPI変更に対応 ARENAの持ち方を修正 パフォーマンス比較をするには良いタイミングなので、最新版のmod_mrubyとngx_mrubyのパフォーマンスを計測しました。 最新のパフォーマンス比較 計測方法はいつも通りシンプルなものなので、「この条件だと大体こういう差がでる」という意味での参考情報として見て

    最新(2013/12/26)のmod_mrubyとngx_mrubyのパフォーマンス
  • ext3ファイルシステムとファイルの削除・復元について

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 研究の一環でext3ファイルシステムのファイル管理方法や、ファイルを削除した時の復元について色々調べたので、それを忘れないように記事にしておこうと思います。 はじめに 今回はext3ファイルシステムについて調査してみました。僕はLinuxでファイルを扱う前提の研究をしているし、大規模環境でのファイルの処理はとても重要だと思っています。 また、ファイルシステムについて理解を深めておく事で、今後新たなネタにならないか等も考えています。現在はext4やBtrfs等の調査が進んでいますが、改めて基に戻ってext3について調査しました。 まずは、分かりやすいようにext3ファイルシステムでファイルを削除した場合に、どのようにファイル復元ができるのかを

    ext3ファイルシステムとファイルの削除・復元について
  • mrubyによるWebサーバの機能拡張支援機構を一緒に開発しませんか?

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ある人「あなたのやりたいことはなんですか?」 僕「複数あるWebサーバソフトウェアの拡張記述を統一したいです」 ある人「(それはさすがに無理だろ…)」 という感じで始まったmod_mrubyやngx_mrubyの開発ですが、今ではそれも夢では無い所まできています。当時は「mod_mrubyを作ってみようか」という記事からmod_mrubyの開発ははじまりました。 朧げにあったアイデアでは、「どうやって統一するのか?どんな言語にするのか?どうやって組み込むのか?え?そもそもそんな事無理では?」という感じでしたが、1年前に運良くmrubyGitHubで公開されて以来、色々なアイデアのピースがはまっていき、いつの間にかそのアイデアが形になろうとし

    mrubyによるWebサーバの機能拡張支援機構を一緒に開発しませんか?
    shin1x1
    shin1x1 2013/07/01
    ワクワクする話
  • Apache 2.4系でのモダンなアクセス制御の書き方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比

    Apache 2.4系でのモダンなアクセス制御の書き方
  • csshXが素晴らしすぎる件

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 複数のホストに対して、同時にコマンドを実行するツールはpssh等いくつかあると思うのですが、もっと自由度高く、viで編集したり、さらにはsshでログインしている状態でやれるような作業を全部同時にやりたいと思っていました。 そんな都合の良いツールはなかなかなくて、会社の人がLinuxでCluster SSHを使っていて、Linux限定かぁと諦めていたところ、なんとMacで使えるcluster SSHのcsshXがあるようだと教えてもらいました。これがあまりに素晴らし過ぎるので簡単に紹介します。 インストール brew環境を入れている人は以下のコマンド一発で使えるようになります。 [program lang=’bash’ escaped=’tru

    shin1x1
    shin1x1 2013/02/09
    csshx 便利すぎる! / MacPorts でインストールした。Ctrl+A はシェル操作とかぶるので、~/.csshrc に「action_key = \032」を書いて、Ctrl+Z に変更した。
  • ApacheとNginxの性能比較でevent_mpmの本気を見た

    はい、これは僕がいつも良く見るApacheとNginxの性能差に見えます。大体、ApacheはNginxの75%程度の性能に落ち着きます。数十バイトの静的コンテンツに対するリクエスト処理はNginxの得意分野だと思っていたので、大体こんなものです。 そこで、真面目にevent_mpmのチューニングを行ってみました。で、幾度となくベンチを試した結果導き出した、静的コンテンツに対する同時接続数100程度に対して最高のパフォーマンスを示すevent_mpmの設定は以下のようになりました。 [program lang=’apache’ escaped=’true’] StartServers 4 MinSpareThreads 4 MaxSpareThreads 4 ThreadsPerChild 2 MaxRequestWorkers 2 MaxConnectionsPerChild 0 [/p

    ApacheとNginxの性能比較でevent_mpmの本気を見た
  • 僕が考える最強の超高集積型Webホスティングシステム!

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでの記事を振り返って、まとめの意味でも、現状僕が考えうる最強の高集積型Webホスティングシステムの設計を忘れないうちに書いておこうと思います。これらは夢のような話ではなく、現実的にAmazonEC2上にプロトタイプとして作ってもいいなぁ、と思っていたりします。 最強の超高集積型Webホスティングシステム!とは ホスティングシステムということで、ホストをかりる側がどういうコンテンツを使うのか分からないので、できるだけ自由度の高いシステムを考えた時は、やはりベースソフトウェアはApacheが良いのではと思います。また、超高集積にする事でハードウェアのコストを下げ、超低価格を実現し、かつ、セキュアで運用性が高く高機能なシステムを目指します。

    shin1x1
    shin1x1 2012/09/27
    最近 PaaS 的なにかが欲しい or 作りたいと思ってるから面白そう
  • 第5回 ZABBIX-JP勉強会 まとめ(運営スタッフとして参加してきた)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 第5回 ZABBIX-JP勉強会に参加してきました。 今回は元々、ZABBIXの大規模事例として寺島さんから発表の機会を頂いていたのですが、(元)会社との調整がうまくいかず、発表ができないことになりました。そこで、今後はフィードバックも含めてZABBIX-JPの運営スタッフとしてお手伝いしようと思い、今日は運営スタッフとして勉強会に参加してきました。 受付の左の方で、鈴木さん(@BlueSkyDetector)と勉強会のみ参加の受付をしていたのが僕になります。皆さんはじめまして。 すごい参加人数で、僕が2年前にZABBIXでシステム構築を始めた時は、勉強会は10人ちょっとくらいだったのですが、今日の参加者はなんとその10倍の100人以上!!す

    第5回 ZABBIX-JP勉強会 まとめ(運営スタッフとして参加してきた)
  • 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とのベンチマーク比較)
  • 1