zoukankan      html  css  js  c++  java
  • IIS服务器如何抗住高并发的客户端访问

    今天被问到一个问题,如果你在阿里云上部署了一个IIS服务器,此时如果有成千上万的客户端来访问,你将如何设计?我东扯扯西谈谈,说加个线程池来处理,在加个请求队列。当时觉得说的没有问题,现在想想,服务器自己就有这些东西,我想面试官要的是如何在IIS中设置高并发,而不是说实现....因此总结了一下,收集了一些不错的资源。

    ps: 每个 ASP.NET 请求都要先通过 IIS,然后再由 ASP.NET 处理程序进行最终处理。 首先IIS 接收请求,初步处理后,发送给ASP.NET(必须是一个ASP.NET请求),然后由ASP.NET进行实际处理并生成响应,之后该响应通过IIS发回给客户。在IIS上,有一些工作进程负责从队列中取出请求,并执行IIS 模块,然后再将该请求发送到ASP.NET 队列。但是,ASP.NET本身不创建任何线程,也没有处理请求的线程池,而是通过使用CLR 线程池,从中获取线程来处理请求。因此,IIS 模块调用ThreadPool.QueueUserWorkItem,将请求排入队列,供CLR 工作线程处理。我们都知道,CLR线程池是由CLR管理,并且能够自动调整(也就是说,它根据需要创建和销毁进程)。这里还要记住,创建和销毁线程是项很繁重的任务,这就是为什么CLR线程池允许使用同一个线程处理多个任务.

    不过首先,我们需要分享下服务器的一般设计实现原理: 一个线程池,一个请求队列这是用来处理并发请求的,而基本的TCP套接字设计我就不说了。因此,线程池就是用来处理并发请求的,目前的主流服务器都设计的很好,我们要做的就是最大限度的发挥出来,因此,我想的是,面试官想让我回答的就是如何在IIS中设置服务器,使其发挥最大的并发能力。大概的分析完了,最后分享下自己找的资源:
    http://www.cnblogs.com/kainjie/p/6419180.html
    IIS 提高连接的并发数,和CPU的使用率。

    http://www.cnblogs.com/cyq1162/archive/2013/05/13/3074980.html
    小网站架构优化:从100并发抗到4000并发

    http://www.cnblogs.com/hgamezoom/p/3082538.html
    IIS处理并发请求时出现的问题及解决

    https://www.cnblogs.com/lazb/articles/5337340.html
    如何处理大量数据高并发大流量并发操作方案

    https://www.cnblogs.com/zengjin93/p/5569556.html
    如何提高服务器并发处理能力

    http://blog.csdn.net/dream_ll/article/details/45217691
    你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...

    https://www.cnblogs.com/abc1234/p/5829758.html
    IIS 的最大并发数

  • 相关阅读:
    从网络通信角度谈web性能优化
    JavaScript对象的深浅复制
    Ajax原理、优缺点及应用场景
    细谈sass和less中的变量及其作用域
    动态样式语言—LESS
    js中创建对象的几种方式
    Node学习笔记---初识Node
    "一不小心就火了"团队采访
    部门管理系统需求规格说明书
    java利用iTextWorker生成pdf
  • 原文地址:https://www.cnblogs.com/zhiyong-ITNote/p/7988036.html
Copyright © 2011-2022 走看看