Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / blog.masuidrive.jp (12)

  • EventMachineの速度が安定しない[解決]

    Photo by the_amanda PhotoShareをRailsから、EventMachineベースの自作フレームワークに全面書き換えをしているのですが、大体作り終わりベンチマークを取っていると、概ね1msで処理しているのに、時々、数百ms掛かることがありました。 初めはGCとか疑ったんですが、GC.disable実行しても状況変わらず。絞り込みをしていると、どうもEventMachineで詰まって居るっぽい。 EC2上で動かしていたので、手元のマシンで試したり、LinuxじゃなくてFreeBSDで試しても同じように詰まる。同じEventMachineを使っているThinを使って、ベンチマーク取ってみても、100回に1回ぐらい、やたらレスポンスが遅い時間があるのを確認できました。 ApacheBenchやhttperfは、平均値は取れるけど、個別のレスポンスタイムを出力する方法が見

    EventMachineの速度が安定しない[解決]
  • RailsでMemcachedが落ちていてもエラーにならない方法

    Photo by masuidrive76 Railsで高速化するためには、Memcachedによるキャッシュが欠かせないですが、もしmemcachedが落ちてしまうと、サービス全体でエラーが発生してしまうのが、気になるところでした。 Takiuchiさんと話をしていて、fiveruns-memcache-clientを使うことで、memcachedを再起動さえすれば自動で再接続されることはわかったのですが、やはりmemcachedが落ちている時はエラーになってしまうのが問題でした。 どうせ、キャッシュはキャッシュなのだから、memcachedが落ちている間はキャッシュを使わない様にするパッチをmemcache-clientに組み込もうと思って作業をしていたら、実はcache_fuにその機能があるのを発見しました。 config/memcached.ymlで、「raise_errors:

    RailsでMemcachedが落ちていてもエラーにならない方法
  • masuidrive on rails - RailsアプリをチューニングするならNew Relic RPM

    Photo by Riverman72 あとで自分メモを書こうと思うけど、先に一言。 37signalsも使っているといううたい文句に惹かれて試してみた、Railsのパフォーマンス記録ツール/サービスNew Relic RPM(Rails Performance Management)が、すばらしい。 RPMは開発時用のDeveloperと、実機用のProductionのが二つあり、まだ開発時用のDeveloperモードしか試してはいないんだけど、専用の管理画面で、アクションを実行時のメソッド単位の実行時間、生成されるSQLSQLの実行時間やインデックスの利用状況などが非常に簡単に把握できます。 Railsで開発している人なら、下のムービーを見れば、そのすごさが分かるはず。 RPM developerのデモ動画 | RPM production のデモ動画 いまこれを使って、PhotoS

    u-ichi
    u-ichi 2008/07/19
  • [最強Railsサーバ構築計画 その1] debianでSoftware RAID1マシンを作る

    インストール後、初回設定が終わったら、RAIDの設定開始。 まずは必要なソフトをインストールして、次にまだ使っていないhdbをRAID用に設定。 aptitude install mdadm # RAIDディバイスの作成 mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/hdb1 mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/hdb2 mdadm --create /dev/md2 --level=1 --raid-devices=2 missing /dev/hdb3 mdadm --create /dev/md3 --level=1 --raid-devices=2 missing /dev/hdb5 mdadm --creat

  • 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

    u-ichi
    u-ichi 2008/04/14
  • mod_rails用のdeploy.rbとapache用設定ファイルジェネレータ

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

    u-ichi
    u-ichi 2008/04/13
  • EC2の固定IPを使ってみる

    初期状態では、一つのインスタンスに、EC2の中だけで使えるPrivate IPと、外部からアクセスするためのPublic IP(グローバルアドレス)が割当たってます。 インスタンス自体への割当IPはPrivate IPですが、上位のルータに1:1のNATがあり、これによって外部からPublic IPでアクセスできる様になっています。 今までの、Private IPとPublic IPに加えて、今度は固定IPのグローバルアドレスが割り当てられるElastic IPを選択出来るようになりました。 これは、Public IPと同じ様に、外部からアクセスするためのグローバルアドレスですが、AWSアカウント毎に発行されるので、インスタンスの再起動などによって代わる事はありません。 これを使えば、EC2で最大の問題点であった、「インスタンスを再起動するとIPアドレスが代わる」という問題から解放されます

    u-ichi
    u-ichi 2008/04/06
  • masuidrive on rails » Blog Archive » アジャイルな環境作り - そんなに急いでどこへ行く

    先月、永和さんで「アジャイルな環境作り – そんなに急いでどこへ行く」と題して、私の開発環境の紹介をしてきました。 下のslideshareは、遅くて表示出来ない場合があるので、うまく見れなかった人は、PDFをダウンロードしてください。 主に、自分用のデプロイ環境を紹介しています。

    masuidrive on rails » Blog Archive » アジャイルな環境作り - そんなに急いでどこへ行く
  • masuidrive on rails » Blog Archive » PHPユーザの為のRuby/Rails入門

    [追記] if構文の変数スコープの説明に間違えがあります。新しいスコープは作られません。 お盆のまっただ中8/11(土)に、社内勉強会を開いて、PHPユーザ向けにRuby/Rails入門をやりました。 じつはお盆の土曜日に4時間も勉強会って事で、そんなに人も集まらないだろうと思っていたのですが、ふたを開けてみたら28名も参加があり、びっくりしました。それだけ興味を持ってもらったのは嬉しいけど、これだけ集まるなら資料はちゃんと作らないと・・・・。ということで、作った資料を公開します。なんとRuby編100ページオーバー、Rails編200ページオーバーと、かなり大作です。 RubyKaigiで、発表者のスライドの横でIRCが表示されていたのが面白かったので、勉強会の参加者には、Lingrのチャットルームに全員入ってもらって、質問やパートごとの「終わった!」という書き込みをしてもらいました。今

    masuidrive on rails » Blog Archive » PHPユーザの為のRuby/Rails入門
  • masuidrive on rails » Blog Archive » プロジェクトの始まりはTracから

    そんなわけで、プロジェクトの始まりはTracから。これがないと仕事が始まりません。 Tracが一番良いわけでも無いんだけど、日語マニュアルがあるところと、ユーザが多いことから、subversionとの連携スクリプトなどが多数公開されているところが、選択理由です。 Railsベースでも複数、プロジェクト管理ソフトが出てきているので、どれか良い物に育ってくれると嬉しいなと思っています。 さて、tracのインストール方法はwebで沢山見つかるので、それを参考にインストール。 Tracは初期設定でも十分使いやすいんですが、チケット登録で担当者をドロップダウンリストにするために設定を変更します。 tracの設定ファイル conf/trac.iniの下記の項目を変更してください。 [trac] default_charset = utf-8 # 文字コードはUTF-8で [ticket] restr

    masuidrive on rails » Blog Archive » プロジェクトの始まりはTracから
  • masuidrive on rails » Blog Archive » masuidrive的プロジェクトの方針

    初めて会社員になって早3ヶ月。会社の仕組みもやっと分かってきたし、そろそろ格的に開発プロジェクトも動いて行くということで、今後、社内で私と一緒に開発して行く人に、「私がどういう考えで仕事を進めていきたいか」という事を知ってもらうためのプレゼンを作ってみました。(今のところ一人だけど) NIFTYさんと仕事した時も、作業に入る前に「今までどうやって遠隔地で仕事を進めてきたのか」をプレゼンしていました。特に初めて仕事をする場合、「今まで自分はどういう風に仕事をしてきて、この仕事はどういう風に勧めていきたいか」を明確にしておくと、スムーズに仕事を進めることができます。 仕事、特にその上でのコミュニケーションをうまく進めていくためには、信頼と共通認識が必要だと思ってます。信頼は当たり前の話ですが、開発を進める上での共通認識についてはあまり重要視されることが無い気がしています。 仕事をする上ではコ

    masuidrive on rails » Blog Archive » masuidrive的プロジェクトの方針
  • Rails 1.1はどこが新しくなるのか (翻訳中)

    Posted by masuidrive Tue, 28 Feb 2006 23:20:00 GMT Scott Raymond氏が、ChangeLogなどを元にRails 1.1に搭載される予定の機能をWhat (will be) new in Rails 1.1 にまとめて公開しています。 氏に許可を頂いたので、ここで翻訳したいと思います。私は英語が苦手で勉強をしつつ翻訳なので、間違いもあると思います。気がついた事があれば、コメントをお願いします。 できた所からアップしていますが、自信がなかった部分については、英文も残してありますので、おかしい部分があったら、これもコメントお願いします。 追記 2006/03/03 22:00 遅くなりましたが、やっと終わりました。どーしても訳せなかった文がいくつかあるので、誰か教えてください。翻訳は初めてやったんですけど、ホント難しいですね。 追記

  • 1