CN103414649B - 一种分布式负载发生器的实现方法及其系统 - Google Patents

一种分布式负载发生器的实现方法及其系统 Download PDF

Info

Publication number
CN103414649B
CN103414649B CN201310320221.2A CN201310320221A CN103414649B CN 103414649 B CN103414649 B CN 103414649B CN 201310320221 A CN201310320221 A CN 201310320221A CN 103414649 B CN103414649 B CN 103414649B
Authority
CN
China
Prior art keywords
load
generator
request
trace
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.)
Expired - Fee Related
Application number
CN201310320221.2A
Other languages
English (en)
Other versions
CN103414649A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201310320221.2A priority Critical patent/CN103414649B/zh
Publication of CN103414649A publication Critical patent/CN103414649A/zh
Application granted granted Critical
Publication of CN103414649B publication Critical patent/CN103414649B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种分布式负载发生器的实现方法及其系统,该方法包括:步骤1,负载控制器根据从Web服务器获取的信息进行trace解析,形成trace列表;步骤2,负载控制器设定参数,并根据该参数对所述trace列表进行trace分组变换;步骤3,负载控制器对分组变换后的trace列表分配给负载发生器;步骤4,负载发生器重放负载。本发明利用Web请求的特征,进行空间分片,实现了负载的精确重放。

Description

一种分布式负载发生器的实现方法及其系统
技术领域
本发明涉及分布式负载发生器的实现技术,特别是涉及一种分布式负载发生器的实现方法及其系统。
背景技术
随着基于Web的互联网应用越来越广泛,越来越多的工作都依赖于高质量的Web服务器。数据中心的应用也多以Web的方式提供服务。研究如何提高Web服务器的性能和服务质量需要模拟互联网上的用户请求。负载发生器可以模拟互联网上的大量用户请求,观测Web服务器对大量的、变化范围很大的负载的处理情况。通过负载发生器可以评测Web器服务的性能和质量,而高强度的真实负载对于Web服务器的评测至关重要。据实验分析发现人工合成的负载在性能上比真实负载要低两倍,参见文献“席华锋,高通量计算机典型服务类应用负载与体系结构特性分析”。如何利用负载发生器产生高强度负载的同时保证负载的真实性、精确重放负载成为困扰Web服务器性能测试的难题。
负载发生器的一般工作原理如图1所示,在互联网上,客户端与服务器是不对称的,数据的传输量也是不对称的。一个服务器服务于多个客户端。负载发生器模拟的情况要与互联网的真实情况一致。一个负载发生器可以模拟多个用户,向一个服务器发送请求。
在图1中,负载发生器模拟多个client(客户端)向Server(服务器)发送请求,一个个请求组成的请求队列等待Server进行处理,Server处理后对client进行应答响应。
现有的比较常用的负载发生器包括WebStone、Fanban、Httperf、Flood、SPECWeb、S-Client等。WebStone是由SGI开发的网络测试软件,运行在UNIX环境下。Fanban是SunMicrosystems用java1.5+编写的,是一个用于开发和运行benchmark的开源工具。Httperf是HP公司开发的一款Web服务器性能测试工具,能够灵活的产生各种类型的Web负载。Flood是ApacheHttp工程包含的Http-Test子工程的一个测试工具。SPECWeb标准是由SPEC公司组织开发的,用于测试评估Web服务器性能的指标,到目前为止已经推出了SPECWeb96、SPECWeb99、SPECWeb2005、SPECWeb2009等标准。S-Client是Rice大学开发的一个Web服务器性能测试工具。
WebStone是通过模拟多用户行为在Web服务上产生负载的,其功能是从Web服务器上获取特定的文件。WebStone采用一个WebMaster程序控制多个WebClient程序,可运行在客户机上或者任何独立的计算机上,而且为了对服务器产生足够的负载,可以将WebClient分布在同一网络中的不同客户机上。WebStone是一种压力测试工具,只是尽可能多地产生请求序列,无法保证产生负载的真实性,每次产生的负载不一致。
Fanban负载发生器包括Master和DriverAgents两个部分。DreiverAgents通过与Master通信来创建AgentThread,通过AgentThread来模拟单个用户的行为。Fanban的缺点是只能生成模拟的用户查询,无法生成真实的用户行为,不能进行精确的负载重放。
Httperf通过多线程模拟用户的并发访问行为,来测试服务器的负载能力,比如服务器能同时承受的连接数。由于设计和实现的原因,不管采用何种重放方式,Httperf都会先将日志记录读入,内存占用很大。此外,Httperf实现的计时器极其消耗CPU,在日志较多的情况下,会占用100%的CPU时间和大量内存。Httperf由于采用的是模拟多线程的方式,无法对负载进行控制,不能进行精确的负载重放。
SPECWeb负载发生器的基本原理是按照某种模式持续不断的访问Web服务器,测试服务器的吞吐率、最大连接数、响应延迟等参数,通过这些参数来评估服务器性能。SPECWeb的负载产生器是专门为SPECWeb的数据集设计的,而这个数据集和Web搜索引擎完全不同。SPECWeb按照概率模型生成负载,可重复性差,无法进行精确的负载重放。
S-Client是由n个客户机连接到被测服务器,每个客户机运行一定数量的S-Client进程。客户机通过一个路由器与被测服务器连接。这个路由器必须具有足够的能力通过预计的最大流量。路由器的目的是在测试环境中引入人工的延迟来模拟WAN中的延迟。S-Client仅仅只是一个压力测试工具,功能过于简单。
综上,目前已有的负载发生器在设计实现上都有缺陷。一类是单节点的负载发生器,这类负载发生器由于只是单节点来产生负载,无法产生大规模的访问请求,达不到数据中心所需要的负载强度。另一类是分布式的负载发生器,现有的这类负载发生器在进行负载重放时都破坏了原有负载的请求时间序列,无法进行精确重放。而本发明很好的解决了负载强度、精确重放这些问题。
发明内容
本发明的目的在于提供一种分布式负载发生器的实现方法及其系统,用于解决分布式负载发生器在负载重放时难以保证原有负载请求的时间序列不被破坏的问题。
为了实现上述目的,本发明提供一种分布式负载发生器的实现方法,其特征在于,包括:
步骤1,负载控制器根据从Web服务器获取的信息进行trace解析,形成trace列表;
步骤2,负载控制器设定参数,并根据该参数对所述trace列表进行trace分组变换;
步骤3,负载控制器对分组变换后的trace列表分配给负载发生器;
步骤4,负载发生器重放负载。
所述的分布式负载发生器的实现方法,其中,所述步骤2中,包括:
负载控制器按每组n个请求数对trace列表进行分组,并在每组上加入发送时间参数,形成分组变换后的trace列表,该分组变换后的trace列表由n个数据包组成,n为单位时间内发送的请求数。
所述的分布式负载发生器的实现方法,其中,所述步骤3中,包括:
负载控制器将分组变换后的trace列表根据负载发生器的数量进行取模运算后分片给各个负载发生器。
所述的分布式负载发生器的实现方法,其中,所述步骤4中,包括:
41,负载发生器接收负载控制器的负载重放开始通知,通过线程一开启监听程序,监听接收负载控制器传输过来的数据包;
42,负载发生器将接收到的数据包存入缓存队列,按设定的时刻顺序发送请至Web服务器;
43,负载发生器的线程池在线程一发送请求后,开启监听程序,监听接收Web服务器返回的请求;
44,负载发生器通过线程池将Web服务器返回的请求存入缓存队列,线程池内的线程轮流读取队列的请求进行处理。
所述的分布式负载发生器的实现方法,其中,所述步骤4之后,包括:
51,负载控制器分配完trace后消息通知负载发生器,负载发生器关闭线程一的监听程序;
52,负载发生器处理完Web服务器所有返回的请求后,关闭线程池的监听程序,发送消息通知负载控制器;
53,负载控制器接收到所有负载发生器的结束消息后,整个负载生成重放活动结束。
为了实现上述目的,本发明提供一种分布式负载发生器的实现系统,其特征在于,包括:负载控制器、负载发送器集群,所述负载发送器集群中单个负载发生器包括一个线程一和一个线程池;
所述负载控制器,用于根据从Web服务器获取的信息进行trace解析,形成trace列表,设定参数并根据该参数对所述trace列表进行trace分组变换,将分组变换后的trace列表分配给负载发生器;
所述负载发生器,用于通过线程一和线程池重放负载。
所述的分布式负载发生器的实现系统,其中,所述负载控制器按每组n个请求数对trace列表进行分组,并在每组上加入发送时间参数,形成分组变换后的trace列表,该分组变换后的trace列表由n个数据包组成,n为单位时间内发送的请求数。
所述的分布式负载发生器的实现系统,其中,所述负载控制器将分组变换后的trace列表根据负载发生器的数量进行取模运算后分片给各个负载发生器。
所述的分布式负载发生器的实现系统,其中:
所述负载发生器接收所述负载控制器的负载重放开始通知,通过线程一开启监听程序,监听接收负载控制器传输过来的数据包,将接收到的数据包存入缓存队列,按设定的时刻顺序发送请求至Web服务器;
所述线程池在线程一发送请求后,开启监听程序,监听接收Web服务器返回的请求,将Web服务器返回的请求存入缓存队列,线程池内的线程轮流读取队列的请求进行处理。
所述的分布式负载发生器的实现系统,其中:
所述负载控制器分配完trace后消息通知所述负载发生器,所述负载发生器关闭线程一的监听程序;
所述负载发生器处理完Web服务器所有返回的请求后,关闭线程池的监听程序,发送消息通知负载控制器;
所述负载控制器接收到所有负载发生器的结束消息后,完成整个负载生成重放活动。
与现有技术相比,本发明的有益技术效果在于:
现有的单节点负载发生器无法满足数据中心所需的负载强度,而现有的分布式负载发生器无法保证负载的真实性,不能进行负载的精确重放。本发明旨在解决分布式负载发生器在负载重放时如何保证真实负载的请求时间序列不被破坏,实现负载的精确重放。本发明提出了一种实现时间序列精确重放的分布式负载发生器实现方法,其主要思想是利用Web请求的特征,进行空间分片,实现负载的精确重放。
附图说明
图1是负载发生器的一般工作原理图;
图2是本发明分布式负载发生器的总体原理图;
图3是本发明单个负载发生器的内部原理图;
图4是本发明分布式负载发生器的实现方法流程图;
图5是本发明分布式负载发生器的实现的一具体实施例。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
如图2所示,是本发明分布式负载发生器的总体原理图。
在图2中,总体原理是利用Web请求的特征,进行空间分片,实现负载的精确重放。整个分布式负载发生器200由负载控制器10和负载发生器集群20组成。
负载控制器10主要完成参数设定、trace变换、trace分配等功能,具体包括有:
A1)从Web服务器中获取用户的查询日志信息,提取有效的查询信息,形成trace列表。
A2)进行参数的设定,设置单位时间片t0、单位时间片内发送的请求数n、负载发生器接收请求的超时时间t1。
A3)对trace列表进行分组变换。
xA4)Trace分配:将分组变换后的trace分组列表,按负载发生器的个数取模分配到各个负载发生器。
负载发生器集群20的主要功能有:
B1)接收负载控制器10分配的trace。
B2)将trace发送到Web服务器。
B3)接收处理Web服务器的返回请求。
Web请求的特征主要包括:
C1)Web负载发送、接收的资源消耗差距很大:Web负载发送时消耗的资源较少,而大量的资源消耗在接收Web服务器返回的请求上。
C2)Web请求具有时效性,存在超时时间。
trace:用户使用相关程序(如搜索引擎)向Web服务器发出的请求序列。当评测Web服务器性能时只需要关注于用户发出的请求即可,据此本发明给出trace的形式化定义。如下所示,第一列表示时间,第二列表示请求内容:
时间 请求内容
1.0 北京遇上西雅图
2.0 清明节放假安排2013
2.0 第二十二条婚规
2.0 李天一
3.0 美素奶粉最新事件
3.0 战斗机山东荣成海域坠毁原因
具体地,负载控制器从Web服务器中提取有效的查询信息形成trace列表后,负载控制器按设定的参数t0、n将trace列表进行分组变换,得到变换后的trace分组列表:Group[1]{y1,y2,y3}、Group[2]{y4,y5,y6}、Group[3]{y7,y8,y9}、Group[4]{y10,y11,y12}、Group[5]{y13,y14,y15}、Group[6]{y16,y17,y18}……。负载控制器再将trace分组列表分片发送给负载发生器集群里的各个负载发生器(w1,w2,w3)。负载发生器集群中的各个负载发生器(w1,w2,w3)接收到trace分组列表后,根据负载控制器要求,在规定的时间点进行负载的发送,将trace分组列表发送到Web服务器。同时,负载发生器进行Web服务器返回请求的处理。
如图3所示,是本发明单个负载发生器的内部原理图。
在图3中,负载发生器集群中单个负载发生器内部由一个线程一和一个线程池组成。线程一的主要功能为接收负载控制器发送过来的trace,并将trace顺序发送给Web服务器;线程池的主要功能为并发接收并处理Web服务器返回的处理请求。
如图4所示,是本发明分布式负载发生器的实现方法流程图。该实现方法流程分为两个阶段:负载生成和负载重放。
负载生成阶段实现的主要功能为:trace解析、约定参数设置、trace分组。
trace解析,是指从Web服务器系统中获取用户查询的日志信息,并从中抽取出有效的查询信息,形成trace列表。
约定参数设置,是指设置参数t0、n、t1。
trace分组,是将trace列表进行分组变换得到新的trace分组列表。
负载重放阶段实现的主要功能为:trace分配、负载发生器重放负载。
trace分配,是指负载控制器将变换后的trace分组列表对负载发生器数量进行取模运算分配给各个负载发生器。
负载发生器重放负载,是指负载发生器将接收到的trace发送给Web服务器,并处理Web服务器返回的请求。
具体地,该分布式负载发生器的实现方法流程的详细步骤为:
步骤401:负载生成。
1)trace解析:从Web服务器中获取用户查询的日志信息,并从中抽取出有效的查询信息,形成trace列表。
2)约定参数设置:
t0:单位时间片,即最小单位时间。该单位时间片无固定的取值范围,根据具体实验设定,变化时需要考虑的因素有:实验的负载发生器数量、实验的负载规模;
n:单位时间内发送的请求数,即单位时间片t0内的trace个数。该请求数无固定的取值范围,根据具体实验设定,变化时需要考虑的因素有:单个负载发生器的负载发送能力、单位时间片的大小。
t1:负载发生器接收请求的超时时间。具体地,0<t1<n*t0。
由于Web请求具有时效性,所以在这里设定一个超时时间t1,负载发生器接收处理Web服务器的响应请求时如果超过了时间t1,则视为超时,放弃当前处理进行下一步处理操作。
3)trace分组。
这一步主要是将trace解析后形成的trace列表进行分组变换,按每组n个请求数进行分组,并在每组上加入发送时间参数。形成新的trace列表{t0:group[1],2*t0:group[2],3*t0:group[3],4*t0:group[4],……n*t0:group[n]}。新的trace列表由n个数据包组成,每个数据包格式为xt0:group[x],xt0表示这个数据包将在负载重放开始后的xt0时间开始发送,group[x]是由n个trace组成的一个trace分组。
步骤402:负载重放。
1)trace分配
将分组变换后的trace列表{t0:group[1],2*t0:group[2],3*t0:group[3],4*t0:group[4],……n*t0:group[n]}根据负载发生器的数量进行取模运算后分片给各个负载发生器。
取模运算:即将trace列表{t0:group[1],2*t0:group[2],3*t0:group[3],4*t0:group[4],……nt0:group[n]}里每个分组的序号数对负载发生器个数取余,按余数的结果决定将该group发送到相应的负载发生器。例如:负载发生器数为3,10*t0:group[10]中10对3取余为1,这时就将10*t0:group[10]发送到第一个负载发生器。
2)负载发生器重放负载
负载控制器开始分配负载时,先以消息的方式通知负载发生器重放任务开始,并将当前时间T作为参数传递给各个负载发生器。
负载发生器重放的详细过程如下:
21)线程一:为负载发生器开启的一个线程,命名为线程一,负责trace列表的发送。
211)接收负载控制器的重放开始消息和参数T,负载发生器进入工作状态,开启监听程序。
212)持续监听负载控制器发送过来的数据包。并将接收到的数据包存入缓存队列。接收到的数据包格式为x*t0:group[x],其中xt0为发送时间参数,group[x]为发送的trace列表。
213)按先进先出方式顺序发送缓存队列内的数据包,对于每个数据包x*t0:group[x],线程一将在T+x*t0时刻发送group[x]到Web服务器。
22)线程池:返回请求处理。
221)负载发生器在内部开启n个线程,构成一个线程池,线程池持续监听Web服务器返回的请求。
222)线程池将Web服务器返回的请求缓存到负载发生器的缓存队列内。
223)线程池内的线程轮流读取缓存队列内的请求进行处理,若读取某个请求超过时间t1还未获取到,则放弃当前请求,进入下一个请求的处理。
负载控制器分配完trace后发送消息通知负载发生器,负载发生器关闭线程一的监听程序;负载发生器处理完Web服务器返回的所有请求后,关闭线程池的监听程序,并发送消息通知负载控制器,负载控制器接收到所有负载发生器处理结束的消息后,整个负载重放任务结束。
如图5所示,是本发明分布式负载发生器的实现的一具体实施例。如具体实施实施中所描述,整个具体实施实例分为五个步骤,分别为:参数设定、trace分组、trace分配、负载重放、结束。结合图2-4对实施例描述如下:
在该实施例中,以3个负载发生器、解析获取得的Web服务器某个时间段内产生的有效用户查询日志y={y1,y2,……y10000}为例,整个负载发生器重放负载的步骤为:
步骤501,设定参数:设定最小单位时间t0=1s,最小单位时间内的trace个数n=100,超时时间t1=2s。
步骤502,trace分组:负载控制器对y进行日志分组,将y按时间顺序100个为一组分为100组,变换后的trace为group={1s:group[1],2s:group[2],…100s:group[100]}。其中
1s:group[1]={y1,y2,y3,y4,y5…y100},
2s:group[2]={y101,y102,y103…y200},
……
100s:group[100]={y9001,y9002,y9003…y10000}。
步骤503,trace分配:
A1,负载控制器以消息方式通知负载发生器重放活动开始,并将当前时间T(以T=9:00:00为例)以参数形式发送到各个负载发生器。
A2,负载控制器将变换后的trace分组列表{1s:group[1],2s:group[2],…100s:group[100]}按负载发生器数3进行取模运算,按运算结果将group分配给各个负载发生器。如将1s:group[1]分配给负载发生器一,将2s:group[2]分配给负载发生器二。
步骤504,负载重放:
B1,负载发生器接收负载控制器的负载重放开始通知和时间参数T,线程一开启监听程序,监听接收负载控制器传输过来的数据包。
B2,负载发生器将接收到的数据包存入缓存队列,先进先出,按规定的时刻发序发送请求至Web服务器。如负载发生器一接收到数据包1s:group[1]、4s:group[4]后,在9:00:01时刻发送group[1]至Web服务器,在9:00:04时刻发送group[4]至Web服务器。
B3,线程池在线程一发送请求后,开启监听程序,监听接收Web服务器返回的请求。
B4,线程池将Web服务器返回的请求存入缓存队列,线程池内的线程轮流读取队列的请求进行处理,若处理某个请求时,超过2秒未读取到,则放弃当前处理,进入下一个请求的处理。
步骤505,结束
C1,负载控制器分配完trace后发送消息通知负载发生器,负载发生器关闭线程一的监听程序。
C2,负载发生器处理完Web服务器所有返回请求后,关闭线程池的监听程序,发送消息通知负载控制器。
C3,负载控制器接收到所有负载发生器的结束消息后,整个负载生成重放活动结束。
现有的单节点负载发生器无法满足数据中心所需的负载强度,而现有的分布式负载发生器无法保证负载的真实性,不能进行负载的精确重放。本发明旨在解决分布式负载发生器在负载重放时如何保证真实负载的请求时间序列不被破坏,实现负载的精确重放。本发明利用Web请求的特征,进行空间分片,实现负载的精确重放。
本发明解决了分布式负载发生器在负载重放时难以保证原有负载请求的时间序列不被破坏的问题,提出了一种利用Web请求的特征,进行空间分片,实现时间序列精确重放的分布式负载发生器实现方法,其基于空间分片的分布式负载分配方法,保证了重放负载的时间序列不被破坏;分布式精确重放的方法,保证精确重放,每次重放的负载一致。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种分布式负载发生器的实现方法,其特征在于,包括:
步骤1,负载控制器根据从Web服务器获取的信息进行trace解析,形成trace列表;
步骤2,负载控制器设定参数,并根据该参数对所述trace列表进行trace分组变换,该参数包括单位时间片t0、单位时间片内发送的请求数n、负载发生器接收请求的超时时间t1;
步骤3,负载控制器对分组变换后的trace列表分配给负载发生器;
步骤4,负载发生器重放负载;
所述步骤2中,包括:
负载控制器按每组n个请求数对trace列表进行分组,并在每组上加入发送时间参数,形成分组变换后的trace列表,该分组变换后的trace列表由n个数据包组成。
2.根据权利要求1所述的分布式负载发生器的实现方法,其特征在于,所述步骤3中,包括:
负载控制器将分组变换后的trace列表根据负载发生器的数量进行取模运算后分片给各个负载发生器。
3.根据权利要求1或2所述的分布式负载发生器的实现方法,其特征在于,所述步骤4中,包括:
41,负载发生器接收负载控制器的负载重放开始通知,通过线程一开启监听程序,监听接收负载控制器传输过来的数据包;
42,负载发生器将接收到的数据包存入缓存队列,按设定的时刻顺序发送请至Web服务器;
43,负载发生器的线程池在线程一发送请求后,开启监听程序,监听接收Web服务器返回的请求;
44,负载发生器通过线程池将Web服务器返回的请求存入缓存队列,线程池内的线程轮流读取队列的请求进行处理。
4.根据权利要求3所述的分布式负载发生器的实现方法,其特征在于,所述步骤4之后,包括:
51,负载控制器分配完trace后消息通知负载发生器,负载发生器关闭线程一的监听程序;
52,负载发生器处理完Web服务器所有返回的请求后,关闭线程池的监听程序,发送消息通知负载控制器;
53,负载控制器接收到所有负载发生器的结束消息后,整个负载生成重放活动结束。
5.一种分布式负载发生器的实现系统,其特征在于,包括:负载控制器、负载发送器集群,所述负载发送器集群中单个负载发生器包括一个线程一和一个线程池;
所述负载控制器,用于根据从Web服务器获取的信息进行trace解析,形成trace列表,设定参数并根据该参数对所述trace列表进行trace分组变换,将分组变换后的trace列表分配给负载发生器,该参数包括单位时间片t0、单位时间片内发送的请求数n、负载发生器接收请求的超时时间t1;
所述负载发生器,用于通过线程一和线程池重放负载;
所述负载控制器按每组n个请求数对trace列表进行分组,并在每组上加入发送时间参数,形成分组变换后的trace列表,该分组变换后的trace列表由n个数据包组成。
6.根据权利要求5所述的分布式负载发生器的实现系统,其特征在于,所述负载控制器将分组变换后的trace列表根据负载发生器的数量进行取模运算后分片给各个负载发生器。
7.根据权利要求5或6所述的分布式负载发生器的实现系统,其特征在于:
所述负载发生器接收所述负载控制器的负载重放开始通知,通过线程一开启监听程序,监听接收负载控制器传输过来的数据包,将接收到的数据包存入缓存队列,按设定的时刻顺序发送请求至Web服务器;
所述线程池在线程一发送请求后,开启监听程序,监听接收Web服务器返回的请求,将Web服务器返回的请求存入缓存队列,线程池内的线程轮流读取队列的请求进行处理。
8.根据权利要求7所述的分布式负载发生器的实现系统,其特征在于:
所述负载控制器分配完trace后消息通知所述负载发生器,所述负载发生器关闭线程一的监听程序;
所述负载发生器处理完Web服务器所有返回的请求后,关闭线程池的监听程序,发送消息通知负载控制器;
所述负载控制器接收到所有负载发生器的结束消息后,完成整个负载生成重放活动。
CN201310320221.2A 2013-07-26 2013-07-26 一种分布式负载发生器的实现方法及其系统 Expired - Fee Related CN103414649B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310320221.2A CN103414649B (zh) 2013-07-26 2013-07-26 一种分布式负载发生器的实现方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310320221.2A CN103414649B (zh) 2013-07-26 2013-07-26 一种分布式负载发生器的实现方法及其系统

Publications (2)

Publication Number Publication Date
CN103414649A CN103414649A (zh) 2013-11-27
CN103414649B true CN103414649B (zh) 2016-06-08

Family

ID=49607635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310320221.2A Expired - Fee Related CN103414649B (zh) 2013-07-26 2013-07-26 一种分布式负载发生器的实现方法及其系统

Country Status (1)

Country Link
CN (1) CN103414649B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI702540B (zh) * 2019-03-22 2020-08-21 鼎新電腦股份有限公司 負載控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387271A1 (en) * 2002-07-29 2004-02-04 Sun Microsystems, Inc. Method and apparatus for generating an operational processing load
US8566835B2 (en) * 2007-12-13 2013-10-22 Hewlett-Packard Development Company, L.P. Dynamically resizing a virtual machine container

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Characterization of Real Workloads of Web Search Engines;Huafeng Xi等;《Workload Characterization (IISWC), 2011 IEEE International Symposium on》;20111108;正文第1节、第2-2.1节、第3.1节、表1、图1 *

Also Published As

Publication number Publication date
CN103414649A (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
Aktas et al. Provenance aware run‐time verification of things for self‐healing Internet of Things applications
Stantchev Performance evaluation of cloud computing offerings
CN102244594B (zh) 在手动和自动测试工具中的网络仿真技术
CN104579822A (zh) 基于Http协议的移动应用自动化性能测试系统及方法
WO2015113450A1 (zh) 一种可视化网络运维方法和装置
US8966454B1 (en) Modeling and testing of interactions between components of a software system
CN101322113B (zh) 用于试验服务器应用程序性能的网格计算控制方法及其服务方法
Zhu et al. Research the performance testing and performance improvement strategy in web application
Inçki et al. Runtime verification of IoT systems using complex event processing
CN102999424B (zh) 一种并行远程自动化测试的方法
Cui et al. Trouble shooting interactive web sessions in a home environment
CN103414649B (zh) 一种分布式负载发生器的实现方法及其系统
CN107395663B (zh) 数据获取方法及装置
CN106357466B (zh) 一种互联网产品监控方法及监控系统
CN105471674A (zh) 测试服务器性能的方法及系统
CN115941538B (zh) 一种针对多方安全计算的测试系统、测试方法及装置
CN108712306A (zh) 一种信息系统自动化巡检平台和巡检方法
CN110932879B (zh) 网络性能测试方法、数据处理设备和存储介质
US20080162687A1 (en) Data acquisition system and method
Happ et al. Scalable assessment method for agent‐based control in cyber‐physical distribution grids
Vogt et al. A REST based co-simulation interface for distributed simulations
Yu et al. OWL-S based interaction testing of web service-based system
Karanjkar et al. A simpy-based simulation testbed for smart-city IoT applications
CN117370127A (zh) 内容分发网络的调度测试方法、装置及计算机设备
CN109639528A (zh) 一种日志接收性能的测试方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160608

Termination date: 20190726

CF01 Termination of patent right due to non-payment of annual fee