世間では PHP が、Perl が、と盛り上がっているようですが空気を読まずまたカーネルの話です。今回はページキャッシュについて。 /dev/shm に参照系DBを持っていくと I/O 負荷が激減した件(当たり前だけど) - drk7jp で、ディスク上にあったファイルを /dev/shm (tmpfs) に移したら I/O 待ちがなくなって負荷がさがった、ということなんですがおそらくこれは tmpfs に置く必要はないかなと思います。Linux (に限らず他の OS もそうですが) にはディスクの内容を一度読んだらそれはカーネルがキャッシュして、二度目以降はメモリから読む機構 = ページキャッシュがあります。tmpfs にデータを載せることができた、ということは物理メモリの容量に収まるだけのデータサイズかと思うので、放っておけば該当のファイルの内容すべてがメモリ上にキャッシュされて io
久々に面白いモノを作った。 SlowQueryLogger RailsではActiveRecordを利用してガンガン富豪プログラムを書きがちなため、適切にインデクスを張っていないとすぐに重たくなるので、Rails中で発行された遅いクエリをロギングするプログラムを作った。 ActiveRecordの参照系クエリを発行するメソッドをEXPLAINにより実行解析情報を取得しロギングしてから通常の参照クエリを発行するように拡張し、Rails付属のUnit::TestのfunctionalテストまたはRSpecのコントローラーのSpecファイルを実行する。最終的には、filesortか一時テーブルを使用しているクエリがログファイルに書き出される。 つまり、functional testを定義したファイルかRSpecのcontrollerのスペックファイルがあれば特に何も用意する必要はない。 現在My
UIEJでもisamu136さんと盛り上がっていたのですが、ActiveRecordが富豪過ぎる件。えぐちさんも同じことを書いているのを発見。 ActiveRecordのupdateが富豪過ぎる件 AR#saveやAR#update_attributesはレコード数が増えるとインデクスの更新がバカにならない。:stringでは無駄に可変長カラムを使用する。replace構文の使用デフォルト値をなるべく設定する。 複数のDB間の差異を埋めるための抽象化で犠牲になっている部分も多くて、個人的にはほぼMySQLのみを使用するのでMySQLに特化させるAR拡張が欲しいところ。 参考 MySQLの最適化 rakuto Lead engineer for several automotive products at Core Team, UIEvolution Inc in Kirkland. Her
第7回Rails勉強会@東京へ行ってきました。 第2回以来の久々の参加でした。何人か顔を覚えてくださっていた方もいらっしゃって前回よりも緊張せずに済みました。 パフォーマンスに関してのページを読む。 セッションの提案が滞っていたので一応他の人の意見を聞いてみようかなと印刷してきていたやつをセッションとして提案してしまいました。 InfoQ - Tracking change and innovation in the enterprise software development community http://www.infoq.com/articles/Rails-Performance Railsアプリで遅くなりがちな点について次のようなものがあげられています choosing a slow session container doing things on a per reque
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く