私は決断を下そうとしていますが、苦労しています。いくつかの選択肢があります。
1 つのオプションは、各ユーザーに 10 秒ごとに mysql クエリを実行させることです。もう 1 つは、curl を使用して別のページから結果を取得することです。
クエリは、データベースから 80 個の値を取得しています (2 列、40 行)。
リソースにとってどちらが最悪なのかわかりません。
Memcache を使用し、リローダーとして Ajax を使用するように切り替えました。これにより、サーバーの負荷が大幅に軽減されました。
すべてのフィードバックに感謝します。
良い質問。2 つの異なるデータフローの選択肢から簡単に選択できます。
1 人から 40 人のユーザーがいるとおっしゃいましたが、ほとんどの場合、ユーザー数は最下位です。これが Web アプリなのか直接接続アプリなのかはわかりませんが、php を使用しているため、おそらく Web アプリです。
各ユーザーに 40 の短い行の結果セットをリロードし、おそらく再表示する必要があると言いました。
10 秒ごとにこれを行う必要があると言いました。
10 秒の仕様の由来については説明していません。おそらく、10 秒の更新を正当化するのに十分な頻度で、結果セット内の何かが変更されます。
各ユーザーが異なる結果セットを取得するかどうか、またはすべて同じかどうかを説明していません。しかし、実際には大きな違いはありません。
では、選択と問題は何ですか?それをやり遂げましょう。
A. 更新ごとに MySQL クエリを使用します。
B. 更新ごとに (curl を使用して) 別の Web ページを取得します。
長所 A. システムがシンプルになり、システム トラブルによる障害が発生しにくくなります。
プロ A. プログラミングとテストがはるかに簡単です。
長所 A. 本番環境での障害は、診断と修復が容易になります。
Con A. 1 分間に 40 x 40 x 6 のリクエストで MySQL データベースをヒットするのは、かなりの量に思えます。
短所 4. ただし、取得する Web ページを CURL で生成する必要があります。
短所 4. システムに大きな負荷がかかる場合、10 秒を 30 秒などに変更することで、適切に機能を低下させることができます。
短所 4. MySQL は、キャッシュされた小さなリクエストの処理が非常に高速です。
プロ B. CURL を使って読み込んでいる Web ページが既に生成されている場合は、こちらの方が速いかもしれません。
短所 8。しかし、それはまだより複雑な操作です。
Pro A. サーバーに RAM を追加することは、複雑なシステムに労力を追加するよりもはるかに安価です。
この分析 (あなたのシステムに対する私の不完全な理解に基づいています) に基づくと、MySQL は間違いなく進むべき道です。理解すれば、この分析を拡大できるかもしれません。