中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> .NET编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
· [图文] ASPX页Web服务调用性...
· ASPX中的用户控件与...
· ASPX页Web服务调用性...
· ASPX页Web服务调用性...
· [图文] ASPX页Web服务调用性...
· 在ASP.NET Atlas中调...
· aspx页面中标题单点...
· ASPX接收WINDOWS应用...
· aspx网页以HTML形式...
· 如何在aspx中得到在...
ASPX页Web服务调用性能优化(1)
作者:不详  来源:不详  发布时间:2006-8-14 8:39:30  发布人:chinazhan

 减小字体 增大字体

     摘要:本文介绍了如何通过异步方法消除使用 Microsoft ASP.NET 的 Web 服务调用的性能问题和线程池资源的消耗问题。
  
    情况:从 ASP.NET 页面调用 Web 服务时的性能破坏
  
    我们在本文中讨论 Web 服务时,期望在各种情况下都可以享用 Web 服务。一个主要的情况是从中间层环境(如 ASP.NET Web 页面)访问 Web 服务。为 MapPoint .NET Web 服务的用户提供支持的人员经常收到这样的问题,即用户在使用其 Web 服务时,对 MapPoint .NET 的调用可能需要相当长的时间。这本身并不是什么问题,但某些其他因素可以使之成为比表面上要严重得多的大问题。
  
    HTTP 双连接限制
  
    HTTP 规范表明,一个 HTTP 客户端与任一服务器最多可以同时建立两个 TCP 连接。这可以防止单个浏览器在浏览某个页面(例如,具有 120 个嵌入的缩略图)时,由于连接请求过多而使服务器负载过重。此时,浏览器将仅创建 2 个连接,然后通过这两个管道开始发送 120 个 HTTP 请求,而不是创建 120 个 TCP 连接并通过每个连接来发送 HTTP 请求。对于中间层,此方法的问题在于,中间层可能会有 50 个同时请求连接的用户。如果不得不为每个用户进行一次 MapPoint .NET Web 服务调用,将会有 48 个用户等待两个管道中的一个空闲下来。
  
    线程池限制
  
    ASP.NET 处理传入的请求的方式是通过一个称为进程线程池的一组线程为其提供服务。正常情况下,请求传入后,池中某个空闲的线程将为其提供服务。这里的问题在于,进程线程池不会创建无数个线程来处理大量的请求。具有最大线程数限制是一件好事,因为如果我们无限地创建线程,计算机上的全部资源将只能用来管理这些线程了。通过限制所能创建的线程数,我们可以把线程管理的系统开销保持在一个可控的水平。如果某个请求传入时线程池中的所有线程都被占用,则该请求将排队等候,在忙线程完成任务后,空闲出来的线程才能处理新请求。此方法实际上比切换到某个新线程更有效,因为不需要在请求之间进行线程切换。但存在的问题是,如果线程的使用效率不高(尤其是在非常忙的 Web 服务器上),则等候的请求队列会变得很大。
  
    考虑一下从 ASP.NET 页面进行 Web 服务调用的情况。如果进行同步调用,则正在运行的线程将被阻塞,直到 Web 服务调用完成为止。在调用期间,线程无法进行任何其他活动。它无法处理其他请求,只能等待。如果某个单处理器计算机上具有默认的工作线程数 20,则只需 20 个同时进行的请求即可用完全部线程,以后的请求必须排队等候。
  
    该问题不仅限于 Web 服务
  
    不仅调用 Web 服务的用户会遇到从 Web 页面进行调用时的拥堵且耗时较长的问题。进行任意数量的较长的调用都会遇到同样的问题,例如:SQL Server? 请求、长文件的读取或写入、各种 Web 请求或访问某个并发资源(其中锁定会造成严重的延迟)。实际上,有许多使用 Web 服务的情况,其服务调用比较迅速,并不是什么问题。但您或许会理解,如果您想通过代理服务器调用 MapPoint .NET Web 服务,所使用的连接具有一定的延迟,同时相应的服务可能又要花费一些时间来处理请求,则您可能在各处位置都看到延迟的情况,并且如果站点很忙,便可能出现问题。
  
    改善问题
   
    该问题的某些方面可以通过对环境进行某些配置设置来改善。我们看一下可用于改善该问题的某些配置设置。
  
    maxconnections
  
    连接到 Web 资源的默认双连接限制可以通过一个名为 connectionManagement 的配置元素来控制。connectionManagement 设置允许您添加要让其采用非默认连接限制的站点的名称。可以将以下内容添加到典型的 Web.config 文件中,将您连接的所有服务器的连接限制默认值增加到 40。
  
  <configuration>
  <system.net>
  <connectionManagement>
  <add address="*" maxconnection="40" />
  </connectionManagement>
  </system.net>
  
  <system.web>
  ...
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .