探知 瀏覽器並發請求個數


  起因:在工作中經常會發現瀏覽器請求過多,會很慢很卡,但我並不知道並發請求個數,

          於是就寫個例子,探知瀏覽器並發請求的個數。

  思路:1.新建網站。

          2.添加兩個按鈕,分別添加點擊事件,請求不同接口。

          3.服務端添加內容,打印當前時間的日志,並使進程sleep 10秒。

          4.分別點擊按鈕,查看日志時間連續記錄有幾條,即為並發請求個數,間隔時間長的打印,即為下次排隊執行的請求。

 html部分:

  添加兩個

<body>
    <input id="Button1" type="button" value="button" onclick="f_click()" />
    <input id="Button2" type="button" value="button" onclick="f_click2()" />
</body>

Javascript部分:

<script type="text/javascript">
    //第一個請求方法
    function f_click()
    {
        $.ajax({
            type: 'post',
            url: 'Handler.ashx',
            success: function (result) {
                alert('1');
            }
        });
    }
    //第二個按鈕請求方法
    function f_click2() {
        $.ajax({
            type: 'post',
            url: 'Handler2.ashx',
            success: function (result) {
                alert('2');
            }
        });
    }
</script>

 服務端代碼:

public class Handler : IHttpHandler 
{
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    public void ProcessRequest (HttpContext context)
    {
        
        context.Response.ContentType = "text/plain";
        log.Debug("接口1   " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
        System.Threading.Thread.Sleep(10000);
    }
    public bool IsReusable {
        get {
            return false;
        }
    }
}

測試步驟:

同一瀏覽器下:

1.在同一域名下,同一頁面,點擊兩個按鈕,調用不同接口,查看日志。

2.在同一域名,不同頁面,調用同一接口,查看日志。

3.在不同域名,分別調用不同接口,

(本次試驗chrome4 )

發現,每6個請求打印的時間是連續的。同理舉例,控制變量,測試瀏覽器並發請求個數。

結論:

瀏覽器的並發請求數目限制是針對同一域名的。即一時間針對同一域名下的請求有一定數量限制。超過限制數目的請求會被阻塞。

附下圖(圖片來之知乎):

版權聲明:本文為博主原創文章,轉載請注明出處。http://www.cnblogs.com/SweetMemory/p/6340919.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM