ラベル ruby の投稿を表示しています。 すべての投稿を表示
ラベル ruby の投稿を表示しています。 すべての投稿を表示

2015/03/04

Railsアプリをruby-profとqcachegrindでプロファイリング

遅いサイトをなんとかする必要があったので、まずは計測する。

最初に使ったrack-mini-profilerは大して役に立たないので無駄だった。

qcachegrindのインストール

% brew install qcachegrind graphviz

graphvizはqcachegrindでコールグラフの生成に使う

手順

  1. Gemfileにruby-profを追加

    group :profile do
      gem 'ruby-prof'
    end
    
  2. config.ruにprofの設定追加

    if Rails.env.profile?
      use Rack::RubyProf, :path => 'tmp/profile',
        :printers => {
          ::RubyProf::FlatPrinter => 'flat.txt',
          ::RubyProf::GraphPrinter => 'graph.txt',
          ::RubyProf::GraphHtmlPrinter => 'graph.html',
          ::RubyProf::CallStackPrinter => 'call_stack.html',
          ::RubyProf::CallTreePrinter => 'call_grind.txt',
        }
    end
    
  3. RAILS_ENV=profileの設定は適宜developmentあたりをコピーして作成。

  4. サーバを起動して、問題のページにアクセスする。

    ./bundle/bin/spring rails s -p 3001 -e profile
    
  5. tmp/profile/-call_grind.txtが生成されているのでqcachegrindに読み込ませる。

  6. Incl.やSelfの値の大きいところを目安にして、実際に遅い処理の部分を探す

2013/06/12

Windows環境でVagrant/Chef Solo環境を構築するメモ(2013-06-14更新)

Windows XP上で構築
  • Vagrantはgemから入れるとちょっと古いので公式にあるインストーラを利用する
  • Rubyの環境はMingw + Msys + RubyInstaller for Windows
  • gitが使えないと不便なのでmsysgitも入れる

手順

  1. VirtualBoxをインストール
  2. Vagrantをインストール
  3. ディレクトリ C:\Mingw\msys\1.0 を作成
    • 多分途中にスペースをを含まないほうがいい
  4. 3で作成したディレクトリにmsysgitを展開
  5. Mingw/Msysのインストール
    1. mingw-get-instの最新版をDL
    2. C:\Mingwに展開
  6. Rubyのインストール
    1. RubyInstaller for Windowsから7z版のruby-2.0.0-p195をダウンロード
    2. 7zを適当な場所に展開する(一時的な展開先なのでどこでもよい)
    3. 展開してできた ruby-2.0.0-p195-i386-mingw32 の中身を全部 C:\Mingw\msys\1.0\local に移動
  7. cmd.exeの代わりに使うckw-modをインストールする

    1. ckw-modを適当な場所に展開(一時的なものではないのでMy Documents\Applications\ckwとかに入れること)
    2. ckw.cfgのCkw*execを以下のように編集

      Ckw*exec: "C:\Mingw\msys\1.0\bin\sh.exe" --login -i

  8. ckw.exeを起動してMsysのshellに入る

  9. ~/.inputrcを編集してshell上で日本語が使えるようにする。設定項目は以下のような感じ

    # disable/enable 8bit input
    set meta-flag on
    set input-meta on
    set output-meta on
    set convert-meta off
    set kanji-code utf8
    
  10. ~/.bash_profileを修正してrubyをPATHに追加する

    export PATH="$PATH:/c/Mingw/msys/1.0/local/bin"
    
  11. vagrantが使用するVBoxManage.exeへのPATHが通っているか確認する。通っていない場合はPATHに追加しておくこと

    $ which VBoxManage
    /c/Program Files/Oracle/VirtualBox/VBoxManage.exe
    
  12. Rubyのnative拡張が必要な諸々を再インストール

    $ gem uninstall ffi win32-api yajl-ruby
    $ gem install ffi win32-api yajl-ruby --platform=ruby
    
  13. Chef関連をインストール

    $ gem install chef knife-solo --platform=ruby
    

これでknife configureを実行してみてエラーが出なければ多分OK

2007/01/24

plagger入れたけど使ってなかった

なにやら便利らしいplagger。
入れたけど時間がなくてさっぱりいじってない。

どうやって使うのかも忘れてしまった。
忘れないように役立ちそうなサイトをここにメモ。

http://d.hatena.ne.jp/tokuhirom/20060226/1140967554
http://blog.teachat.org/archives/50445349.html
http://plagger.org/trac

あー、pugsも使ってみたかったんだ。
今度調べよう。
後はRailsもインストールしたけど、触ってない。
これもいじらなきゃ。