タグ

mrubyに関するshin1x1のブックマーク (11)

  • mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog

    はじめまして、技術基盤部の相原(kaihar4)です! 今回は、アプリケーションのクラウドサービスへの移行の一環で、 Amazon S3から取得した画像URLを含むファイルを元に、そのURLの外部画像を取得して返す機能 をmrubyで書き直してAWSに移行した話をしていきたいと思います。 この機能は元々モノリシックなアプリケーションの一機能として動いていたもので、これを切り出してAWSに移行するというのが今回私に与えられたミッションでした。 このアプリケーションは歴史が長く、その間ほとんどメンテナンスされていませんでした。 ディストリビューションは古くPHPのバージョンも4系、したがってそのまま持っていくという選択肢はなく、AWS上に新規にインスタンスを構築することになります。 弊社にはAPI部分をPHPからRubyに移行する方針があるということもあり、Amazon Linux上にRuby

    mruby + ngx_mrubyでアプリケーションを実装するという選択肢 - LIFULL Creators Blog
  • mod_mrubyとngx_mrubyの最新のアーキテクチャとリファレンス公開(まだまだAdvent Calendar募集中です) - 人間とウェブの未来

    この記事は、mod_mruby ngx_mruby Advent Calendar 1日目の記事になります。 現在既に13日分が登録されており非常に楽しみです。といっても、まだ12日分空いていますので今もなお募集中でございます!是非是非ご登録を! 今日は1日目なので、mod_mrubyとngx_mrubyの最新のアーキテクチャとリファレンス公開ということで、2014年11月に情報処理学会のジャーナルに採録され公開されたmod_mrubyの元になるアーキテクチャの論文を下記のリンクからPDFで無料で公開します。どうぞ皆さんタブレットにPDFを保存したり印刷したりして読んでみてください。謝辞には馴染みの方々のお名前を書かせていただきました。 最新のアーキテクチャ論文 論文 [pdfダウンロード] mod_mruby:スクリプト言語で高速かつ省メモリに拡張可能なWebサーバの機能拡張支援機構 ス

    mod_mrubyとngx_mrubyの最新のアーキテクチャとリファレンス公開(まだまだAdvent Calendar募集中です) - 人間とウェブの未来
  • ngx_mrubyでmemcachedやmysqldのコネクションを使いまわす(性能測定) – kelp

    はじめに どうも、GMOペパボ 久米です。 そろそろ(最初から)雇用形態の話は面白くないので、これからのはじめの挨拶は何にしようか悩んでいます。 さて、今回は以下で作った ngx_mruby の性能の検証をしようと思います。 ngx_mrubyでmemcachedやmysqldのコネクションを使いまわす 性能検証の目的 ngx_mrubyからリクエスト毎にmemcachedに接続する場合と、 mruby-userdata でコネクションを使い回す場合とでどの程度の性能差が出るのかを確認したい。 前提 実行環境: MacBook Pro (Retina 13-inch、Early 2015) CPU 2.7 GHz Intel Core i5 RAM 16 GB 1867 MHz DDR3 Virtual Box上の仮想マシン 今回は測定結果の値そのものではなく、それぞれの性能差を比較す

    shin1x1
    shin1x1 2016/07/15
    比較の数字は、rpsなので「接続を使い回す」は、523.74な気が。1.45倍くらいですね。
  • Auto ScalingではなくてAuto Cachingという考え方 - Copy/Cut/Paste/Hatena

    今年の3月くらいからずっと悶々としていて、なかなか手が出せなかったアイデアがやっと実現できました。 mod_mrubyでやりたいことできたー!— k1LoW (@k1LoW) June 16, 2016 (試行錯誤して書いてみたら、結果たった数行という。。。) Auto ScalingではなくてAuto Cachingという考え方 AWSではAuto Scalingという、サーバの負荷の変化などによってEC2インスタンスをスケールする便利な機能があります。 が、大抵はクラウド環境でないと容易には実現できません。 例えば、クラウドではなく サーバリソースは増やせない。 普段はキャッシュはしてほしくないコンテンツ。 ただ、アクセスが多くなるとかで何かしら負荷が高くなった時には「仕方なく」キャッシュを使っても良い。落ちるよりはマシ。 負荷が戻ったらキャッシュを使わないようにして欲しい。 という状

    Auto ScalingではなくてAuto Cachingという考え方 - Copy/Cut/Paste/Hatena
  • ngx_mrubyがHomebrewで超簡単にインストールできるようになった - 人間とウェブの未来

    タイトルの通りなのですが、つい先日Homebrewでngx_mrubyがインストールできるようになりました。 github.com うおお、なるほど超便利と思って手元で試すと、mrbgemで使うライブラリのリンクまわりでコケていてビルドできませんでした。 そこで、必殺の「Hi, I'm ngx_mruby author.」PRによってバグ修正を最速でマージしていただき、無事ビルドできるようになりました事をここにお知らせします。 github.com 実際、ngx_mrubyをちょっと検証してみようかな、という用途でめちゃくちゃ便利で、以下のようにするだけであっという間にMac上でngx_mrubyを組み込んだnginxが動くようになります。 brew tap homebrew/nginx brew install nginx-full --with-mruby-module または、最新の

    ngx_mrubyがHomebrewで超簡単にインストールできるようになった - 人間とウェブの未来
  • How to test code with mruby

    This document discusses testing code written for mruby, a lightweight Ruby implementation. It proposes using the mruby runtime itself to test code, rather than Ruby, by using the mruby-mtest library. This allows testing mruby code directly using the same binaries and libraries as production. Sample code shows how to structure tests and set up a test runner to execute tests against the mruby binary

    How to test code with mruby
  • 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で簡単にデプロイ
  • mrubyのVMざっくり解説 - mirichiの日記

    なんとなく、mrubyのVMの基的なところを書いておこうと思ったので。誰かの参考になれば。 大きな仕様的なところは、 ・32bit固定長のバイトコードを解釈して動作する。 ・レジスタをスタックに確保するタイプのレジスタマシンである。従って、スタックの任意の位置をレジスタ番号で指定して直接読み書き可能。 ・メソッドやブロックなどの単位でバイトコードがirep構造体にまとめられている。 みたいな感じ。 スタックの使い方 スタックトップがレジスタのR0となり、以下、R1、R2・・・と名前が付けられる。スタックの型はmrb_valueの配列であり、つまりmrubyオブジェクトが詰まっている。irepのコードを呼び出すとき、スタックの上から順に以下のような情報を積んでから呼ばれる。 (引数が2個あった場合の例) R0 |self | R1 |argument1| R2 |argument2| R3

    mrubyのVMざっくり解説 - mirichiの日記
  • 最新(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のパフォーマンス
  • mrubyによるWebサーバの機能拡張支援機構を一緒に開発しませんか?

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

    mrubyによるWebサーバの機能拡張支援機構を一緒に開発しませんか?
    shin1x1
    shin1x1 2013/07/01
    ワクワクする話
  • メイカーRuby講習会2013

    Kids,�Ruby,�Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜宏治 高尾

    メイカーRuby講習会2013
    shin1x1
    shin1x1 2013/03/26
    ものづくりはワクワクするなー
  • 1