容量対策

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

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

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

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

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

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

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

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

トラックバック(0)

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

コメントしちゃいなよ

    

サイトカウンタ

Total: 200,717 Hits, (Recent24Hours: 22 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2017/07/24 17:33:42 JST

このブログ記事について

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

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

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

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

2017年4月

 日   月   火   水   木   金   土 
            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            

埋め込みQRコード