CN106302594B - 一种确定进程负载情况的方法和装置 - Google Patents

一种确定进程负载情况的方法和装置 Download PDF

Info

Publication number
CN106302594B
CN106302594B CN201510290041.3A CN201510290041A CN106302594B CN 106302594 B CN106302594 B CN 106302594B CN 201510290041 A CN201510290041 A CN 201510290041A CN 106302594 B CN106302594 B CN 106302594B
Authority
CN
China
Prior art keywords
request message
time
ratio
message set
thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510290041.3A
Other languages
English (en)
Other versions
CN106302594A (zh
Inventor
邱吉雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201510290041.3A priority Critical patent/CN106302594B/zh
Publication of CN106302594A publication Critical patent/CN106302594A/zh
Application granted granted Critical
Publication of CN106302594B publication Critical patent/CN106302594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Massaging Devices (AREA)

Abstract

本发明公开了一种确定进程负载情况的方法和装置,属于互联网技术领域。方法包括:获取服务器处理第一请求消息集合所需的第一时间,所述第一请求消息集合包括至少一个请求消息;获取所述服务器包括的进程当前处理第二请求消息集合所需的第二时间,所述第一请求消息集合包含所述第二请求消息集合;根据所述第一时间和所述第二时间,确定所述进程的负载情况。装置包括:第一获取模块,第二获取模块和第一确定模块;本发明将服务器资源量化为处理时间,根据第一时间和第二时间确定该进程的负载情况,从而提高了确定进程负载情况的准确性。

Description

一种确定进程负载情况的方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种确定进程负载情况的方法和装置。
背景技术
在互联网系统中,当终端访问服务器时,终端发送请求消息给服务器;服务器将终端发送的这些请求消息组成第一请求消息集合;服务器包括多个进程,服务器将第一请求消息集合分为至少一个第二请求消息集合,将每个第二请求消息集合分配给服务器包括的一个进程,该进程将该第二请求消息集合包括的请求消息分配给其包括的线程,由其包括的线程通过服务器资源对第二请求消息集合包括的请求消息进行处理;其中,该服务器资源可以为CPU(Central Processing Unit,中央处理器)、内存或者硬盘等。
当该进程处理完第二请求消息集合包括的请求消息之后,为了提高该进程下一次处理请求消息的效率,需要确定该进程的负载情况,如果该进程的负载情况为负载过大,则服务器需要增加该进程包括的线程数目,从而提高该进程下一次处理请求消息的效率。目前确定进程负载情况的方法,可以为:获取进程处理请求消息的CPU占用率,如果CPU占用率超过预设数值,则该进程处理该请求消息时CPU占用率过高,从而确定该进程处理该请求消息时的负载情况为负载过大。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
仅仅根据CPU占用率确定进程负载情况不准确;有的进程由于内存或者磁盘不足,造成进程处理请求消息时的负载情况为负载过大,但是CPU的占用率并没有超过预设数值,此时通过现有方法则检测不出来进程的负载情况为负载过大,从而导致确定进程负载情况的准确性低。
发明内容
为了解决现有技术的问题,本发明提供了一种确定进程负载情况的方法和装置。技术方案如下:
一方面,本发明提供了一种确定进程负载情况的方法,所述方法包括:
获取服务器处理第一请求消息集合所需的第一时间,所述第一请求消息集合包括至少一个请求消息;
获取所述服务器包括的进程当前处理第二请求消息集合所需的第二时间,所述第一请求消息集合包含所述第二请求消息集合;
根据所述第一时间和所述第二时间,确定所述进程的负载情况。
进一步地,所述根据所述第一时间和所述第二时间,确定所述进程的负载情况,包括:
计算所述第二时间与所述第一时间的第一比值,如果所述第一比值大于第一预设比值,则确定所述进程的负载情况为负载过大。
进一步地,所述根据所述第一时间和所述第二时间,确定所述进程的负载情况之后,还包括:
如果所述进程的负载情况为负载过大,则获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间与所述第二时间的第二比值;
选择第二比值大于第二预设比值的线程作为负载情况为负载过大的线程。
进一步地,所述方法还包括:
获取所述进程历史处理所述第二请求消息集合所需的第四时间;
根据所述第二时间和所述第四时间,确定所述进程是否发生故障。
进一步地,所述获取所述进程历史处理所第二述请求消息集合所需的第四时间,包括:
获取所述进程在离当前时间最近一次处理所述第二请求消息集合所需的第四时间;
相应的,所述根据所述第二时间和所述第四时间,确定所述进程是否发生故障,包括:
计算所述第二时间与所述第四时间的第三比值,如果所述第三比值大于第三预设比值,则确定所述进程发生故障。
进一步地,所述获取所述进程历史处理所述第二请求消息集合所需的第四时间,包括:
获取所述进程在当前时间之前每次处理所述第二请求消息集合所需的第四时间;
相应的,所述根据所述第二时间和所述第四时间,确定所述进程是否发生故障,包括:
计算所述获取的第四时间的平均时间,计算所述第二时间与所述平均时间的第四比值,如果所述第四比值大于第三预设比值,则确定所述进程发生故障。
进一步地,所述根据所述第二时间和所述第四时间,确定所述进程是否发生故障之后,还包括:
如果所述线程发生故障,获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间;
获取所述各线程历史处理所述第二请求消息集合所需的第五时间;
根据所述各线程当前处理所述第二请求消息集合所需的第三时间和历史处理所述第二请求消息集合所需的第五时间,确定发生故障的线程。
另一方面,本发明提供了一种确定进程负载情况的装置,所述装置包括:
第一获取模块,用于获取服务器处理第一请求消息集合所需的第一时间,所述第一请求消息集合包括至少一个请求消息;
第二获取模块,用于获取所述服务器包括的进程当前处理第二请求消息集合所需的第二时间,所述第一请求消息集合包含所述第二请求消息集合;
第一确定模块,用于根据所述第一时间和所述第二时间,确定所述进程的负载情况。
进一步地,所述第一确定模块,包括:
第一计算单元,用于计算所述第二时间与所述第一时间的第一比值;
第一确定单元,用于如果所述第一比值大于第一预设比值,则确定所述进程的负载情况为负载过大。
进一步地,所述装置还包括:
第三获取模块,用于如果所述进程的负载情况为负载过大,则获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间与所述第二时间的第二比值;
选择模块,用于选择第二比值大于第二预设比值的线程作为负载情况为负载过大的线程。
进一步地,所述装置还包括:
第四获取模块,用于获取所述进程历史处理所述第二请求消息集合所需的第四时间;
第二确定模块,用于根据所述第二时间和所述第四时间,确定所述进程是否发生故障。
进一步地,所述第四获取模块,包括:
第一获取单元,用于获取所述进程在离当前时间最近一次处理所述第二请求消息集合所需的第四时间;
相应的,所述第二确定模块,包括:
第二计算单元,用于计算所述第二时间与所述第四时间的第三比值;
第二确定单元,用于如果所述第三比值大于第三预设比值,则确定所述进程发生故障。
进一步地,所述第四获取模块,包括:
第二获取单元,用于获取所述进程在当前时间之前每次处理所述第二请求消息集合所需的第四时间;
相应的,所述第二确定模块,包括:
第三计算单元,用于计算所述获取的第四时间的平均时间;
第四计算单元,用于计算所述第二时间与所述平均时间的第四比值;
第三确定单元,用于如果所述第四比值大于第三预设比值,则确定所述进程发生故障。
进一步地,所述装置还包括:
第五获取模块,用于如果所述线程发生故障,获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间;
第六获取模块,用于获取所述各线程历史处理所述第二请求消息集合所需的第五时间;
第三确定模块,用于根据所述各线程当前处理所述第二请求消息集合所需的第三时间和历史处理所述第二请求消息集合所需的第五时间,确定发生故障的线程。
在本发明中,获取服务器处理第一请求消息集合所需的第一时间,第一请求消息集合包括至少一个请求消息;获取服务器包括的进程当前处理第二请求消息集合所需的第二时间,第一请求消息集合包含第二请求消息集合;根据第一时间和第二时间,确定进程的负载情况。由于将服务器资源量化为处理时间,根据第一时间和第二时间确定该进程的负载情况,从而提高了确定进程负载情况的准确性。
附图说明
图1是本发明实施例1提供的一种确定进程负载情况的方法流程图;
图2-1是本发明实施例2提供的一种确定进程负载情况的方法流程图;
图2-2是本发明实施例2提供的一种服务器分配请求消息的示意图;
图2-3是本发明实施例2提供的一种进程的结构示意图;
图2-4是本发明实施例2提供的一种服务器结构示意图;
图2-5是本发明实施例2提供的一种对请求消息进行处理的示意图;
图3是本发明实施例3提供的一种确定进程负载情况的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种确定进程负载情况的方法,该方法的执行主体为服务器,参见图1,其中,该方法包括:
步骤101:获取服务器处理第一请求消息集合所需的第一时间,第一请求消息集合包括至少一个请求消息;
步骤102:获取服务器包括的进程当前处理第二请求消息集合所需的第二时间,第一请求消息集合包含第二请求消息集合;
步骤103:根据第一时间和第二时间,确定进程的负载情况。
在本发明中,获取服务器处理第一请求消息集合所需的第一时间,第一请求消息集合包括至少一个请求消息;获取服务器包括的进程当前处理第二请求消息集合所需的第二时间,第一请求消息集合包含第二请求消息集合;根据第一时间和第二时间,确定进程的负载情况。由于将服务器资源量化为处理时间,根据第一时间和第二时间确定该进程的负载情况,从而提高了确定进程负载情况的准确性。
实施例2
当进程处理完请求消息时,为了提高该进程下一次处理请求消息的效率,需要确定该进程的负载情况,如果该进程的负载情况为负载过大,则服务器进行扩容或者分流等处理;为了提高确定进程的负载情况的准确性,可以采用本发明实施例提供的确定进程负载情况的方法确定进程的负载情况,该方法的执行主体为服务器,参见图2-1,其中,该方法包括:
步骤201:获取服务器处理第一请求消息集合所需的第一时间;
当终端访问服务器时,终端发送请求消息给服务器;服务器接收终端发送的请求消息,将这些请求消息组成第一请求消息集合,该第一请求消息集合包括至少一个请求消息。
服务器包括多个进程,服务器将第一请求消息集合分为至少一个第二请求消息集合,第一请求消息集合包括第二请求消息集合;将每个第二请求消息集合分配给其包括的一个进程,由该进程处理该第二请求消息集合;将服务器包括的各进程处理其对应的第二请求消息集合所需时间进行累加得到服务器处理第一请求消息集合所需的第一时间。或者,服务器获取其包括的进程的数目,计算进程的数目和统计周期的乘积得到服务器处理第一请求消息集合所需的第一时间。
例如,服务器包括的进程的数目为N,统计周期为T,则第一时间为N*T。
步骤202:获取服务器包括的进程当前处理第二请求消息集合所需的第二时间;
该线程接收服务器分配的第二请求消息集合,对第二请求消息集合包括的请求消息进行处理,获取该线程当前处理第二请求消息集合的开始时间和结束时间,根据该开始时间和该结束时间计算该线程当前处理第二请求消息集合所需的第二时间。
其中,该进程中埋设统计时间的代码,当运行到该代码时,获取当前时间作为开始时间;当运行完该代码时,获取当前时间作为结束时间。
其中,该进程为服务器包括的各进程中的任一进程,第二请求消息集合包含于第一请求消息集合;且第二请求消息集合中可以不包含请求消息,也可以包含一个请求消息,也可以包含多个请求消息。
如果第二请求消息集合包括多个请求消息,将该进程处理每个请求消息所需的时间进行累加得到第二时间。例如,该进程处理M个请求消息,分别为r1,r2,……,rm,处理每个请求消息所需时间分别为Tr1,Tr2,……Trm,则第二时间=Tr1+Tr2+……+Trm。
步骤203:根据第一时间和第二时间,确定该进程的负载情况;
具体地,计算第二时间与第一时间的第一比值,如果第一比值大于第一预设比值,则确定该进程的负载情况为负载过大;如果第一比值不大于第一预设比值,则确定该进程的负载情况为负载适中或者负载过小等。
其中,第一时间可以定义为服务器中的总资源,第二时间可以定义为该进程所使用的资源,如果第一比值大于第一预设比值,则说明该进程占用服务器的资源较多,也即该进程的负载情况为负载较大;如果第一比值不大于第一预设比值,则说明该进程占用服务器的资源不多,也即该进程的负载情况为负载适中或者负载过小等。
第一预设比值可以根据服务器包括的进程的数目进行设置并更改,在本发明实施例中对第一预设比例不作具体限定,例如,服务器包括的进程的数目为4,则第一预设比例可以为25%等。
如果该进程的负载情况为负载过大,进行扩容或者分流等处理,也即增加该进程包括的线程数目或者增多服务器包括的进程的数目。如果该进程的负载情况为负载适中或者负载过小等,不需要对该进程进行处理,结束。
进一步地,该进程包括多个线程,该进程接收到第二请求消息集合时,可以将第二请求消息集合分配给该进程包括的各线程,由各线程对第二请求消息集合包括的请求消息进行处理;因此,如果确定出该进程的负载情况为负载过大,执行步骤204和205获取负载情况为负载过大的线程。
进一步地,如果第二请求消息集合包括多个请求消息时,服务器也可以根据处理每个请求消息所需时间和第一时间,确定该进程处理每个请求消息的负载情况,具体为:
对于每个请求消息,计算处理该请求消息所需时间与第一时间的比值作为第六比值,如果第六比值大于第五预设比值,则确定该进程处理该请求消息时的负载情况为负载过大;如果第六比值不大于第五预设比值,则确定该进程处理该请求消息时的负载情况为负载适中或者负载较小。
第五预设比值可以根据第一请求消息集合包括的请求消息的数目进行设置并更改;例如,第一请求消息集合包括10个请求消息,则第五预设比值可以为10%等。
进一步地,将第六比值确定为系统资源占比;例如,该进程处理处理r1请求消息所需时间为Tr1,第一时间为R,则该进程处理r1请求消息时的系统资源占比为Tr1/R。
步骤204:如果该进程的负载情况为负载过大,则获取该进程包括的各线程当前处理第二请求消息集合所需的第三时间与第二时间的第二比值;
获取该进程包括的各线程当前处理第二请求消息集合包括的请求消息的开始时间和结束时间,根据各线程当前处理第二请求消息集合包括的请求消息的开始时间和结束时间,计算各线程当前处理第二请求消息集合所需的第三时间;计算各线程对应的第三时间与第二时间的比值作为第二比值。
进一步地,进程处理第二请求消息集合包括的请求消息是异步的,该进程接收到服务器分配的第二请求消息集合时,将第二请求消息集合包括的请求消息放到任务队列中,从任务队列中获取请求消息给其包括的线程,如图2-2所示。
步骤205:选择第二比值大于第二预设比值的线程作为负载情况为负载过大的线程;
从各线程对应的第二比值中选择第二比值大于第二预设比值的线程作为负载情况为负载过大的线程。
第二预设比值可以根据该进程包括的线程的数目进行设置并更改;例如,该进程包括的线程的数目为2,则第二预设比值可以为50%等。
进一步地,参见图2-3,各线程还可以包括多个阶段,多个阶段包括的每个阶段还可以包括多个子阶段;各线程可以将第二请求消息集合包括的请求消息分配给其包括的各阶段,各阶段也可以将第二请求消息集合包括的请求消息分配给其包括的各子阶段,由各子阶段对第二请求消息集合包括的请求消息进行处理。
同样,可以获取线程包括的负载情况为负载过大的阶段以及阶段包括的负载请求为负载过大的子阶段,具体获取方法和获取进程包括的负载情况为负载过大的线程的方法相同,在此不再详细说明。
进一步地,可以通过以下步骤206和步骤207确定该进程是否发生故障。
步骤206:获取该进程历史处理第二请求消息集合所需的第四时间;
具体地,获取该进程在离当前时间最近一次处理第二请求消息集合所需的第四时间;或者,获取该进程在当前时间之前每次处理第二请求消息集合所需的第四时间。
步骤207:根据第二时间和第四时间,确定该进程是否发生故障;
如果获取该进程历史处理第二请求消息集合所需的第四时间的步骤为获取该进程在离当前时间最近一次处理第二请求消息集合所需的第四时间,则本步骤为:
计算第二时间与第四时间的比值作为第三比值,如果该第三比值大于第三预设比值,则确定该进程发生故障。
如果获取该进程历史处理第二请求消息集合所需的第三时间的步骤为获取该进程在当前时间之前每次处理第二请求消息集合所需的第四时间,则本步骤为:
计算获取的第四时间的平均时间,计算第二时间与平均时间的比值作为第四比值,如果第四比值大于第三预设比值,则确定该进程发生故障。
确定该进程发生故障时,进行告警,并对该进程进行故障检修,从而对该进程的故障进行修复。
其中,第三预设比值可以根据需要进行设置并更改,在本发明实施例中对第三预设比值不作具体限定。
进一步地,如果该进程发生故障,可以通过以下步骤208至210,确定发生故障的线程。
步骤208:如果该线程发生故障,获取该进程包括的各线程当前处理第二请求消息集合所需的第三时间;
该进程包括多个线程,该进程可以将第二请求消息集合包括的请求消息分配给其包括的各线程,由各线程对该请求消息进行处理。获取该进程包括的各线程当前处理第二请求消息集合包括的请求消息的开始时间和结束时间,根据该线程当前处理第二请求消息集合包括的请求消息的开始时间和结束时间,计算该各线程当前处理第二请求消息集合包括的请求消息所需的第三时间。
如果该进程为其包括的线程分配了多个请求消息,则分别获取该线程当前处理多个请求消息包括的每个请求消息所需的时间,将获取的时间进行累加得到该线程处理多个请求消息所需的第三时间。
步骤209:获取各线程历史处理第二请求消息集合所需的第五时间;
具体地,获取各线程在离当前时间最近一次处理第二请求消息集合所需的第五时间;或者,获取各线程在当前时间之前每次处理第二请求消息集合所需的第五时间。
步骤210:根据各线程当前处理第二请求消息集合所需的第三时间和历史处理第二请求消息集合所需的第五时间,确定发生故障的线程。
如果获取各线程历史处理第二请求消息集合所需的第五时间的步骤为获取各线程在离当前时间最近一次处理第二请求消息集合所需的第五时间,对于各线程包括的每个线程,本步骤可以为:
计算第三时间与第五时间的比值作为第五比值,如果第五比值大于第四预设比值,则确定该线程发生故障;如果第五比值不大于第四预设比值,则确定该线程没有发生故障。
如果获取各线程历史处理第二请求消息集合所需的第五时间的步骤为获取各线程在当前时间之前每次处理第二请求消息集合所需的第五时间,对于各线程包括的每个线程,本步骤可以为:
计算获取的第五时间的平均时间,计算第三时间与平均时间的比值作为第五比值,如果第五比值大于第四预设比值,则确定该线程发生故障;如果第五比值不大于第四预设比值,则确定该线程没有发生故障。
第四预设比值可以根据需要进行设置并更改,在本发明实施例中对第四预设比值不作具体限定。
进一步地,该线程还包括多个阶段,线程可以将进程为其分配的请求消息分配给其包括的阶段,由各阶段对该请求消息进行处理;各阶段还可以包括多个子阶段,各阶段可以将该请求消息分配给其包括的子阶段,由各子阶段对该请求消息进行处理。
同样,也可以确定各阶段或者各子阶段是否发生故障,具体方法和确定线程是否发生故障的方法相同,在此不再详细说明。
进一步地,确定出进程的负载情况为负载过大时,可以对该进程进行扩容或者分流;确定出线程的负载情况为负载过大时,可以对该线程进行扩容或者分流;同样,确定出阶段或者子阶段的负载情况为负载过大时,可以对该阶段或者子阶段进行扩容或者分流等。
进一步地,在本发明实施例中,还可以根据实际业务需求,将子阶段再细分为子子阶段,获取子子阶段的负载情况以及确定子子阶段是否发生故障。
进一步地,参见图2-4,服务器中可以包括服务系统和监控系统;服务系统包括多个进程,在多个进程包括的每个进程中埋设统计时间的代码,该代码用于获取第一时间和第二时间,服务系统将第一时间和第二时间发送给监控系统,该监控系统包括采集模块,分析模块、展示模块和告警模块;采集模块用于接收服务系统发送的各进程对应的第一时间和第二时间;分析模块,用于根据各进程对应的第一时间和第二时间,确定该进程的负载情况以及该进程是否发生故障;展示模块,用于显示各进程的负载情况;告警模块,用于如果确定出进程发生故障时,进行报警。
进一步地,服务器对第一请求消息集合包括的各请求消息处理完成时,获取该请求消息对应的结果,发送该结果给终端,参见图2-5。
进一步地,获取到各子阶段处理第二请求消息集合包括的请求消息所需时间时,生成该进程运行情况总体视图,从而使得服务系统的进程运行视图清晰展示出来,对该进程中各线程、各阶段以及各子阶段的资源占用情况有量化的表示。
在本发明中,获取服务器处理第一请求消息集合所需的第一时间,第一请求消息集合包括至少一个请求消息;获取服务器包括的进程当前处理第二请求消息集合所需的第二时间,第一请求消息集合包含第二请求消息集合;根据第一时间和第二时间,确定进程的负载情况。由于将服务器资源量化为处理时间,根据第一时间和第二时间确定该进程的负载情况,从而提高了确定进程负载情况的准确性。
实施例3
本发明实施例提供了一种确定进程负载情况的装置,参见图3,其中,装置包括:
第一获取模块301,用于获取服务器处理第一请求消息集合所需的第一时间,第一请求消息集合包括至少一个请求消息;
第二获取模块302,用于获取服务器包括的进程当前处理第二请求消息集合所需的第二时间,第一请求消息集合包含第二请求消息集合;
第一确定模块303,用于根据第一时间和第二时间,确定进程的负载情况。
进一步地,第一确定模块303,包括:
第一计算单元,用于计算第二时间与第一时间的第一比值;
第一确定单元,用于如果第一比值大于第一预设比值,则确定进程的负载情况为负载过大。
进一步地,装置还包括:
第三获取模块,用于如果进程的负载情况为负载过大,则获取进程包括的各线程当前处理第二请求消息集合所需的第三时间与第二时间的第二比值;
选择模块,用于选择第二比值大于第二预设比值的线程作为负载情况为负载过大的线程。
进一步地,装置还包括:
第四获取模块,用于获取进程历史处理第二请求消息集合所需的第四时间;
第二确定模块,用于根据第二时间和第四时间,确定进程是否发生故障。
进一步地,第四获取模块,包括:
第一获取单元,用于获取进程在离当前时间最近一次处理第二请求消息集合所需的第四时间;
相应的,第二确定模块,包括:
第二计算单元,用于计算第二时间与第四时间的第三比值;
第二确定单元,用于如果第三比值大于第三预设比值,则确定进程发生故障。
进一步地,第四获取模块,包括:
第二获取单元,用于获取进程在当前时间之前每次处理第二请求消息集合所需的第四时间;
相应的,第二确定模块,包括:
第三计算单元,用于计算获取的第四时间的平均时间;
第四计算单元,用于计算第二时间与平均时间的第四比值;
第三确定单元,用于如果第四比值大于第三预设比值,则确定进程发生故障。
进一步地,装置还包括:
第五获取模块,用于如果线程发生故障,获取进程包括的各线程当前处理第二请求消息集合所需的第三时间;
第六获取模块,用于获取各线程历史处理第二请求消息集合所需的第五时间;
第三确定模块,用于根据各线程当前处理第二请求消息集合所需的第三时间和历史处理第二请求消息集合所需的第五时间,确定发生故障的线程。
在本发明中,获取服务器处理第一请求消息集合所需的第一时间,第一请求消息集合包括至少一个请求消息;获取服务器包括的进程当前处理第二请求消息集合所需的第二时间,第一请求消息集合包含第二请求消息集合;根据第一时间和第二时间,确定进程的负载情况。由于将服务器资源量化为处理时间,根据第一时间和第二时间确定该进程的负载情况,从而提高了确定进程负载情况的准确性。
需要说明的是:上述实施例提供的确定进程负载情况的装置在确定进程负载情况时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确定进程负载情况的装置与确定进程负载情况的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种确定进程负载情况的方法,其特征在于,所述方法包括:
获取服务器处理第一请求消息集合所需的第一时间,所述第一请求消息集合包括至少一个请求消息;
获取所述服务器包括的进程当前处理第二请求消息集合所需的第二时间,所述第一请求消息集合包含所述第二请求消息集合;
计算所述第二时间与所述第一时间的第一比值,如果所述第一比值大于第一预设比值,则确定所述进程的负载情况为负载过大,并进行扩容或者分流处理;
所述方法还包括:获取所述进程历史处理所述第二请求消息集合所需的第四时间;计算所述第二时间与所述第四时间的第三比值,如果所述第三比值大于第三预设比值,确定所述进程发生故障。
2.如权利要求1所述的方法,其特征在于,所述计算所述第二时间与所述第一时间的第一比值之后,还包括:
如果所述进程的负载情况为负载过大,则获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间与所述第二时间的第二比值;
选择第二比值大于第二预设比值的线程作为负载情况为负载过大的线程。
3.如权利要求1所述的方法,其特征在于,所述确定所述进程发生故障之后,还包括:
获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间;
获取所述各线程历史处理所述第二请求消息集合所需的第五时间;
根据所述各线程当前处理所述第二请求消息集合所需的第三时间和历史处理所述第二请求消息集合所需的第五时间,确定发生故障的线程。
4.一种确定进程负载情况的装置,其特征在于,所述装置包括:
第一获取模块,用于获取服务器处理第一请求消息集合所需的第一时间,所述第一请求消息集合包括至少一个请求消息;
第二获取模块,用于获取所述服务器包括的进程当前处理第二请求消息集合所需的第二时间,所述第一请求消息集合包含所述第二请求消息集合;
第一确定模块,包括:第一计算单元,用于计算所述第二时间与所述第一时间的第一比值;第一确定单元,用于如果所述第一比值大于第一预设比值,则确定所述进程的负载情况为负载过大,并进行扩容或者分流处理;
所述装置还包括:第四获取模块,用于获取所述进程历史处理所述第二请求消息集合所需的第四时间;第二确定模块,计算所述第二时间与所述第四时间的第三比值,如果所述第三比值大于第三预设比值,确定所述进程发生故障。
5.如权利要求4所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于如果所述进程的负载情况为负载过大,则获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间与所述第二时间的第二比值;
选择模块,用于选择第二比值大于第二预设比值的线程作为负载情况为负载过大的线程。
6.如权利要求4所述的装置,其特征在于,所述装置还包括:
第五获取模块,用于获取所述进程包括的各线程当前处理所述第二请求消息集合所需的第三时间;
第六获取模块,用于获取所述各线程历史处理所述第二请求消息集合所需的第五时间;
第三确定模块,用于根据所述各线程当前处理所述第二请求消息集合所需的第三时间和历史处理所述第二请求消息集合所需的第五时间,确定发生故障的线程。
CN201510290041.3A 2015-05-29 2015-05-29 一种确定进程负载情况的方法和装置 Active CN106302594B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510290041.3A CN106302594B (zh) 2015-05-29 2015-05-29 一种确定进程负载情况的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510290041.3A CN106302594B (zh) 2015-05-29 2015-05-29 一种确定进程负载情况的方法和装置

Publications (2)

Publication Number Publication Date
CN106302594A CN106302594A (zh) 2017-01-04
CN106302594B true CN106302594B (zh) 2019-11-05

Family

ID=57656137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510290041.3A Active CN106302594B (zh) 2015-05-29 2015-05-29 一种确定进程负载情况的方法和装置

Country Status (1)

Country Link
CN (1) CN106302594B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271290B (zh) * 2018-07-27 2022-06-07 广州方硅信息技术有限公司 一种监测线程使用率的方法、装置及存储装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356816A (zh) * 2000-11-28 2002-07-03 Lg电子株式会社 用于分配无线局部回路的分组资源的方法和设备
CN104102693A (zh) * 2014-06-19 2014-10-15 广州华多网络科技有限公司 对象处理方法和装置
CN104615497A (zh) * 2015-02-13 2015-05-13 广州华多网络科技有限公司 一种线程挂起的处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1356816A (zh) * 2000-11-28 2002-07-03 Lg电子株式会社 用于分配无线局部回路的分组资源的方法和设备
CN104102693A (zh) * 2014-06-19 2014-10-15 广州华多网络科技有限公司 对象处理方法和装置
CN104615497A (zh) * 2015-02-13 2015-05-13 广州华多网络科技有限公司 一种线程挂起的处理方法及装置

Also Published As

Publication number Publication date
CN106302594A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN111049705B (zh) 一种监控分布式存储系统的方法及装置
CN106375420B (zh) 一种基于负载均衡的服务器集群智能监控系统及方法
CN110808922B (zh) 一种消息处理方法、装置、存储介质及电子设备
CN107247651B (zh) 云计算平台监测预警方法和系统
CN104182332B (zh) 判断资源泄漏、预测资源使用情况的方法及装置
CN110784355B (zh) 一种故障识别方法及装置
CN106201829A (zh) 监控阈值确定方法及装置、监控报警方法、装置及系统
CN105656962A (zh) 一种服务调用方法和装置
CN110046070B (zh) 服务器集群系统的监控方法、装置、电子设备及存储介质
CN109728981A (zh) 一种云平台故障监测方法及装置
CN108415765B (zh) 任务调度方法、装置及智能终端
CN106100901B (zh) 一种流速控制方法及装置
CN111782488B (zh) 消息队列监控方法、装置、电子设备和介质
CN107783731B (zh) 一种大数据实时处理方法及处理系统
CN111865720A (zh) 用于处理请求的方法、装置、设备以及存储介质
CN106302594B (zh) 一种确定进程负载情况的方法和装置
CN114301760A (zh) 一种测试方法、装置、电子设备及存储介质
CN108255710B (zh) 一种脚本的异常检测方法及其终端
CN109462510B (zh) 一种cdn节点质量评估的方法及装置
CN107612755A (zh) 一种云资源的管理方法及其装置
CN115167297A (zh) 基于线程控制的智能制造工业物联网及控制方法
JP2020035297A (ja) 機器状態監視装置及びプログラム
CN113132431B (zh) 服务监控方法、服务监控装置、电子设备及介质
CN113079065A (zh) 基于Ambari的心跳检测方法、装置、设备及介质
CN109766238B (zh) 基于session数的运维平台性能监控方法、装置及相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210114

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511446 28th floor, block B1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170104

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: A method and device for determining process load

Granted publication date: 20191105

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract