none
asp.net网站的最大并发量非常小,是何问题? RRS feed

  • 问题

  • asp.net4.0的网站,部署在windows 2008 Server下,IIS7.5 integration 模式。

    当访问用户达到100多时就明显出现等待,观察性能计数器中发现网站的current requests达到100多,而requests in queues达到50多,而且一直在上升。

    为了确定不是程序问题,我模拟了一个aspx网页,pageload里sleep10秒,然后用测试工具模拟并发访问该网页,结果在并发量达到200多的时候也同样出现了大量等待队列。我就想知道IIS中难道支持的最大并发量就这么小吗? 不过只有aspx受影响,如果我访问网站下的静态文件是没有问题的,说明阻塞出现在.net这里。

    我已经设置了所有可以设置的参数,包括 HTTP.sys, connectionManagement/maxconnection,

    <system.web>

    <applicationPool maxConcurrentRequestsPerCPU="5000" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>

    </system.web>

    <processModel

    autoConfig="true"

    maxIoThreads="50000"

    maxWorkerThreads="50000"

    minIoThreads="500"

    minWorkerThreads="500"

    />

    等等,都不起作用。请问还有什么可能导致这个并发量的限制?


    they say nothing last forever

    2013年3月19日 20:07

全部回复

  • 可以多台服务器实现负载均衡。

    反向代理可以提高性能。


    认真的活,认真的爱!

    2013年3月21日 0:44
    版主
  • 可以多台服务器实现负载均衡。

    反向代理可以提高性能。


    认真的活,认真的爱!

    那在一个300人规模的小公司, 基于asp.net4.0开发一个高并发应用, 还得搞2台服务器做负载均衡??? 这??

    不管服务器CPU, 内存, 硬盘 多强都不管用吗?

    2013年3月21日 1:24
  • 你在哪里看到的等待队列?

    所有回复都属原创,如有不清楚的回复请追问。

    2013年3月21日 16:18
    版主
  • 我觉得100多的并发还是要检查程序。太恼火了。。。逐单元性能测试。。

    狂躁,但是有修养. 随和,但是疯癫. 肯向任何人学,但是不服任何人. 守约,但是不守时. 感情丰富,但是单纯。 ▃▃,~︶ㄣ

    2013年3月28日 1:03
  • 你在哪里看到的等待队列?

    所有回复都属原创,如有不清楚的回复请追问。

    Windows 自带的性能监视器 Performance Monitor

    they say nothing last forever

    2013年3月29日 20:05
  • 可以多台服务器实现负载均衡。

    反向代理可以提高性能。


    认真的活,认真的爱!

    负载均衡当然可以,问题是就100多人访问,单台服务器为什么承受不了?我是16核,32G内存的服务器。

    如果有条件建议你做一下测试,看看.NET网站的最大并发量是多少。

    至于反向代理,无法解决这个问题,因为通过反向代理连接到实际主机上仍然会进入等待。


    they say nothing last forever

    2013年3月29日 20:07
  • 从程序优化的角度去考虑,不要从并发来看。100来人这种低并发,一般跟服务器配置什么的关系不大。

    Willin.org

    2013年4月9日 6:16