トップ(最新)

nDiki : Cache::FileCache

Related term

2005年10月29日 (土)

他の Web サイトの情報を URI::Fetchキャッシュ付き取得 このエントリーを含むはてなブックマーク

WiKickerDiKicker でうまく他のサイトの情報を取り込んで利用できるようにしたい。 相手サイト・自サイトともに負荷をかけないように処理するには、うまくキャッシングする必要がある。

キャッシュ機能のあるPerlHTTPユーザエージェントには

などがある。

@ WWW::Mechanize::Cached 1.32

WWW::Mechanize::Cached は1度取得したレスポンスを無条件に1日間キャッシュする。 WWW::Mechanize のサブクラスで、便利な機能が利用できるが、キャッシュは適当。

キャッシュCache::FileCache決め打ち。

@ LWP::UserAgent::WithCache 0.03

LWP::UserAgentのサブクラス。 Expires、Last-Modified、Etag ヘッダを考慮して処理する。

キャッシュCache::FileCache決め打ち。

@ URI::Fetch 0.04

fetch サブルーチンのみを提供するシンプルなモジュール。

キャッシュは Cache 系APIのモジュールを指定する。実際には Cache::Cache 系でもOK。 Last-Modified、Etag を考慮して処理する。

前回のアクセスから一定時間はキャッシュを返すようにする機能があり、RSS や Atom フィードを取得して利用するのに便利。

@ 今回は

URI::Fetch をチョイス。 our を使っているのでそのままでは Perl 5.005_03 では動かないが、use vars に書き換えれば問題なく動く。

スポンサード リンク


[ 10月29日全て ]

2005年10月30日 (日)

はてなブックマーク上の検索結果を nDiki このエントリーを含むはてなブックマーク

5カ月ほど前はてなブックマーク上の最新ブックマークnDikiサイドバーに表示するようにしてみた。

今回は nDiki のキーワード別のページに、はてなブックマークからそのキーワードで検索されたブックマークを表示する機能を追加してみた。

取得する対象RSSが多くなり、さすがに前回みたいにローカルPCで処理して定期的にアップロードという形では無駄が多すぎるのでちゃんとサーバ上で処理するようにした。

URI::Fetch + Cache::FileCache + XML::RSS を用いて実装。 キャッシュ期間は1日に設定。キーワードページを最初にアクセスした際にははてなブックマークからのフィード取得があるので、ちょっと時間がかかるが2度目のアクセス以降キャッシュを使っている間はそれほど余計な時間はかからないはず。

自分のWeb日記とブックマークの組み合わせだと当然扱うネタが近いので、きちんと関連する情報が表示されるはずだ。 他の検索サーバのRSSフィードを利用する事も考えてはいるけど、しばらくはこれでいいかな。


[ 10月30日全て ]

2006年3月4日 (土)

さらにサーバ負荷状態悪化。対応に追われる。 このエントリーを含むはてなブックマーク

CPU パワーを消費し続けているプロセスが昨日の 5 個から、今日は 21個に増えている……。

対応するも、焼け石に水か。

@ データベースロックタイムアウト時間を短く

120秒から60秒に。

@ 生成した RSSキャッシュするようにする

生成した RSSCache::FileCache で有効期間30分でキャッシュするように変更。 あわせて Google Desktop からのアクセス拒否を解除。

@ 旬カレンダーナビゲーションをキャッシュするようにする

ページ下部にある各月上中下旬へのリンクは、どこに記事が追加されたかディレクトリをスキャンするしか知りようがないので毎回そのようにしていたのだが、これが結構重くなってきたので、これも有効期間1時間でキャッシュするように変更。

@ 高負荷時のページ更新停止機能を改善

DiKicker では新しいキーワードが追加されると、過去の記事についてもアクセスがあり次第、自動リンクし直していくようになっている。

高負荷時にはこの機能が止まるようにしてあったのだが、「キーワード記事」については止まるようになっていなかった。 また「1記事のみのページ」へのアクセスの場合も(1記事ぐらいの更新ならいいだろうということで)止まるようにしていない。

このためこれらへのアクセスあると、(必要であれば)アップデート処理が発生。 データベースの排他ロックも必要となるため、全体のレスポンス低下につながっていた。

これらも、高負荷時には止まるように修正。


[ 3月4日全て ]

Related web page

ひげぽん OSとか作っちゃうかMona- - [Perl] Cache::FileCacheでの日本語の問題【解決編】
★Mona本 発売中 / Mona Wiki / Mona Official / ScreenShot / プログラマへのおすすめ書籍
http://d.hatena.ne.jp/higepon/20050309/1109225228

■よく検索されるキーワード

torrent(173) expressions(80) 竹内まりや(58) x31(25) ドラマ(23) linux(23) 手帳(21) 壁紙(21) perl(21) windows(20) 動画(19) wiki(17) porter(17) debian(16) 使い方(16) 画像(15) thinkpad(15) 作り方(15) gmail(14) usb(14) 秋葉原(13) ヨドバシ(13) ほぼ日手帳(13) 提案書(12) 活用(12) 竹内(12) 古川小百合(12) 修理(12) ノート(11) 無印(11) ヨドバシカメラ(11) nikon(11) 書き方(10) ダイソー(10) 万年筆(10) 生年月日(10) 大井町(10) ミニ6穴(9) ほぼ日(9) tc-1(9) 冷蔵庫(9) 設定(9) ニコン(9) java(9) mp3(8) 故障(8) 方眼(8) xp(8) 日誌(8) 感想(8) カメラ(8) allinanchor:*.torrent(8) バッグ(8) firefox(7) インストール(7) キーボード(7) mixi(7) 無料(7) リフィル(7) 小林麻耶(7) nikkor(7) ジョイントラック(7) madwifi(7) 原田夏希(7) skype(6) 変更(6) 三条まゆみ(6) ペンケース(6) web(6) emacs(6) home(6) ポーター(6) 2009(6) itunes(6) a6(6) 無印良品(6) デジカメ(6) finepix(6) 無線lan(6) 評判(6)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 2.445382s / load averages: 0.21, 0.72, 0.93
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)