タグ

performanceに関するtakuma104のブックマーク (3)

  • Kazuho@Cybozu Labs: フレンド・タイムライン処理の原理と実践

    « MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原

  • mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築

    連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイン処理は負荷地獄 mixiでは、全てのユーザについて、各々の最終ログイン時刻を管理しています。「マイミクシィ一覧」や「お気に入り」などの画面で、友人が近い時間にログインしていてコミュニケーションがとりやすい状態にあるかどうか確認できるようにするためです。 mixiのほぼ全てのページはログインしないと見られないページなので、ほぼ全てのページにアクセスされるたびにログイン確認が行われます。したがって、最終ログイン時刻はほぼ全てのページにアクセスされる度に更新されることになります。mixiの中で最も重いデータベースのひとつとして「

    mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築
  • [Rails] *.rhtmlでrender :partialを使うとめちゃくちゃ遅いので対処する方法

    Posted by masuidrive Mon, 01 Jan 2007 11:37:00 GMT 過去に作ったRailsアプリがどれも遅いので、色々ベンチマークなどを取ってみると、予想以上にviewの部分が遅いことが判明。 なんでveiwが遅いのか、さらに調べていくとrender :partial => “hogehoge”がかなり遅いっぽい。特にループの内側にあったり:collectionを指定すると激遅。ソースを読んでないので全くの憶測だけど、毎回ERBをファイルから評価してないか? 試しに、1つのページに5つある(うち一つは:collectionで10回ループ) render :partialを手で展開して実行してみると、apachebenchで1.3倍(19reqs/sec→24.7reqs/sec)になった。これはかなり効果が高いんだけど、メンテナンス性が著しく落ちるので、他

  • 1