クエリパフォーマンス

参考:

使える Rails の SQL とパフォーマンス改善 – Qiita

ActiveRecord のパフォーマンス・チューニング | freedom-man

ツール

参考:

高速化のためのパフォーマンスチューニングに役立つツール 8個 + α | kasei_san のブログ

実践

参考:

Ruby on Rails で作った Web サービスを5倍速くしてメモリを半分以下にした話 – Qiita

概要

参考:

Roppongi.rb で「Rails 高速化戦略」を発表しました | Hack Your Design!

処理時間を計測する (benchmark)

参考:

Rails で各処理のベンチマークを取る – Qiita

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

Gemfilerack-mini-profiler を追加する。

gem "rack-mini-profiler", require: false

bundle install の後に generator を実行して initializer/rack_profiler.rb を生成する。

$ bundle install
$ rails g rack_profiler:install

ブラウザページにおける解析結果の表示/非表示は Alt + P キーで切り替えできる。

参考:

MiniProfiler/rack-mini-profiler: Profiler for your development and production Ruby rack apps – GitHub

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 – 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

参考:

tbprojects/siege_load_test: Rails plugin for performing Siege load tests and browsing results – GitHub

SiegeSiege

参考:

mmmpa/siege_siege – GitHub

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 [Official]

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

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です