CN102346710B - Dynamic stubbing technology based time-delay analysis method for data packet processing - Google Patents
Dynamic stubbing technology based time-delay analysis method for data packet processing Download PDFInfo
- Publication number
- CN102346710B CN102346710B CN201110309258.6A CN201110309258A CN102346710B CN 102346710 B CN102346710 B CN 102346710B CN 201110309258 A CN201110309258 A CN 201110309258A CN 102346710 B CN102346710 B CN 102346710B
- Authority
- CN
- China
- Prior art keywords
- machine
- function
- packet
- kernel
- module
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
(一)技术领域 (1) Technical field
本发明涉及一种基于动态插桩技术的数据包处理时延分析方法,具体涉及到一种运用基于动态插桩技术对数据包处理过程中操作系统内核的各个函数的处理时延进行分析的方法,属于计算机技术领域。The present invention relates to a data packet processing delay analysis method based on dynamic stub technology, in particular to a method for analyzing the processing delay of each function of the operating system kernel in the data packet processing process based on dynamic stub technology , belonging to the field of computer technology.
(二)背景技术 (2) Background technology
近年来随着网络应用的不断丰富,网络分布越来越广,网络流量也越来越大,对于数据中心的网络性能提出了新的需求和挑战。为了应对这种挑战,数据中心有必要对网络结构进行调整,提高服务器的处理能力。然而,目前许多数据中心为了提高服务器的利用率、简化服务器的管理和维护、提高应用程序的可用性、降低成本,大多开始采用虚拟化技术。虚拟化技术有很多的优势,但也会引入额外的开销,尤其是在I/O虚拟化方面。在虚拟化环境下,数据包的处理过程更加复杂,传输路径更长,使得总体的网络性能很差。In recent years, with the continuous enrichment of network applications, the distribution of networks has become wider and wider, and the network traffic has also increased. New requirements and challenges have been put forward for the network performance of data centers. In order to cope with this challenge, it is necessary for the data center to adjust the network structure and improve the processing capacity of the server. However, in order to increase server utilization, simplify server management and maintenance, improve application availability, and reduce costs, many data centers have begun to adopt virtualization technology. Virtualization technology has many advantages, but it also introduces additional overhead, especially in I/O virtualization. In a virtualized environment, the processing of data packets is more complicated and the transmission path is longer, making the overall network performance poor.
为了对网络性能进行优化,就必须知道系统的瓶颈在哪儿,系统的哪些环节开销最大,然后有针对性的进行改进。目前有许多人在研究如何提高虚拟化环境下的网络性能,这些研究大多是从虚拟化的原理出发,试图降低虚拟化的开销,提高网络带宽,降低网络时延。然而,这些研究并没有对数据包的处理时延进行量化的分析,目前也没有工具能够自动的分析数据包从接收到发送整个处理过程中的各个函数的时延。本发明基于动态插桩技术,设计了一种能够自动分析操作系统内核各个函数在数据包发送和接收过程中的时延的方法。In order to optimize network performance, it is necessary to know where the bottlenecks of the system are and which aspects of the system cost the most, and then make targeted improvements. At present, many people are studying how to improve network performance in a virtualized environment. Most of these studies start from the principle of virtualization, trying to reduce the overhead of virtualization, increase network bandwidth, and reduce network delay. However, these studies have not quantitatively analyzed the processing delay of the data packet, and currently there is no tool that can automatically analyze the delay of each function in the entire processing process from receiving to sending the data packet. Based on the dynamic stub technology, the present invention designs a method capable of automatically analyzing the time delay of each function of the operating system kernel in the process of sending and receiving data packets.
插桩技术是一种在软件测试中有广泛的运用,GCC编译器也提供相应的功能用于测试代码覆盖率,有些操作系统也支持插桩技术,如Solaris的DTrace、Linux的Kprobe等。动态插桩技术则更近一步,能够在程序运行的时候动态的将一段代码插入到程序的某个位置用于收集信息或改变程序的行为,而不需要对原程序作任何修改。本发明就是基于动态插桩技术对操作系统数据包处理时延进行分析的。Instrumentation technology is widely used in software testing. The GCC compiler also provides corresponding functions for testing code coverage. Some operating systems also support instrumentation technology, such as DTrace in Solaris and Kprobe in Linux. The dynamic instrumentation technology is one step further. It can dynamically insert a piece of code into a certain position of the program when the program is running to collect information or change the behavior of the program without any modification to the original program. The present invention analyzes the operating system data packet processing time delay based on the dynamic stub insertion technology.
(三)发明内容(3) Contents of the invention
1、目的1. Purpose
本发明的目的是提供一种基于动态插桩技术的数据包处理时延分析方法,它能够统计出数据包处理过程中操作系统内核的每个函数所消耗的时间以及在队列中排队等待的时间,为进一步的网络优化提供了强有力的依据。The purpose of the present invention is to provide a data packet processing delay analysis method based on dynamic stub technology, which can count the time consumed by each function of the operating system kernel in the data packet processing process and the time spent waiting in the queue , which provides a strong basis for further network optimization.
2、技术方案2. Technical solution
本发明的技术方案如下:一种基于动态插桩技术的数据包处理时延分析方法,其总体的框架如图1所示,图1中的机器可以是真实的计算机,也可以是通过虚拟化软件虚拟出来的虚拟计算机,图1中的机器1和机器2主要是从功能的角度来划分的,它们可以同时部署在同一个物理机上。机器1的主要功能是提供控制界面,分析并输出结果,机器1上部署了发包模块和统计模块,机器2的主要功能是收集信息,并将收集到的信息反馈给机器1,机器2上部署了插桩模块和收包模块。具体流程如图2所示,本发明一种基于动态插桩技术的数据包处理时延分析方法,该方法包括以下步骤:The technical scheme of the present invention is as follows: a data packet processing delay analysis method based on dynamic stub technology, its overall framework is shown in Figure 1, the machine in Figure 1 can be a real computer, or can be through virtualization The virtual computer created by software virtualization, machine 1 and machine 2 in Figure 1 are mainly divided from the perspective of function, and they can be deployed on the same physical machine at the same time. The main function of machine 1 is to provide a control interface, analyze and output the results. The contract sending module and statistics module are deployed on machine 1. The main function of machine 2 is to collect information and feed back the collected information to machine 1. Deploy on machine 2 Added the instrumentation module and packet receiving module. The specific process is as shown in Figure 2, a method for analyzing the time delay of data packet processing based on dynamic pile insertion technology of the present invention, the method comprises the following steps:
步骤201.在机器2上收集内核符号表,获取内核函数与地址的对应关系,输出可以进行插桩的函数列表,并传递给机器1。Step 201. Collect the kernel symbol table on machine 2, obtain the corresponding relationship between kernel functions and addresses, output a list of functions that can be instrumented, and pass it to machine 1.
步骤202.在机器1上根据优化的目标,确定需要分析的函数,输出需要插桩的函数列表,并传递给机器2。Step 202 . Determine the functions that need to be analyzed on machine 1 according to the optimization goal, output a list of functions that need to be stubbed, and pass it to machine 2 .
步骤203.将步骤202所确定的函数列表传递到机器2上,机器2运用动态插桩技术在需要监控的函数的头部插入一段代码,该代码会将函数的地址和当前的时间戳写入数据包。Step 203. Transfer the function list determined in step 202 to machine 2. Machine 2 uses dynamic instrumentation technology to insert a piece of code at the head of the function to be monitored. The code will write the address of the function and the current timestamp into data pack.
步骤204.启动收包模块和发包模块。机器1开始发送数据包,数据包传递到机器2的内核之后,若检测到数据包的目的地是机器2的收包模块的话,就将当前正在执行的函数的地址和时间戳写入数据包。当数据包到达机器2的收包模块时,收包模块将数据包返还给机器1,机器1的发包模块将来自机器2的数据包以文件的形式存储起来。Step 204. Start the packet receiving module and the packet sending module. Machine 1 starts to send data packets, and after the data packets are delivered to the kernel of Machine 2, if it is detected that the destination of the data packets is the receiving module of Machine 2, the address and timestamp of the function currently being executed are written into the data packets . When the data packet arrives at the packet receiving module of machine 2, the packet receiving module returns the data packet to machine 1, and the packet sending module of machine 1 stores the data packet from machine 2 in the form of a file.
步骤205.机器1统计所有来自机器2接收模块的数据包,计算并输出统计结果。Step 205. Machine 1 counts all data packets from the receiving module of Machine 2, calculates and outputs the statistical results.
其中,步骤201在机器2上收集内核符号表是要收集正在运行的内核的符号表,内核符号表中记录了内核函数和变量在内存中的地址,在Linux系统下,通过读取/boot目录下与内核版本相对应的System.map或直接读取/proc/ksyms就可以获取到内核符号表了,此外,还可以通过分析内核文件或内核调试信息来获得的内核符号表。由于内核符号表中不仅记录了内核函数的在内存中的地址,还记录了内核变量的地址,因此需要对读取到的内核符号表进行分析,过滤掉那些非函数的内核符号,输出所有内核函数的符号表,这些函数就是可以进行插桩的函数列表,确定之后,将其传递给机器1。Wherein, step 201 collects the kernel symbol table on the machine 2 is to collect the symbol table of the running kernel, the kernel function and the address of the variable in the memory are recorded in the kernel symbol table, under the Linux system, by reading the /boot directory The kernel symbol table can be obtained by downloading the System.map corresponding to the kernel version or directly reading /proc/ksyms. In addition, the kernel symbol table can also be obtained by analyzing the kernel file or kernel debugging information. Since the kernel symbol table not only records the address of the kernel function in memory, but also records the address of the kernel variable, it is necessary to analyze the read kernel symbol table, filter out those non-function kernel symbols, and output all kernel symbols. The symbol table of functions, these functions are the list of functions that can be inserted, and after they are determined, they are passed to machine 1.
其中,步骤202在机器1上根据优化的目标,确定需要分析的函数,输出需要插桩的函数列表。当机器1收到机器2的可以插桩的函数列表之后,可以手动或自动确定需要插桩的函数列表。手动确定需要对于内核处理过程比较熟悉,知道内核会调用哪些函数来处理数据包,然后手动的将需要插桩的函数写入文件形成需要插桩的函数列表。除了手动确定外,也可以写些脚步通过名字匹配的方法来自动确定。当然手动确定可以减少插桩的数量,可以降低插桩对网络性能的影响。Wherein, step 202 determines the functions to be analyzed on the machine 1 according to the optimization target, and outputs a list of functions to be stubbed. After machine 1 receives the list of functions that can be instrumented from machine 2, it can manually or automatically determine the list of functions that need to be instrumented. Manual determination requires familiarity with the kernel processing process, knowing which functions the kernel will call to process data packets, and then manually writing the functions that need to be inserted into a file to form a list of functions that need to be inserted. In addition to manual determination, you can also write some scripts to automatically determine through name matching. Of course, manual determination can reduce the number of stubs and reduce the impact of stubs on network performance.
其中,步骤203首先要将步骤202所确定的函数列表传递到机器2上,然后在机器上2运用动态插桩技术在所有需要监控的函数的头部插入一小段代码,插入完成之后,内核执行该函数时会首先执行插入的代码,接着执行原函数。插入的代码的功能是对当前正在处理的数据包进行检测,若满足某些条件则将当前正在执行的函数的地址和当前的时间戳添加数据包后面。Among them, step 203 first transfers the function list determined in step 202 to machine 2, and then uses dynamic instrumentation technology on machine 2 to insert a small piece of code at the head of all functions that need to be monitored. After the insertion is completed, the kernel executes This function will first execute the inserted code, and then execute the original function. The function of the inserted code is to detect the data packet currently being processed, and if certain conditions are met, the address of the currently executing function and the current timestamp are added to the back of the data packet.
其中,步骤204会在部署好插桩模块之后激活机器1的发包模块和机器2的收包模块。机器1的发包模块和机器2的收包模块都是运行在用户态下的应用程序。机器1的发包模块被激活之后会根据用户的配置以一定的速率向机器2的收包模块发送数据包,数据包的结构如图3所示,数据包包含两部分信息,元信息部分记录了数据包总共的大小、数据信息的偏移量及目前需要插入信息的偏移量等信息;数据信息则相对简单,就是一个函数地址与时间戳的表格,插桩模块每次都将函数地址和时间戳写入到数据信息的末尾。机器1的发包模块发送的数据包的数据信息部分用零填充,数据包到达机器2之后,位于内核中的插桩模块会将需要监控的函数的地址及内核调用该函数时的时间戳写入数据包的数据信息部分,并修改数据包的元信息。当数据包传递到收包模块之后,收包模块不会修改数据包,而是直接将数据包返还给机器1的发包模块。Wherein, step 204 activates the packet sending module of machine 1 and the packet receiving module of machine 2 after the posting module is deployed. Both the packet sending module of machine 1 and the packet receiving module of machine 2 are applications running in user mode. After the packet sending module of machine 1 is activated, it will send a data packet to the packet receiving module of machine 2 at a certain rate according to the user's configuration. The structure of the data packet is shown in Figure 3. The data packet contains two parts of information, and the meta information part records The total size of the data packet, the offset of the data information, and the offset of the information that needs to be inserted at present; the data information is relatively simple, which is a table of function addresses and timestamps. The timestamp is written at the end of the data message. The data information part of the data packet sent by the packet sending module of machine 1 is filled with zeros. After the data packet reaches machine 2, the stub module located in the kernel will write the address of the function to be monitored and the timestamp when the kernel calls the function into The data information part of the data packet, and modify the meta information of the data packet. After the data packet is delivered to the packet receiving module, the packet receiving module will not modify the data packet, but directly returns the data packet to the packet sending module of machine 1.
其中,步骤205机器1的发包模块接收到机器2返还的数据包之后,先将数据包以文件的形式存储起来,结束后再结合步骤201收集到的内核符号表,通过分析数据包的数据信息,可以计算出内核在数据包处理过程中调用了哪些函数,以及各个函数所消耗的时间。如果对于内核的数据包处理过程比较熟悉的话,通过查看入队列和出队列的时间戳,还能够分析出数据包在处理过程中的排队时延。Among them, after the packet sending module of machine 1 receives the data packet returned by machine 2 in step 205, it first stores the data packet in the form of a file, and then combines the kernel symbol table collected in step 201 to analyze the data information of the data packet , you can calculate which functions are called by the kernel during packet processing, and the time consumed by each function. If you are familiar with the packet processing process of the kernel, you can also analyze the queuing delay of the packet during processing by viewing the time stamps of entering and exiting the queue.
3、优点及功效3. Advantages and effects
本发明一种基于动态插桩技术的数据包处理时延分析方法,它与现有技术相比,其主要的优点是:(1)本发明能够全程的跟踪数据包的处理过程,详细的分析数据包接收和发送过程中每个函数所消耗的时间,以及在队列中排队所消耗的时间。(2)由于数据包的发送速率是用户可控的,通过调节数据包的发送速率能够有效的控制插桩模块所带来的开销,因此总的系统开销很小。(3)本发明具有很好的实时性和适应性,实时性是指数据包时延分析的结果反映了当前环境下的数据包处理时延的情况。然而随着网络负载的变化,数据包的时延也会发生很大的变化,由于本发明所带来的系统开销小,因此即使在重网络负载的情况下也能够使用,所以具有很强的适应性。The present invention is based on a data packet processing delay analysis method based on dynamic stub technology. Compared with the prior art, its main advantages are: (1) the present invention can track the processing process of the data packet in the whole process, and analyze it in detail. The time spent by each function during packet reception and transmission, as well as the time spent queuing in the queue. (2) Since the sending rate of the data packet is controllable by the user, the overhead brought by the instrumentation module can be effectively controlled by adjusting the sending rate of the data packet, so the total system overhead is very small. (3) The present invention has good real-time performance and adaptability. The real-time performance means that the result of data packet time delay analysis reflects the situation of data packet processing time delay under the current environment. However, as the network load changes, the delay of the data packet will also change greatly. Because the system overhead brought by the present invention is small, it can be used even under heavy network load, so it has a strong adaptability.
(四)附图说明 (4) Description of drawings
图1本发明的数据包处理时延分析方法的总体框架示意图Fig. 1 is a schematic diagram of the overall framework of the packet processing delay analysis method of the present invention
图2本发明的数据包处理时延分析方法的流程示意图Fig. 2 is a schematic flow chart of the packet processing delay analysis method of the present invention
图3本发明的数据包处理时延分析方法使用的数据包的结构示意图Fig. 3 is a schematic structural diagram of a data packet used in the data packet processing delay analysis method of the present invention
图中符号说明如下:The symbols in the figure are explained as follows:
201-205 步骤序号。201-205 Step number.
(五)具体实施方式 (5) Specific implementation methods
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。In order to make the object, technical solution and advantages of the present invention more clearly, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
本发明的主要思想是运用动态插桩技术收集并记录内核中与数据包处理相关的函数的地址及被调用的时间戳信息,再通过对这些信息的统计和分析得出内核各个函数在数据包发送和接收过程中所消耗的时间及在队列中排队所消耗的时间,从而为网络优化提供详细的分析数据。The main idea of the present invention is to use dynamic stub technology to collect and record the address of the function related to data packet processing in the kernel and the timestamp information of being called, and then obtain the information of each function in the kernel through the statistics and analysis of these information. The time spent in the process of sending and receiving and the time spent queuing in the queue provide detailed analysis data for network optimization.
本发明设置两台机器,即机器1和机器2,两台机器都是真实的计算机,具体型号是联想万全R510服务器,如图1所示,机器1和机器2主要是从功能的角度来划分的,它们可以同时部署在同一个物理机上。机器1的主要功能是提供控制界面,分析并输出结果,机器1上部署了发包模块和统计模块,机器2的主要功能是收集信息,并将收集到的信息反馈给机器1,机器2上部署了插桩模块和收包模块。The present invention is provided with two machines, namely machine 1 and machine 2, both machines are real computers, the specific model is Lenovo Wanquan R510 server, as shown in Figure 1, machine 1 and machine 2 are mainly divided from the perspective of function Yes, they can be deployed on the same physical machine at the same time. The main function of machine 1 is to provide a control interface, analyze and output the results. The contract sending module and statistics module are deployed on machine 1. The main function of machine 2 is to collect information and feed back the collected information to machine 1. Deploy on machine 2 Added the instrumentation module and packet receiving module.
本发明在软件上要求各个机器采用Linux操作系统,而且机器2上的Linux操作系统的内核应该是2.6.18或其后的版本,以便支持kprobe技术。具体的实施大致分成三个阶段来完成,第一个阶段是初始化,主要的工作是获取内核符号表,确定需要插桩的函数;第二个阶段是在机器2上部署插桩模块,由于收集和记录函数地址和时间戳;第三个阶段是开始发送和接收数据包,并对结果进行统计和分析,得出结果。The present invention requires each machine to adopt the Linux operating system in terms of software, and the kernel of the Linux operating system on the machine 2 should be version 2.6.18 or later, so as to support the kprobe technology. The specific implementation is roughly divided into three stages. The first stage is initialization. The main work is to obtain the kernel symbol table and determine the functions that need to be inserted; the second stage is to deploy the instrumentation module on machine 2. Due to the collection And record the function address and time stamp; the third stage is to start sending and receiving data packets, and count and analyze the results to get the results.
下面以一实例进行说明,如图2所示,本发明一种基于动态插桩技术的数据包处理时延分析方法,该方法具体步骤如下:An example is used to illustrate below, as shown in Figure 2, a kind of data packet processing delay analysis method based on dynamic stub technology of the present invention, the concrete steps of this method are as follows:
步骤201:收集机器2的内核符号表,收集的方法是先查看/proc/ksyms是否存在,如果存在,则将其内容拷贝到一个文件,然后传递给机器1即可。如果不存在则查看/boot目录下是否存在与正在运行的内核匹配的System.map文件,如果有则将其传递给机器1,如果没有则需要分析内核文件或内核调试信息来获得的,如果还是没办法获得则收集内核符号信息失败。获取到内核符号表之后还需要过滤掉那些非函数的内核符号信息,从而得到可以插桩的函数列表。Step 201: Collect the kernel symbol table of machine 2. The collection method is to first check whether /proc/ksyms exists, and if it exists, copy its content to a file, and then pass it to machine 1. If it does not exist, check whether there is a System.map file matching the running kernel in the /boot directory, and if so, pass it to machine 1. If not, you need to analyze the kernel file or kernel debugging information to obtain it. If it is still If there is no way to obtain it, the collection of kernel symbol information fails. After obtaining the kernel symbol table, it is necessary to filter out those non-function kernel symbol information, so as to obtain a list of functions that can be inserted.
步骤202:若步骤201成功的收集到了机器2的内核符号信息,则可以得到一个可以插桩的函数列表,然后通过手动或自动的方法确定需要插桩的函数列表。Step 202: If the kernel symbol information of the machine 2 is successfully collected in step 201, a list of functions that can be instrumented can be obtained, and then the list of functions that need to be instrumented can be determined manually or automatically.
步骤203:确定了需要插桩的函数之后,将那些需要插桩的函数传递给机器2,机器2获得需要插桩的函数列表之后,接下来的工作就是在那些需要插桩的函数的头部添加一段代码,用来记录函数的地址和函数被调用时的时间戳。这需要借助于Linux提供的kprobe机制,kprobe机制能够在内核的任何位置插入一段代码用来收集内核相关的信息。为了部署的方便可以采用SystemTap,SystemTap是基于kprobe的一种脚本语言,它能够将脚本翻译成一个C文件,并编译成内核模块,动态的添加到内核中。使用时只需要给它提供函数名称和需要插入的代码段即可。因此,获取到需要插桩的函数列表之后,通过SystemTap能够很容易的完成插桩的工作。Step 203: After determining the functions that need to be inserted, pass those functions that need to be inserted to machine 2. After machine 2 obtains the list of functions that need to be inserted, the next job is to add those functions that need to be inserted. Add a piece of code to record the address of the function and the timestamp when the function was called. This requires the help of the kprobe mechanism provided by Linux. The kprobe mechanism can insert a piece of code anywhere in the kernel to collect kernel-related information. For the convenience of deployment, SystemTap can be used. SystemTap is a scripting language based on kprobe. It can translate the script into a C file, compile it into a kernel module, and dynamically add it to the kernel. When using it, you only need to provide it with the function name and the code segment that needs to be inserted. Therefore, after obtaining the list of functions that need to be inserted, the work of instrumentation can be easily completed through SystemTap.
步骤204:启动收包模块和发包模块。完成插桩工作之后,就可以启动机器2的收包模块了,它会在某个端口上等待来自于机器1的数据包。启动收包模块之后,在机器1上启动发包模块,机器1会以一定的速率给机器2发送数据包,同时也接收机器2返回数据包,并将数据包以文件的形式存储起来,以便后面可以继续统计和分析。Step 204: Start the packet receiving module and the packet sending module. After completing the posting work, you can start the packet receiving module of machine 2, which will wait for the data packet from machine 1 on a certain port. After starting the packet receiving module, start the packet sending module on machine 1, machine 1 will send data packets to machine 2 at a certain rate, and at the same time receive the data packets returned by machine 2, and store the data packets in the form of files for later Statistics and analysis can continue.
步骤205:步骤204中将接收到机器2的数据包以文件的存储起来了,本步骤主要就是读取该文件,统计和分析出各个函数的所消耗的时间,并输出结果。Step 205: In step 204, the data packet received from the machine 2 is stored in a file. This step is mainly to read the file, count and analyze the time consumed by each function, and output the result.
图3是本发明的数据包处理时延分析方法使用的数据包的结构示意图Fig. 3 is a schematic structural diagram of a data packet used in the data packet processing delay analysis method of the present invention
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。Finally, it should be noted that the above embodiments are only used to illustrate and not limit the technical solutions of the present invention, although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: the present invention can still be modified Or an equivalent replacement, any modification or partial replacement without departing from the spirit and scope of the present invention shall fall within the scope of the claims of the present invention.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201110309258.6A CN102346710B (en) | 2011-10-13 | 2011-10-13 | Dynamic stubbing technology based time-delay analysis method for data packet processing |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201110309258.6A CN102346710B (en) | 2011-10-13 | 2011-10-13 | Dynamic stubbing technology based time-delay analysis method for data packet processing |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN102346710A CN102346710A (en) | 2012-02-08 |
| CN102346710B true CN102346710B (en) | 2015-04-29 |
Family
ID=45545404
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201110309258.6A Expired - Fee Related CN102346710B (en) | 2011-10-13 | 2011-10-13 | Dynamic stubbing technology based time-delay analysis method for data packet processing |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN102346710B (en) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9063759B2 (en) | 2012-03-28 | 2015-06-23 | International Business Machines Corporation | Optimizing subroutine calls based on architecture level of called subroutine |
| CN103049378A (en) * | 2012-12-18 | 2013-04-17 | 惠州市亿能电子有限公司 | Program debugging method without emulator |
| CN103365775B (en) * | 2013-06-21 | 2016-04-06 | 北京大学 | Based on the unit test method that internal state checks |
| CN109101416B (en) * | 2014-09-28 | 2022-01-14 | 华为技术有限公司 | Kernel fault injection method and electronic equipment |
| CN104504333B (en) * | 2014-11-25 | 2018-03-06 | 武汉安天信息技术有限责任公司 | Malicious code detecting method and device in ELF files |
| CN104680042B (en) * | 2015-03-10 | 2017-10-24 | 北京深思数盾科技股份有限公司 | A kind of method and system of virtual machine performance analysis |
| CN106155897B (en) * | 2015-04-16 | 2020-12-08 | 腾讯科技(深圳)有限公司 | Service processing method and device |
| CN105577480B (en) * | 2016-02-01 | 2019-04-12 | 新浪网技术(中国)有限公司 | A kind of monitoring method and device being connected to the network performance |
| CN106649063B (en) * | 2016-11-22 | 2020-11-17 | 腾讯科技(深圳)有限公司 | Method and system for monitoring time-consuming data during program operation |
| CN108664372A (en) * | 2018-05-08 | 2018-10-16 | 平安科技(深圳)有限公司 | Monitoring device, method and the computer readable storage medium of test process |
| CN109558325A (en) * | 2018-12-03 | 2019-04-02 | 浪潮电子信息产业股份有限公司 | Time delay statistical method and device and computer readable storage medium |
| CN110109673B (en) * | 2019-04-25 | 2020-10-30 | 武汉大学 | Compiler detection device and method based on Beidou subnanosecond high-precision time service |
| CN111813677B (en) * | 2020-07-09 | 2024-06-25 | 杭州优万科技有限公司 | Performance debugging method on embedded equipment |
| CN112363900B (en) * | 2020-11-16 | 2022-09-27 | 中国科学院计算技术研究所 | A method and system for analyzing network performance of a container in a host based on instrumentation |
| CN112416794B (en) * | 2020-12-03 | 2023-11-21 | 平安银行股份有限公司 | Code coverage rate processing method, device, equipment and storage medium |
| CN119676125B (en) * | 2024-11-18 | 2025-08-19 | 江苏新质信息科技有限公司 | Password protocol testing method and device for xfrm framework |
| CN119782130B (en) * | 2025-03-11 | 2025-05-23 | 山东正云信息科技有限公司 | Hot spot detection method and system based on domestic Shenwei platform |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101465863A (en) * | 2009-01-14 | 2009-06-24 | 北京航空航天大学 | Method for implementing high-efficiency network I/O in kernel virtual machine circumstance |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004295162A (en) * | 2003-02-04 | 2004-10-21 | I-Net Device Co Ltd | Remote monitoring system |
| US9460225B2 (en) * | 2009-06-01 | 2016-10-04 | Hewlett Packard Enterprise Development Lp | System and method for collecting application performance data |
-
2011
- 2011-10-13 CN CN201110309258.6A patent/CN102346710B/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101465863A (en) * | 2009-01-14 | 2009-06-24 | 北京航空航天大学 | Method for implementing high-efficiency network I/O in kernel virtual machine circumstance |
Non-Patent Citations (1)
| Title |
|---|
| 动态跟踪系统的性能模型研究及基于动态跟踪技术的机群监测软件的设计与实现;陶捷;《中国优秀博士学位论文全文数据库》;20090315;第46页第4.4.1节-第51页第4.5节、第115页第7.6.5节-第123页第7.7.4节 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102346710A (en) | 2012-02-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102346710B (en) | Dynamic stubbing technology based time-delay analysis method for data packet processing | |
| Saxena et al. | Memory deduplication for serverless computing with medes | |
| US9009677B2 (en) | Application testing and analysis | |
| García-Dorado et al. | High-performance network traffic processing systems using commodity hardware | |
| US20140012562A1 (en) | Modeling and evaluating application performance in a new environment | |
| CN103067218B (en) | High-speed network data packet content analysis device | |
| CN108021429B (en) | A method for calculating the affinity of virtual machine memory and network card resources based on NUMA architecture | |
| CN100568195C (en) | A monitoring method for process scheduling information of Linux operating system | |
| Du et al. | Hawkeye: Adaptive straggler identification on heterogeneous spark cluster with reinforcement learning | |
| Li et al. | Triton: A flexible hardware offloading architecture for accelerating apsara vSwitch in alibaba cloud | |
| CN101799767B (en) | Method for carrying out parallel simulation by repeatedly switching a plurality of operation modes of simulator | |
| CN110891083B (en) | A proxy method that supports parallel execution of multiple jobs in Gaia | |
| Qi et al. | LIFL: A Lightweight, Event-driven Serverless Platform for Federated Learning | |
| Neves et al. | Black-box inter-application traffic monitoring for adaptive container placement | |
| Xu et al. | Lioprof: exposing lustre file system behavior for i/o middleware | |
| CN101980166A (en) | A Time Sequence Control Method for Parallel Simulation of Cluster System | |
| CN103618641B (en) | Data packet detecting and monitoring system based on multiple-core network processor and capable of being deployed fast | |
| Zeng et al. | Network i/o path analysis in the kernel-based virtual machine environment through tracing | |
| Neves et al. | Detailed black-box monitoring of distributed systems | |
| Kang et al. | Understanding and Profiling {NVMe-over-TCP} Using ntprof | |
| Xu et al. | On multiple virtual NICs in cloud computing: Performance bottleneck and enhancement | |
| Kristiansen et al. | Modeling communication software execution for accurate simulation of distributed systems | |
| Guo et al. | Learning-based characterizing and modeling performance bottlenecks of big data workloads | |
| CN116560949B (en) | An implementation method, system, equipment and storage medium for data collection and reception | |
| ElBouanani et al. | Collaborative traffic measurement in virtualized data center networks |
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: 20150429 Termination date: 20181013 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |