【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种分布式存储系统的负载监控方法及设备。
技术介绍
分布式存储系统是一种使用集群提供存储服务的分布式系统,用户使用键码(Key)作为索引对相应的键值(Value)进行读写等操作。对于一个键码(Key),用户可以对其进行写入键值(Value)、读取对应的键值(Value)或者删除对应的键值(Value)等不同类型的操作,每个操作称为一个请求。分布式存储系统中的线程池是一种拥有一定数目线程的服务单元,请求先加入线程池的队列中进行等待,线程池中的线程会在空闲的时候依次从队列中取出请求进行处理。分区(Partition)是分布式存储系统调度的基本单元,键码(Key)通过分区(Partition)的开始键码(BeginKey)和结束键码(EndKey)来唯一的确定隶属的分区(Partition),不同的分区(Partition)之间不存在重叠。分布式存储系统中的服务器(Server)是提供服务的基本单元,每个服务器(Server)上拥有若干个分区(Partition),不同键码(Key)的请求根据所属的分区(Partition)的不同从而被不同的服务器(Server)所处理,服务器(Server)内部使用线程池作为实际处理单元来处理不同的请求。用户的键码(Key)是分成分区(Partition)然后按照顺序存储在分布式文件系统中,由于单个分区只能隶属于一台服务器(Server),因此,单个分区范围内的用户请求增多的时候,会导致服务器的负载增大,用户的延时(Latency)增高等,而且还会对这台服务器上的其他分区造成影响。因此,为了保证 ...
【技术保护点】
一种分布式存储系统的负载监控方法,其中,该方法包括:确定分布式存储系统中每台服务器上所有负载压力超标的线程池;对每个负载压力超标的线程池进行报警或负载均衡。
【技术特征摘要】
1.一种分布式存储系统的负载监控方法,其中,该方法包括:确定分布式存储系统中每台服务器上所有负载压力超标的线程池;对每个负载压力超标的线程池进行报警或负载均衡。2.如权利要求1所述的方法,其中,确定分布式存储系统中每台服务器上所有负载压力超标的线程池,包括:获取每台服务器上的每个线程池的队列中一个请求的等待时间与逗留时间的比值,所述逗留时间为每个线程池的队列中一个请求的等待时间与实际处理时间之和;当所述等待时间与逗留时间的比值超过预设超标阈值时,确定该请求所在的服务器上的线程池的负载压力超标。3.如权利要求2所述的方法,其中,所述预设超标阈值根据线程池的请求到达率的预设阈值确定,其中,所述线程池的请求到达率为请求到达线程池的队列的速率与该线程池的单位时间的服务能力的比值,当线程池的请求到达率超过线程池的请求到达率的预设阈值时,对应的等待时间与逗留时间的比值开始急剧上升,所述预设超标阈值超过所述开始急剧上升时等待时间与逗留时间的比值。4.如权利要求1至3任一项所述的方法,其中,对每个负载压力超标的线程池进行负载均衡,包括:将经过每个负载压力超标的线程池的请求按照分区进行统计,统计出该线程池中隶属于不同分区的请求的个数,并将分区按请求的个数降序排列;判断请求个数最多的分区的请求数量是否超过该线程池的所有分区的请
\t求的总数的一半,若是,对该请求个数最多的分区进行分裂操作。5.如权利要求4所述的方法,其中,对该请求个数最多的分区进行分裂操作,包括:将该分区分成若干个子分区,将子分区分散到其它服务器上,其中,每个子分区对应该分区的键码范围内的一个子键码范围,每个子分区隶属的请求个数基本相等。6.如权利要求4所述的方法,其中,判断请求个数最多的分区的请求数量是否超过该线程池的所有分区的请求的总数的一半之后,还包括:若否,在所述降序排列的分区中从第一分区开始依次选择一个或多个分区,直至未选择的剩余的分区所隶属的请求的总数小于该线程池的所有分区的请求的总数的一半;对选择的分区进行迁移操作。7.如权利要求6所述的方法,其中,将选择的分区进行迁移操作,包括:将每个选择的分区迁移到没有负载压力超标的线程池的服务器上。8.如权利要求7所述的方法,其中,将每个选择的分区迁移到没有负载压力超标的线程池的服务器上,包括:查找符合条件的没有负载压力超标的线程池的服务器,若查找到,将该选择的分区迁移到该查找到的服务器上。9.如权利要求8所述的方法,其中,所述符合条件的没有负载压力超标的线程池的服务器包括:若将某个选择的分区迁移到某个没有负载压力超标的线程池的服务器的对应线程池上后,当该迁移到的目标服务器的每个对应线程池的线程平均使用率均没有超过预设使用率阈值,则该服务器为符合条件的没有负载压力超标的线程池的服务器。10.如权利要求9所述的方法,其中,每个线程池的线程平均使用率通过如下公式(λ1+λ)*B/n获取,其中,λ1表示在迁移前服务器上的某个线程池中的请求到达线程池的队列的速率;λ表示待迁移到的目标服务器在迁移前其上的某个对应线程池中的请求到达线程池的队列的速率;B表示待迁移到的目标服务器的某个对应线程池中的每个线程对一个请求的实际处理时间;n表示待迁移到的目标服务器的某个对应线程池中的线程个数...
【专利技术属性】
技术研发人员:张潇雨,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。