クエリパフォーマンス
参考:
使える Rails の SQL とパフォーマンス改善 – Qiita
ActiveRecord のパフォーマンス・チューニング | freedom-man
ツール
参考:
高速化のためのパフォーマンスチューニングに役立つツール 8個 + α | kasei_san のブログ
実践
参考:
Ruby on Rails で作った Web サービスを5倍速くしてメモリを半分以下にした話 – Qiita
概要
参考:
Roppongi.rb で「Rails 高速化戦略」を発表しました | Hack Your Design!
処理時間を計測する (benchmark)
参考:
benchmark – ActiveSupport::Benchmarkable | Ruby on Rails API [Official]
ms
参考:
ms – Benchmark | Ruby on Rails API [Official]
サンプル
参考:
rails/performance.rb at v6.0.0 · rails/rails – GitHub
rack-mini-profiler
Gemfile
に rack-mini-profiler
を追加する。
gem "rack-mini-profiler", require: false
bundle install
の後に generator
を実行して initializer/rack_profiler.rb
を生成する。
$ bundle install $ rails g rack_profiler:install
ブラウザページにおける解析結果の表示/非表示は Alt
+ P
キーで切り替えできる。
参考:
rack-mini-profiler で Rails のパフォーマンス簡単計測 | 酒と涙とRubyとRailsと
rack-mini-profiler で簡単なパフォーマンスを計測する | もた日記
rack-mini-profiler の計測結果が Web ページに表示しないようにする – Qiita
Rails で 11s かかるリクエストを 0.5s にした話 – Qiita
Performance profiling for your Rails App with rack-mini-profiler | Codementor
the Secret Weapon of Ruby and Rails Speed | Speedshop
A Complete Guide on Rails Performance | Stackify
Siege
CentOS にインストールする。
$ yum install siege
Mac にインストールする。
$ brew install siege
負荷テストを実行する。
$ siege -c 5 -r 5 http://localhost:3000/ HTTP/1.1 200 0.66 secs: 2855 bytes ==> GET / ... Transactions: 125 hits Availability: 100.00 % Elapsed time: 5.74 secs Data transferred: 237.85 MB Response time: 0.21 secs Transaction rate: 21.78 trans/sec Throughput: 41.44 MB/sec Concurrency: 4.66 Successful transactions: 125 Failed transactions: 0 Longest transaction: 0.85 Shortest transaction: 0.01
参考:
JoeDog/siege: Siege is an http load tester and benchmarking utility – GitHub
Siege を使ってカジュアル Web 負荷テスト – Qiita
負荷テストなら siege が簡潔 | ついていくのがやっとだぜ
Siege を使って WebAPI の負荷テストを実施する – Qiita
siege を使って複数の URL を対象にベンチマークをする | kikukawa’s diary
負荷テストツール siege を試す | Misc Notes
Load Testing Web Servers with Siege Benchmarking Tool | TecMint
Load Testing Web Servers with Siege | Linode
Install siege on Mac OS X | Jason McCreary
siege_load_test
参考:
SiegeSiege
参考:
siege をラップして多少細かい情報をまとめる gem 書いた。| おふくろさまより愛をこめて
Ruby-JMeter
参考:
flood-io/ruby-jmeter: A Ruby based DSL for building JMeter test plans – GitHub
ruby-jmeter で負荷テストをした話と Tips | hitomedia Tech Blog
ruby-jmeter 使ってみました | Thanks Driven Life
XML は解らなくても JMeter はキライにならないでクダサイ!ruby-jmeter チュートリアル | ようへいの日々精進 XP
JMeter 使うのだるいなーと思ってたら ruby-jmeter という Ruby でテストプランを書けるツールがあった | mah365
JMeter
参考:
apache/jmeter: Apache JMeter – GitHub
benchmark-ips
参考:
evanphx/benchmark-ips: Provides iteration per second benchmarking for Ruby – GitHub
パフォーマンス比較の方法 | Aqutras Members’ Blog
ruby-prof
参考:
ruby-prof/ruby-prof: A ruby profiler – GitHub
Rails アプリケーションをプロファイリングしよう | TechRacho
Profile a rails controller action – Stack Overflow
rails-perftest
参考:
rails/rails-perftest: Benchmark and profile your Rails apps – GitHub
Documentation for rails-perftest | RubyDoc.info
Performance Testing Rails Applications | Ruby on Rails Guides (v3.2) [Official]
“rails generate performance_test” not available? – Stack Overflow