よりタイムリーに情報をお届けできるようになりました

いつも Feedeen のご利用ありがとうございます。

年初に投稿した記事にて、フィードリーダーとしての基本的なスペックの向上を目指すことを告知させていただきました。その成果の第一弾として、完全に書き直した新しいクローラ(フィードの更新情報を収集するプログラム)をリリースしましたので、その主な改善点をご紹介させていただきます。


クローラの抜本的な改善を実施しました


Feedeen の従来のクローラでは、まず登録フィードをすべて巡回して更新データを集めて、それが完全に終わった後に各ユーザーへの配信処理を行うという順次的な方法を採用していました。この方法は、巡回時はフィード単位、配信時はユーザー単位と、それぞれに適した処理単位を採用できるために効率は良いのですが、すべてのフィードを巡回し終えるまでユーザーへの配信が始まらず、更新の反映が遅れる主な要因となっていました。

従来のクローラの処理概要

新しいクローラでは、アルゴリズムやデータ構造の工夫で配信処理もフィード単位に改め、ひとつのフィードの取得完了後すぐに配信処理を行うようにしました。これにより、フィードを取得してから表示反映までが数分程度と、遅延の大幅な改善に成功しました。

新しいクローラの処理概要

また、取得処理についてもドメインごとのきめ細かい帯域制御を行い、アクセス集中による取得エラーを大幅に抑えました。結果的に多くのフィードで更新頻度も改善され、後述するような頻度低下要因がなければ、20〜30分間隔で更新するようになっております。


はてなブックマークの優先クロールについて


ドメイン単位の帯域制御によるもうひとつの成果として、実験的にはてなブックマーク人気エントリの更新頻度を2倍(10〜15分間隔)に設定しました。具体的には、以下の URL が高頻度で更新されます(クエリーパラメータの順番は問いません)。

  • http://b.hatena.ne.jp/hotentry.rss
  • http://b.hatena.ne.jp/entrylist?sort=hot&mode=rss&threshold=3
  • http://b.hatena.ne.jp/entrylist?sort=hot&mode=rss&threshold=5

今回は実験のためはてなブックマーク決め打ちですが、将来的にはユーザーが優先フィードを指定できる方向で検討しております。ネットワークの負荷状態などを確認しつつ対象を拡大していく予定ですので、ご期待ください。


更新頻度が低下する条件について


できる限り多くのフィードが安定して更新されるよう最善を尽くしておりますが、それでも更新頻度を落とさざるをえないケースが存在します。例えば取得エラーが頻繁に発生するフィードや、配信元でアクセス頻度を落とすように設定されている場合などは通常よりも更新頻度が低くなります。

また、今回ドメインごとの帯域制御を導入したことで、同一ドメインで多数のフィードが登録されている場合も更新間隔が長くなります。現状のデータで30分間隔を維持できないと予想されるフィードは以下のとおりです。

  • auctions.search.yahoo.co.jp
  • ord.yahoo.co.jp
  • www.nicovideo.jp
  • www.kuroneko-square.net
  • d.hatena.ne.jp
  • rssblog.ameba.jp
  • ic.edge.jp
  • feeds.feedburner.com
  • blog.livedoor.jp
  • ch.nicovideo.jp

とくに Yahoo! オークションのフィード(上の2つ)は突出して登録数が多い上に配信元の帯域制限が厳しく、計算では1日に2〜3回程度しか巡回できません。引き続き更新頻度を上げる努力を続けますが、もしこれらのドメインで不要なフィードを購読されているようでしたら、登録解除をご検討ください。登録フィード数が減れば、その分だけ自動的に更新頻度が上がります。

なお、上記は今回のアップデートで従来よりも大幅に更新頻度が落ちたという意味ではありません。上記ドメインについては従来も取得エラーが多く出ており、結果的にほぼ同程度の更新頻度になっていたものと考えられます。ご理解いただければ幸いです。


今回の更新内容は以上ですが、今後も継続して抜本的なシステム改善を実施していく予定です。現状の欠点を解消し、実用性の高いフィードリーダーを目指しておりますので、今後とも Feedeen をよろしくお願いいたします。



コメント

このブログの人気の投稿

HTMLからフィードを生成する機能の精度向上にご協力ください

Yahoo! オークションの更新頻度調整について

Firefox Quantum対応の拡張機能を公開しました。