当前位置:   article > 正文

.net数据并发处理方案_.net并发处理

.net并发处理

一、 大数据量并发请求的几种情况

  1. 大量的用户同时对系统的不同页面进行查找、更新操作。
  2. 大量用户同时对系统的同一页面、同一表进行大数据量的查找操作。
  3. 大量用户同时对系统的同一页面、同一表进行更新操作。
    二、针对各种情况的解决方案

(一). 第一种情况一般通过配置服务端可以解决

  1. 调整IIS7的应用池的队列长度,由默认的1000改为65535

IS Manager > ApplicationPools > Advanced Settings Queue Length : 65535

  1. 调整IIS7的请求数量限制,即appConcurrentRequestLimit设置

由原来的默认5000改为100000。 c:\windows\system32\inetsrv\appcmd.exe set config
/section:serverRuntime /appConcurrentRequestLimit:100000
在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置:

  1. 调整machine.config中的processModel>requestQueueLimit的设置

由原来的默认5000改为100000,
<system.web>

  1. 修改注册表,调整IIS 7支持的同时TCPIP连接数

由原来的默认5000改为100000,reg add
HKLM\System\CurrentControlSet\Services\HTTP\Parameteris /v
MaxConnections /t REG_DWORD /d 100000

  1. 以上操作基本可以满足10万左右的同时请求。
    如果访问量高于10万以上,可以考虑负载均衡,或者使用数据库和业务系统按照功能进行分开部署,达到分担一定数据量的效果。
    (二)数据库方面的处理
    1、从获取记录直到更新行数据的这段时间,该行数据对用户不可用,锁定该行记录—保守控制,用户偶尔并发的情况。
    2、只有当实际数据更新时,该行才对用户不可用。更新将在数据库中检查该行并确定是否进行任何更改,如果试图更新已更改的记录,导致并发冲突。
    3、最后更新生效,只有当实际数据发生更新是,该行才对用户不可用,对数据进行最新改写。
    (三)大数据库的检索查找,主要是对表按查询条件建立索引、对查询语句进行优化、查询数据使用缓存。

第三类情况的处理:
也能采用第一种情况的处理方法,
另外因为是对同一个表进行更新操作,可以考虑使用下面的处理方法:

先将数据保存到缓存中,当数据达到一定的数量后,再更新到数据库中
将表按索引划分(分表,分区),如:对于一个存储全国人民信息的表,这个数据量是很大的,如果按省划分为多个表,在将全国的人民信息按省存储到相应的表中,然后根据省份对相应的并进行查询和更新,这样大并发和大数据量的问题就会减小很多

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/84240
推荐阅读
相关标签
  

闽ICP备14008679号