系统并发访问效率问题

来源:互联网 发布:二维向量旋转矩阵 编辑:程序博客网 时间:2024/05/20 00:16

当大量“客户”同时访问一个“服务器”时,“服务器”面临的是大并发访问的技术和架构问题。大并发访问的等级可以分为“超出连接”、“超出时限”和“超出应用负载”三种。

 

2.1超出连接

当客户的连接超出数据库的连接数或并发处理能力,当时没有超出服务器的瞬间处理能力,可以采用“访问队列”进行排队。提高用户体验。

比如,数据库的并行处理是10访问请求,“瞬间处理能力”为2秒中内处理1000个请求。当最大并发客户访问请求是1000个,如果不加队列,将有1000-10=990个客户请求失败。如果应用“访问队列”,在不到2秒的瞬间,数据库处理完毕这1000个访问请求。全部客户体验良好。

所以,当并发量超出并发处理能力,而在瞬间处理范围内时,“访问队列服务”是有效的方法。

 

2.2超出时限

同样是并行处理能力是10个访问,2秒可以处理1000个请求,当最大并发客户访问请求是10000个时,会出现等待10秒到20秒的请求。设客户端可以容许的超时为4秒。则需要新的手段提高服务器的瞬间处理能力。

由于数据库系统的并行处理能力比较低,相同的运算在数据库系统中比在操作系统中要慢。所以将可以分离出的运算程序由数据库移出,在“访问队列服务”层执行,将会大大提供整个服务器的处理能力。

承担了访问队列管理和一部分业务运算功能的中间服务,称为“应用服务”。

 

2.3超出应用负载

如果承担了大量的业务运算功能的“应用服务”的处理能力成为系统效率的瓶颈,即队列压力超出“应用服务”的处理能力,则需要将“应用服务”进行扩展。

扩展的方法是在不同的设备上同时启动应用服务,形成一个“应用服务群”,多个服务分担业务处理请求,并保证每个“应用服务”有充足的系统资源。
原创粉丝点击