• ベストアンサー

RSSの表示速度に不満。

WEB上でRSSを取得できて表示が可能なのですが、 その表示速度に不満があります。 はっきりいって遅い! perlでもPHPでもやはり表示速度には 問題があるのでしょうか? 当方が利用しているRSSのリーダーのモジュールは以下、 XML::RSS です。これって解析に時間がかかるモジュールなんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#43437
noname#43437
回答No.3

とりあえず・・・ XML関係モジュールは巨大で、コンパイルが重すぎるので、 CGIで使うのはあきらめた方がよいですね。。 mod_perlのような、インタープリタ常駐環境なら、 このへん大丈夫だと思うのですが・・・ 一旦パースしたデータは、Storableを使うと、 データ構造そのまま簡単に保存したり、 読み直したりができます。 なぜかあまり使われないモジュールなのですが・・・私は 結構気に入ってます(^^

ouka666
質問者

補足

お返事ありがとぅー! ちょっとわかんない点があるのですが Storableモジュールを使うとデータ構造をそのまま 保存できるのはわかるんですが、 えっと、仮にStorableで保存したデータから 特定のキーでハッシュもしくは、配列等の処理ができるなら OKだと思います。 保存する際に、もーデータを加工しちゃって簡易データベース化しちゃうってことでしょうか? たしかにそうすればできなくないですね。 それも、ちょっとためします^_^ ホント、度々お返事ありがとうございます^^

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#43437
noname#43437
回答No.2

ANo.1さんのおっしゃるとおり、 サーバー側からのRSS取得にかかる時間もありますが・・・ もう一つのポイントとして・・・ XML関係のモジュールが激重なのです。 Perlインタープリタがモジュールをロードするだけで(CPUや実行環境にもよりますが)数秒かかることがあります。重たいレンタルサーバーなんかでは使いたくないモジュール、ですね。

ouka666
質問者

補足

お返事ありがとう! XML関係のモジュールが重いっていうことは、 他のモジュール(XML関係)を選択しても やっぱり重くなるってことですよね;; RSS取得にかんしては LWP::Simpleモジュールをつかって サイズからはんだんして更新していれば 一度ファイルとして保存する形をとってます。 そんで、そのファイルに対、XML::RSSモジュールで対象ファイルを解析する方法をとってるのですが、 一時的に、たとえば、取得したRSSのデータをキャッシュ上で持っておく方法とかってできるんでしょうか? 結局、中身的には、あまりたいしたことをしてはいないのですが、 複数のサイトのRSSを読み取り、それを更新順に並べ替え、 ページ判断を取り付けページ移動できるようにしてるのです。 その、実際に表示を行う際の時間がどーにもみじかくならないんです;; あるてーどやってはいるのですが、ぅーーん いまいちです;;

すると、全ての回答が全文表示されます。
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

本当に解析で時間をとっているのでしょうか? 他のサイトからRSSを取得して解析しているのだとしたら、他サイトからのRSSファイルの取得に時間がかかっているのではないでしょうか? 他サイトからの取得には相手サーバとの通信を行いますから相手からの返事があるまでは待たなくてはいけない。相手サーバや通信経路が混んでいればそれだけ待たされます。(テキストファイルの解析とは桁違いの時間が必要になる。) 適当な時間が経つまではキャッシュを利用するとか、 ヘッダだけリクエストして更新時刻を見るとか(ヘッダだけでもそれなりに時間はかかる事も多いからあまり改善は期待できないかも) 工夫しだいでパフォーマンスの改善の余地はあるかも。 そんな事は充分承知で純粋にXML::RSSが遅いと感じているのでしたら駄レス失礼!

ouka666
質問者

補足

お返事ありがとう! 検証した結果、やっぱり読み込みではなく 解析部分で遅くなっているようです;; ヘッダだけリクエストする方法もいいかもしれませんね^_^ ちょっと挑戦してみます。^_^

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • 宝くじのスクラッチを買う場所によって当選確率は変わらないので、どこの売り場で購入しても同じ確率で当たる可能性があります。
  • 宝くじのスクラッチは、販売されている場所によって当選確率が異なるということはありません。ですので、好きな売り場で購入しても当選確率は同じです。
  • 宝くじのスクラッチを買う場所によって当選確率は変わらず、どこの売り場で購入しても公平な確率で当たる可能性があります。なので、お気に入りの店舗で購入することが大切です。
回答を見る

専門家に質問してみよう