[发明专利]一种访问系统资源的线程数量的控制方法及装置无效
申请号: | 201110118233.8 | 申请日: | 2011-05-09 |
公开(公告)号: | CN102779062A | 公开(公告)日: | 2012-11-14 |
发明(设计)人: | 蒋江伟;吴泽明 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 访问 系统资源 线程 数量 控制 方法 装置 | ||
技术领域
本申请涉及计算机技术领域,尤其涉及一种访问系统资源的线程数量的控制方法及装置。
背景技术
在计算机系统中,会使用各种系统资源进行任务处理,当有任务需要处理时,系统会收到访问指定系统资源的请求,系统对应该请求建立线程,然后利用所建立的线程对该请求进行处理。其中,系统资源为完成系统服务所需要的资源,包括本地资源和远程资源,本地资源如CPU资源、内存资源等,远程资源一般为这个服务需要通过远程调用获取的资源,如搜索系统中的前台系统所依赖的搜索引擎资源,查询数据库服务器所依赖的数据库资源等。
目前,在单线程系统中,当系统资源的使用程度没有达到资源本身瓶颈的时候,即当前可用系统资源比较充足时,对访问指定系统资源的请求进行处理的响应时间一般是一个固定值,该响应时间为处理一个完整请求所消耗的时间。如某业务处理过程中需要查询数据库,从发送SQL调用数据库开始到数据返回,这个过程数据库所花费的时间就是这个业务的数据库查询的响应时间。例如,在单CPU计算机系统中,建立一个线程使用CPU资源对一个计算任务请求进行处理,如图1所示,该处理过程共计包括n个处理环节,这n个处理环节所用的时间之和,即是对该计算任务请求进行处理的响应时间T;而对于支持多线程的系统,例如,同样是在单CPU计算机系统中,建立两个线程使用CPU资源分别对与图1中相同的两个该计算任务请求进行处理,如图2所示,由于CPU资源在同一时间里只能被一个线程占用,所以当其中一个线程在对与该线程对应的计算任务请求进行处理时,另外一个线程则是处于等待状态,即两个线程无法实现同时对各自对应的计算任务请求进行处理,所以,对与每条线程对应的计算任务请求进行处理的响应时间不再是一个固定值T,而是大于该固定值T,假如图2所示的两个线程对应的响应时间分别为T1和T2,则一般来讲T1与T2的和大约为4倍的T。
虽然相比单线程系统,支持多线程的系统对相同的访问系统资源的请求进行处理的响应时间较长,但采用多线程系统能够实现对多个请求的并行处理,以提高系统资源的利用率,从而从整体上提高了系统的性能。如图3所示为系统每秒钟处理的请求数量QPS(query-per-second)与线程数量之间的函数关系图,从中可见,在初始阶段,当线程数量较少时,QPS值也较少,随着线程数量的增加QPS值也增加,但当线程数量增加到某个值时,QPS值达到峰值,接下来则随着线程数量的增加QPS值反而减少。这是由于建立线程本身也需要使用系统资源,所以当建立的线程数量过多而占用大量的系统资源时,则导致对线程所对应的请求进行处理的系统资源严重不足,从而严重影响了对请求进行处理的效率,使得QPS值反而减少,较严重时会使得系统因资源消耗过多而导致系统不稳定。
因此,在现有技术中一般会预先设置一个最大线程数量阈值,并控制当前已建立的线程数量不大于所预先设置的该最大线程数量阈值,以避免出现系统不稳定的问题。
然而,对于该最大线程数量阈值的设置,一般是根据经验值,且并不容易配置一个适合当前系统的较佳值,并且目前考虑到对系统资源的最大程度的利用率,一般都会配置一个比较大的值,这时仍然会由于当前已建立线程数量过多而导致系统不稳定,并且当系统的硬件配置发生变法,则系统资源也会发生变化,此时也无法合理的调整该最大线程数量阈值的设置,进而会影响系统的资源利用率或降低系统的稳定性。
发明内容
有鉴于此,本申请实施例提供一种访问系统资源的线程数量的控制方法及装置,用于通过确定更合理的最大线程数量阈值,以在保证系统的高资源利用率的情况下,提高系统的性能和稳定性。
本申请实施例通过如下技术方案实现:
根据本申请实施例的一个方面,提供了一种访问系统资源的线程数量的控制方法,包括:
确定对访问系统资源的请求进行处理的响应时间;
比较所述响应时间与预设时间阈值,根据比较结果,调整设定的最大线程数量阈值,所述线程为针对访问系统资源的请求所建立的线程。
根据本申请实施例的另一个方面,还提供了一种访问系统资源的线程数量的控制装置,包括:
确定单元,用于确定对访问系统资源的请求进行处理的响应时间;
第一处理单元,用于比较所述响应时间与预设时间阈值,根据比较结果,调整设定的最大线程数量阈值,所述线程为针对访问系统资源的请求所建立的线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110118233.8/2.html,转载请声明来源钻瓜专利网。