1

私が運営しているソーシャル ネットワーキング サイトは、勢いを増し始めており、ユーザー ベースが拡大しています。現在、ユーザーはブログ、flickr、および twitter フィードをインポートできます。PHP ライブラリ simplepie を使用してフィードを読み取り、DB をチェックして、見つかったフィード項目ごとに重複するエントリがないことを確認します。フィード アイテムが新しい場合は、DB に保存します。フィード アップデーターはそれぞれ独自の cron で実行されます。そのため、Twitter フィード用に 1 つ、flickr 用に 1 つ、ブログ用に 1 つ用意しています。

サイトの動作が遅くなることに気付きました。これは、cron タスクが実行されているときに発生する可能性が最も高いです。これを行うためのより良い方法があるはずです。何かご意見は?

4

2 に答える 2

2

一般的な考え方は問題ありません。私はそれを変更しません。

cron タスクがパフォーマンスの問題を引き起こしていることが確実な場合は、それらを別のサーバーで実行します。フロントエンド Web サーバーとは別に、この種のジョブを実行する「バッチ サーバー」を用意することは、非常に一般的なソリューションです。

しかし、問題が何であるかを完全に理解することなく、パフォーマンスを改善するための変更に着手することはありません. 私が知っている限りでは、データベース スキーマはひどく非効率的である可能性があります。

于 2009-10-13T15:30:16.400 に答える
1

Ben James は良い点を指摘しています。cron が原因であることを 100% 確認する必要があります。すでに持っているものを最適化できなくなるまでは、まだ新しいサーバーを取得することに飛びつくことはありません。

どのタイプのだるさを経験しますか?

  1. ネットワーク遅延?
  2. データベースの遅延?
  3. 一般的なページ読み込みの応答性が低い (フロント エンド コード?)
  4. すべての?等;

すべての変数を取得したら、分析を行い、最適化する場所を把握します。

于 2009-10-13T19:40:24.103 に答える