2

会社ごとに複数のページがあるサイトがあり、このプロファイルにアクセスする人の数の観点から、そのページのパフォーマンスを示したいと思います。

ボットが除外されていることはすでに確認済みです。

現在、挿入(プロファイルへの1日の最初のリクエストの場合)または更新(プロファイルへの1日の次のリクエストの場合)のいずれかを使用して、各ヒットをDBに記録しています。ただし、リクエストが1日あたり数千から数万になったことを考えると、これらの挿入/更新は大きなパフォーマンスの問題を引き起こしています。

JSソリューションがないと仮定すると、これを処理するための最良の方法は何でしょうか。

ショー全体を実行するために、Ruby on Rails、MySQL、Memcache、Apache、HaProxyを使用しています。

どんな助けでも大歓迎です。

どうも

4

2 に答える 2

2

http://www.scribd.com/doc/49575/Scaling-Rails-Presentation-From-Scribd-Launch スライド17から読み始める必要があります。このようなソリューションを構築できれば、パフォーマンスは問題ではないと思います。 Scribdと同じくらい大きいウェブサイト。

于 2010-06-08T22:52:09.633 に答える
1

簡単な見積もりから複雑で正確な見積もりまで、これに対処する 4 つの方法を次に示します。

  1. ユーザーの割合 (10% または 1%) のみを追跡し、乗算してカウントの見積もりを取得します。
  2. 特定のページの最初の 50 カウントの後、カウントを 1/13 のカウントで更新し始めます。(incr が 1 ではないことに気づきにくいため、13 を使用します)。
  3. memcache やローカル サーバー メモリなどのキャッシュ レイヤーに正確なカウントを保存し、カウントが 10 に達するか、キャッシュに一定時間存在したときにすべてをディスクに保存します。
  4. 1) 常に現在のカウントをメモリで使用できるようにする、2) 独自のテーブル/データベースにカウントを保持する、3) 両方の場所を調整する呼び出しを行う、別のカウント レイヤーを構築します。
于 2012-04-17T21:32:21.183 に答える