1

3秒ごとにajaxリクエスト/レスポンスを使用するFacebookアプリを開発しました。また、メイン div にコンテンツをロードしているメニュー項目もあります。すべての ajax リクエストは common.php に送られます。非常に遅い ajax はほとんどありません。すべてのリクエストに単一のファイルを使用するとパフォーマンスが低下することを知りたいですか?

遅い ajax リクエストは次のとおりです。

function FetchMore()
{

document.getElementById("debugger").innerHTML = "Fetch more called";
    attempt++;  

      /*********proccessing ajax***********/
      document.getElementById("bldr").style.display="";
        var urlp="https://www.shopinion.net/facebook/common.php?FBUID="+fbuid+"&action=more&attempt="+attempt+"&what="+lstevt;

if(lstevt == "home" || lstevt == "rec")
{

    if(complete==false)
    {
    complete=true;

     setTimeout("Watcher()",10000);
document.getElementById("debugger").innerHTML = "Reqest send Fetch more called";
        MoreAjaxReq = $.ajax({
        async: true,
          url: urlp,
          cache: true,
          success: function(data) {

                                complete=false;


document.getElementById("debugger").innerHTML = "Data received Fetch more";
             setTimeout("getScroll()",3000);
                           document.getElementById("content").innerHTML +=data;
                                    document.getElementById("content").style.opacity="1";
                                    Tip();
                                      $('a[rel*=facebox]').facebox({
                    loadingImage : 'facebox/loading.gif',
                    closeImage   : 'facebox/closelabel.png'
                  })

                                     var handler = null;

                                    // Prepare layout options.
                                    var options = {
                                      autoResize: true, // This will auto-update the layout when the browser window is resized.
                                      container: $('#content'), // Optional, used for some extra CSS styling
                                      offset: 6, // Optional, the distance between grid items
                                      itemWidth: 210 // Optional, the width of a grid item
                                    };
                                    $(document).bind('scroll', onScroll);

                                  // Call the layout function.

                                  handler = $('#tiles li');
                                  handler.wookmark(options);


      $('a[rel*=facebox]').facebox({
        loadingImage : 'facebox/loading.gif',
        closeImage   : 'facebox/closelabel.png'
      })


 document.getElementById("bldr").style.display="none";


                    //FB.Canvas.scrollTo(0,400);


setTimeout("Trick87()",3000);




          }
        });

    }

// 応答時間を改善する方法を教えてください。ありがとうございます。

4

1 に答える 1

0

ああ、パフォーマンスを向上させる方法はたくさんあります。いくつか挙げてみます

  • サーバー側でデータをキャッシュする
  • 応答の内容を最小限に抑える
  • 最初のリクエストがまだ成功していない場合は、それ以上データをフェッチする必要はないかもしれません。
  • データベース呼び出しをできるだけ少なくする
于 2012-07-04T21:34:23.167 に答える