0

複数のサイトに配置される iframe に (広告に似た) 写真があります。インプレッションを確認するには、サーバー ログ ファイルを使用する必要がありますか? または、DB を使用して各インプレッションを追跡する必要がありますか?

どちらの方法が高速で、大量のトラフィックを処理できますか? ありがとう

4

2 に答える 2

1

この質問に対する答えは、使用しているデータベースの種類と、展開環境で Web サーバーのディスクとデータベースが実際にどれだけビジーであるかによって異なります。

  • インプレッションが行われるたびにログエントリをファイルに cat すると、これはかなり高速になります。このファイルを毎日新しいファイルに移動し、バックエンド システムに送信して処理することができます。これにより、エントリが失われることはほとんどありません (ディスク クラッシュが発生しない限り)。
  • テーブルエントリを持つ通常の mysql データベースは、データのクエリを実行するために同じテーブルを使用したくない場合を除いて、これにはやり過ぎかもしれません。拡張性にも優れていると思われますが、トラフィックが多い場合は、ここで多くのエントリが発生する可能性があります。
  • これにnosqlデータベースを使用することは良い一致である可能性があり、これはおそらくTwitterのようにスケーリングするようにスケールアップするでしょう.

通常のウェブサイトをお持ちの場合は、最初の方法が簡単なので、おそらく最初の方法で済ませることができます。そうでない場合は、それに多くの時間を費やしていません。

于 2011-01-18T18:55:50.493 に答える
0

私には合理的に聞こえます。ログを使用する簡単な方法は、たとえば grep を使用してログから正しい呼び出しを見つけてカウントすることです。

Knubo が言ったように、既に処理されたエントリを圧縮することは理にかなっています。

  1. 新しいログ ファイルを開始します (ログのローテーション)
  2. 昨日のログファイルから正しいエントリを数えます
  3. 処理されたログ ファイルをアーカイブします (gzip、bzip2、7zip など)。
于 2011-01-24T22:33:02.090 に答える