0

私は現在、5分ごとにページをリロードしています(その単語をもっと好む場合は更新しています)が、これは私にとってかなり長い時間です。以下のコードを含むページのリロードがサーバーにどの程度影響するかはわかりません。知りたいのはそれだけです。間隔時間を5分から1秒に変更した場合、サーバーでどのくらいの時間がかかりますか?サーバーの速度が低下しますか?私のウェブサイトには30分あたり5人以上の訪問者がいますが、更新後はさらに多くなります。

$(document).ready(function() {


    setInterval(function() {
        $('#loading-page').show().html('<img src="images/animation-loading.gif" alt="" title="Reloading the page">');

        $.ajax({
            url: 'get/statistics',
            type: 'GET',

            success: function(s) {
                $("#load-statistics").html(s);
            },


            error: function() {
                $('#loading-page').show().html('<img src="images/exclamation-red.png" alt="" title="Couldn't reload page. Trying again soon">');
            }
        });
    }, 300e3);


});

前もって感謝します。

4

5 に答える 5

2

簡単な答えは「5分=300秒」なので、間隔を1秒に減らすと、サーバーに300倍の負荷がかかります。

ネットワークなどでブラウザの制限や遅延が発生する可能性があるため、それよりも少し少なくなりますが、とにかくかなりの量になります。そして、ユーザーとユーザーが生成するトラフィックについて考えてみてください。

1秒は極端すぎて、ほとんど必要ありません。動的効果を作成するために、(一部のカウンターが行うように)それを偽造することもできます。

于 2012-11-30T08:02:02.407 に答える
2

自分でテストできます。これを試して:

var start = new Date().getTime();

$.ajax({
    url: 'get/statistics',
    type: 'GET',

    success: function(s) {

        var end = new Date().getTime();
        console.log('milliseconds passed', end - start);

        $("#load-statistics").html(s);
    }

});​

処理時間についてはコンソールを確認してください。次に、コンソールで取得するサンプル時間の平均に基づいて、インターバル時間を変更できます。

于 2012-11-30T08:06:45.523 に答える
1

サーバー側で何が起こるかに依存する可能性が非常に高いです。サーバーサイドサービスを開発した開発者と話せませんか?また、このサービスを呼び出す同時ブラウザの数にも依存します。多くのサービスは同時に何百万回も応答するように設計されていますが、通常は何回の呼び出しが可能で、どのくらいの頻度でサービスのドキュメントに書き込まれます。

サーバーの応答時間とサーバーの負荷(測定できる場合)に応じて、秒数または分数の頻度を変更する、経験的なアプローチがあなたの方法である可能性があると思います。応答が受信されたときに呼び出しが開始されてからJavaScriptが費やした時間を測定することもできます。

于 2012-11-30T08:02:47.767 に答える
1

その数、つまり30分あたり5人の訪問者の場合、各更新がサーバーをダウンさせるようなクレイジーで集中的な長時間の操作ではないと仮定すると、ページの更新を処理するサーバーに「困難」はないはずです。 。変更されていないリソースを再生成するのではなく、変更されたリソースのみを取得することでパフォーマンスをさらに向上させることができるさまざまなキャッシュまたはキャッシュメカニズムもあります。負荷が増加した場合、つまりx期間あたりのユーザー数が増えた場合は、アプリケーションやサーバーの調整に投資できます。監視ツールを使用した検査が開始になる可能性があります。

于 2012-11-30T08:03:35.677 に答える
1

これは、ページが実行するアクションに大きく依存します。

また、前述のように、特に統計の種類のページの場合、1秒は極端すぎる可能性があります。同時に、5分は遅すぎて役に立たない可能性があります。もちろん、これはWebサイトのコンテンツ/性質によって異なります。

サーバーの負荷は、リクエストの頻度と同時ユーザーの数によって異なります。

ここで指摘したいのは、この種のシナリオでは、サーバー側の「キャッシュ」を使用してサーバーの負荷を大幅に減らすことができるということです。ページの名前から判断すると、統計はサーバーキャッシングの理想的な候補です。それらは100%正確である必要はなく、一度生成されると、次の2分間(たとえば)ほど有効になる可能性があるためです。

したがって、統計応答をキャッシュすると、後続のすべてのリクエストにチャッキングされたコンテンツが与えられ、サーバーの負荷が軽減されます。また、適切なインフラストラクチャを使用すると、サーバーにリクエストが届かない場合があります(例:特定のネットワークスイッチはコンテンツをキャッシュして返すことができます)。

サーバー側のテクノロジーに応じて、適切なキャッシュメカニズムを見つける必要があります。

于 2012-11-30T08:12:39.303 に答える