• 探知 浏览器并发请求个数


      起因:在工作中经常会发现浏览器请求过多,会很慢很卡,但我并不知道并发请求个数,

              于是就写个例子,探知浏览器并发请求的个数。

      思路: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

  • 相关阅读:
    Docker安装使用及私有仓库搭建
    多线程核心基础
    JDK8以上提高开发效率
    kubernetes 之Controller介绍
    kubernetes 之调度
    kubernetes 之Pod介绍
    Kubernetes YAML文件详解
    【IntelliJ Idea】RunDashboard
    【Spring Boot】启动时执行:CommandLineRunner、ApplicationRunner 和 ApplicationListener
    URLConnection
  • 原文地址:https://www.cnblogs.com/SweetMemory/p/6340919.html
Copyright © 2020-2023  润新知