1

私は非常にうまく行っているサイトを運営しており、各画像の単純な統計カウンターである imgur.com のようなものを追加したいと考えています。

Submitted 9 hours ago
222,660 views · 22.61 GB bandwidth

問題は、CDN を使用しているため、サーバーにログがまったくないことです。

このカウンターをmemcachedでエミュレートしようと思っていたのですが、

つまり、パーマリンクの img タグを印刷するたびに、カウンターが 1 増加し、計算を行って帯域幅を使用することができます (ホットリンクされた画像を除きますが、それは重要ではありません)。

問題は、大量の画像があり、memcached が最適なツールであるかどうか確信が持てないことです。ある時点で、memcached データを mysql または別の場所に置くことを余儀なくされ、高速で揮発性の「書き込み」が行われます。その時点で真のボトルネックになります。

mysql を使用して、この単純な統計にどのように取り組みますか?

4

1 に答える 1

0

統計を処理して大量のデータを作成する場合、BLACKHOLE Storage Engineを使用して良い結果が得られました。

id(画像ID)を含む単純なテーブルのみが必要で、countこれはビューの数をカウントするために使用されます。

次に、ページの読み込み中に、イメージ ID を集計して、次のようなクエリを実行できます。

INSERT INTO image_stats (id)
VALUES($some_id)
ON DUPLICATE KEY UPDATE count = count + 1

この方法を使用して、トラフィックの多いサイト (毎日約 600,000 ページ ビュー) のページ ビューをカウントしますが、非常に高速です。

于 2012-08-28T17:44:29.417 に答える