容量対策

| コメント(0) | トラックバック(0)

高速化できるからといって、サイトコンテンツはともかく、日々増え続けるアクセスログまでRAMディスクに保存してしまうのは、場当たり的過ぎる。

で、ログ用DBとは別に、カウンタ値集計用テーブルを持つDB(集計用DB)を用意して、集計用DBのみをRAMディスクに置くようにした。

実際、DB書き込みはスレッドプールタスク任せにしてあるので、ある程度遅くてもレスポンスに影響は出ない。
つまり、書き込みだけ考えれば、ログ用DBは遅いディスク上にあっても全く問題はない。

読み込みに関しては、レスポンスに与える影響がクリティカルというか同期的なため、これは高速化したほうがいい。
というわけで、集計用DBはRAMディスク。

ででで、集計はどうすんの?ってところだけど、今回は、トリガを使っちゃった。
ログ用DBへの挿入・更新・削除トリガを使って、集計用DBのテーブルを更新。

おかげで、カウンタ値の読み込みSQL文は非常に簡素化されましたとさ。

難点があるとすれば、トリガが発動しないと集計結果が変わらないわけで、アクセスなしでクローラーも来ない状態では値が古くなってしまう点だが、今も厳密な値を必要としているわけではないのでその辺は適当。

トラックバック(0)

トラックバックURL: https://blog.fne.jp/mt/mt-tb.cgi/375

コメントしちゃいなよ

    

サイトカウンタ

Total: 211,632 Hits, (Recent24Hours: 0 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2024/11/21 22:15:47 JST

このブログ記事について

このページは、ふぅみんが2010年12月 3日 13:03に書いたブログ記事です。

ひとつ前のブログ記事は「遅かった原因」です。

次のブログ記事は「メンテ情報をいちいち載せるのは面倒なので」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

2024年5月

 日   月   火   水   木   金   土 
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

埋め込みQRコード