![http://blog.inouetakuya.info/entry/20121216/1355656214](https://cdn-ak-scissors.b.st-hatena.com/image/square/90b5ffdd222a79eaa4ea0233bc06cc97602a2973/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fi%2Finouetakuya%2F20121216%2F20121216201325.png)
ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日本語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id
asin: 4797363827 title: “[Rails高速化] ページキャッシュ、N+1対策、SQLチューニング” category: Rails 🐯 tags: [Rails, Ruby, Gem]『Cookpadではユーザーへのレスポンスタイム 200ms/reqを目標にしている』に感銘を受けて書き始めたこの記事ですが、『パフォーマンス・チューニングやオススメGem in 「Rails勉強会@東京 第88回」』でいろいろ教えてもらったり、最近関わっているサイトのリニュアールで試行錯誤したので、忘備録も兼ねて記事をアップデートします! 🚕 目次(1) N+1問題の対策 (2) Railsのキャッシュについて (3) 開発中ならrack_mini_profiler (4) 運用中なら断然NewRelicがおすすめ (5) mysqlの簡単チューニング 🚌 (1) N + 1問
2012年2月14日 22:06 - CATEGORY: nginx, Rails, unicorn 前回からunicornとnginxとの組み合わせが微妙に遅いと言い続けていたが、ちゃんと調べたら、 nginxの設定がモロ間違っていた。nginx.confの設定において、ネットの情報をそのまま 鵜呑みにした状態でコピペしたのが間違いだった。それで遅かったようだ。m(_ _)m 前々回のnginx.confの設定において、以下のとおりとしていたが、 upstream unicorn_app { server unix:/tmp/unicorn.sock; } 正しくは以下のとおり、upstreamにつづく設定値は、アプリケーションのアドレス名にしなければ いけなかった。あわせて、ソケット名もあわせておいた。 upstream simsolrails { server unix:/tmp/s
これは何? レスポンスタイムが遅くて辛いけど原因が特定できないときに役立つツールをまとめてみました Rails以外でも使えるものも一緒くたに書いているけど、気にしない! やらないこと それぞれのツール詳細な説明 気が向いたら個別記事を書く 環境 Rails 4.2.* ruby 2.3.* New Relic パフォーマンス監視サービス 運用フェイズ アクション実行時にどの処理にどれだけ時間が掛かったかをメトリクス収集してくれる 参考 newrelic - New Relic の各製品紹介: New Relic ってアプリケーションパフォーマンス監視ツールじゃないの? - Qiita 以降のツールは基本的には開発、テスト時に使用するやつです rack-mini-profiler パフォーマンス計測ツール(gem) アクション実行時に、ブラウザにレンダリングに掛かった処理の時間を表示してくれ
こんにちは。@srockstyleです。 Ruby On Rails便利ですね。フレームワークとして「Railsライクだから便利だよ!」ってはなすフレームワークがいっぱいでてきて久しいです。 今回はRailsで作ったアプリを高速化した話です。と言ってもこれは2015年くらいにやった作業なので、モダンな環境では通用しないかもしれません。 この記事の結論は結局「キャッシュいいね」となってしまいます。 最近のキャッシュトレンドな話はまた別に書きます。 ことのはじまり 当時の僕は一人でアプリケーションを書いてました。 作業もほぼ終盤に終わり、バグも潰し終えたとき、とある現象に気づきました。 ちなみにこれリモートのサーバです。DB接続のところはキャッシュつかうようにしたのである程度早かったり、Cloudのほうも設定したのでよかったんですが遅いですね。Viewが9ms、ARが17msなのに全体で157
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く