KR100811468B1 - System and method for ensuring stability of server application by load test - Google Patents

System and method for ensuring stability of server application by load test Download PDF

Info

Publication number
KR100811468B1
KR100811468B1 KR1020050119706A KR20050119706A KR100811468B1 KR 100811468 B1 KR100811468 B1 KR 100811468B1 KR 1020050119706 A KR1020050119706 A KR 1020050119706A KR 20050119706 A KR20050119706 A KR 20050119706A KR 100811468 B1 KR100811468 B1 KR 100811468B1
Authority
KR
South Korea
Prior art keywords
packet
load
server application
data
packets
Prior art date
Application number
KR1020050119706A
Other languages
Korean (ko)
Other versions
KR20070060378A (en
Inventor
임범현
김진용
정재용
임정열
심광현
이범렬
양광호
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020050119706A priority Critical patent/KR100811468B1/en
Publication of KR20070060378A publication Critical patent/KR20070060378A/en
Application granted granted Critical
Publication of KR100811468B1 publication Critical patent/KR100811468B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템 및 방법에 관한 것으로서, 클라이언트가 실행되는 다수의 호스트에 설치되어 클라이언트에서 발생시키는 패킷을 캡쳐하여 가공함과 아울러 다양한 종류의 진행 로직 패킷을 저장하는 패킷 리파이너리(Packet refinery)와, 상기 가공된 데이터에 대해 패킷 부하를 생성시켜 서버 애플리케이션에 대해 다양한 패턴의 진행 로직 패킷을 사용하여 다양한 부하 테스트를 수행하는 부하 생성기로 구성되어 실제 클라이언트에서 사용한 패킷을 사용하여 신속하게 서버 애플리케이션의 기능 및 안정성 테스트를 수행함으로써, 클라이언트/서버 구조의 서버 애플리케이션 개발에 소요되는 테스트 기간을 단축시키고 안정적인 시스템을 구축할 수 있다. The present invention relates to a system and method for verifying server application stability through load testing. The present invention relates to a packet installed in a plurality of hosts on which a client is executed to capture and process packets generated by the client, and to store various types of progress logic packets. It consists of a packet refinery and a load generator that generates a packet load for the processed data and performs various load tests using various patterns of progress logic packets for the server application. By quickly performing functional and reliability testing of server applications, you can shorten the testing time required to develop server applications with client / server architectures and build stable systems.

서버 애플리케이션, 안정성 검증, 부하 테스트 Server Applications, Reliability Verification, Load Testing

Description

부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템 및 방법{SYSTEM AND METHOD FOR ENSURING STABILITY OF SERVER APPLICATION BY LOAD TEST} System and method for verifying server application stability through load testing {SYSTEM AND METHOD FOR ENSURING STABILITY OF SERVER APPLICATION BY LOAD TEST}

도 1은 본 발명의 일실시예에 의한 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템의 전체 구성도, 1 is an overall configuration diagram of a server application stability verification system through load testing according to an embodiment of the present invention;

도 2는 본 발명의 패킷 저장 과정을 나타낸 개념도, 2 is a conceptual diagram illustrating a packet storing process of the present invention;

도 3은 본 발명의 부하 발생 순서도, 3 is a load generation flowchart of the present invention;

도 4는 본 발명의 단계별 패킷 내용 가공 순서도, 4 is a step-by-step packet content processing flowchart of the present invention,

도 5는 본 발명의 네트워크 프로토콜의 구조 및 종류를 나타내는 형식 파일, 5 is a format file showing the structure and type of a network protocol of the present invention;

도 6은 본 발명의 패킷 조합 원리도이다. 6 is a packet combination principle diagram of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

1 : 부하 생성기 1: load generator

2 : 패킷 리파이너리 2: packet refiner

3 : 패킷 시뮬레이션 분석기 3: packet simulation analyzer

4 : 사용자 인터페이스 4: user interface

5 : 패킷 구조 관리기 5: packet structure manager

6 : 패킷 부하 관리기 6: packet load manager

9 : 패킷 데이터베이스 9: packet database

10 : 클라이언트 10: client

11 : 시뮬레이션 데이터베이스 11: simulation database

본 발명은 다중 사용자용 서버 애플리케이션의 안정성 및 성능을 테스트하는 소프트웨어 테스트 기술에 관한 것으로, 더욱 상세하게는 임의의 부하를 생성한 후 이를 서버 애플리케이션에 영향을 주어 서버의 안정성을 테스트하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템 및 방법에 관한 것이다. The present invention relates to a software testing technique for testing the stability and performance of a multi-user server application, and more particularly, through a load test that generates a random load and then affects the server application to test the stability of the server A server application stability verification system and method.

신뢰성이 높은 클라이언트/서버 시스템을 개발할 때 서버 애플리케이션의 안전성 테스트가 중요한 부분을 차지한다. When developing highly reliable client / server systems, safety testing of server applications is an important part.

임의의 부하를 생성한 뒤 이를 서버에 영향을 주어서 해당 서버의 안정성을 테스트하는 연구는 소프트웨어 공학 측면에서 보면 부하 테스트이며, 고부하 상태에서의 서버에 나타나는 이상 현상을 관찰하는 스트레스 테스트이다. 이는 실제 클라이언트와 비슷한 역할을 수행하는 가상 클라이언트를 사용하거나 웹서버의 경우 네트워크 패킷을 캡쳐하여, 이를 부하로 사용함으로서 서버의 안정성을 연구하는데 활용하고 있다. 최근에는 좀 더 실제와 같은 네트워크 환경에서 서버의 안정성을 테스트하기 위하여, 가상의 네트워크 회선을 만들어 주는 구조를 시뮬레이션 환경에 추가하는 연구가 진행되고 있다. The study that tests the stability of a server by generating a random load and then affecting the server is a load test from a software engineering perspective. It is a stress test that observes anomalies appearing on a server under high load. This is used to study the stability of a server by using a virtual client that plays a role similar to a real client or by capturing a network packet in the case of a web server and using it as a load. Recently, in order to test the stability of a server in a more realistic network environment, a study of adding a structure for making a virtual network circuit to a simulation environment has been conducted.

그런데, 기존 대규모 사용자용 시뮬레이터 시스템은 부하를 실제 게임 클라이언트를 이용하여 작성하였다. 이로 인해 프로그램 상으로 수행하여야 하는 작업이 많아 실제 테스트를 적용하는 데에는 고급 기술 인력이 투입되어야 하는 단점이 있었다. 또한, 클라이언트 구현 로직이 복잡할수록 생성하는 부하의 개수가 적어질 수 밖에 없는 한계가 있었다. By the way, the existing large-scale user simulator system was created using the actual game client. As a result, a lot of work must be performed in the program, which requires a high level of technical personnel to apply the actual test. In addition, as the client implementation logic becomes more complex, there is a limit that the number of loads generated is smaller.

따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 다음과 같은 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템 및 방법을 제공하는데 있다. Accordingly, the present invention has been made to solve the above problems of the prior art, an object of the present invention to provide a server application stability verification system and method through the load test as follows.

첫째, 부하 테스트 및 스트레스 테스트를 손쉽게 진행하고 실제 클라이언트가 발생하는 다양한 부하 상황을 서버 애플리케이션에 전달할 수 있도록 한다. 이를 위해, 상기 다양한 부하 상황은 패킷 리파이너리(Packet refinery)를 다수의 호스트에 설치하여 충분한 샘플 표본을 생성한 뒤, 이를 활용한다. First, it makes it easy to perform load and stress tests, and to communicate various load situations that a real client experiences to server applications. To this end, the various load situations install packet refinery on multiple hosts to generate enough sample samples and then utilize them.

둘째, 사용자가 부하를 생성시킬 때 자신의 애플리케이션을 수정 혹은 변형하지 않도록 한다. 이를 위해, 패킷 리파이너리(Packet refinery)를 클라이언트가 실행되는 호스트에 설치한 뒤 사용한다. Second, do not modify or modify your application when users create load. To do this, you use packet refinery after installing it on the host where the client is running.

셋째, 부하로 사용할 패킷을 갭쳐할 때 이를 재사용하기 편리한 구조로 변경 시키도록 한다. 이를 위해, 각 단계별로 새로운 정보를 추가하거나 변경한다. Third, when a packet to be used as a load is caught, it is changed into a structure that is convenient for reuse. To do this, add or change new information for each step.

넷째, 부하로 사용할 데이터의 유효성을 판단하고, 정상적인 값으로 채워진 패킷을 서버 애플리케이션에 송신하도록 한다. 이를 위해, 패킷의 구조에 따라 패킷을 결합하여 완전한 패킷을 생성한다. Fourth, determine the validity of the data to be used as a load, and send the packet filled with the normal value to the server application. To this end, packets are combined according to the structure of the packet to generate a complete packet.

다섯째, 대규모 사용자용 서버 애플리케이션의 안정성을 테스트할 수 있도록 대량의 부하를 생성하는 구조를 가지고 있도록 한다. 이를 위해, 패킷 부하 관리기(Packet load manager)는 다수의 패킷 부하(Packet load)를 생성하기 위하여 다수의 쓰레드를 사용하고, 이 구조에 변형을 가하여 부하 생성기(Load generator)를 여러 호스트에서 실행하여 대규모의 부하를 만듦으로써 부하 테스트를 진행한다. Fifth, we have a structure that creates a large load so that we can test the stability of a large user server application. To this end, the packet load manager uses multiple threads to generate multiple packet loads, and modify this structure to run load generators on multiple hosts Proceed with the load test by creating a load of.

상기와 같은 목적을 달성하기 위한 본 발명의 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템은, 클라이언트가 실행되는 다수의 호스트에 설치되어 클라이언트에서 발생시키는 패킷을 캡쳐하여 가공함과 아울러 다양한 종류의 진행 로직 패킷을 저장하는 패킷 리파이너리(Packet refinery); 및 상기 가공된 데이터에 대해 패킷 부하를 생성시켜 서버 애플리케이션에 대해 다양한 패턴의 진행 로직 패킷을 사용하여 다양한 부하 테스트를 수행하는 부하 생성기를 포함하여 이루어진 것을 특징으로 한다. Server application stability verification system through the load test of the present invention for achieving the above object, is installed on a plurality of hosts running the client to capture and process the packets generated by the client and various types of progress logic packet A packet refinery for storing the packet refinery; And a load generator that generates a packet load for the processed data and performs various load tests using progress logic packets of various patterns for the server application.

한편, 본 발명의 부하 테스트를 통한 서버 애플리케이션 안정성 검증 방법은, (a) 패킷 리파이너리(Packet refinery)를 클라이언트가 실행되는 호스트에 설 치하여, 발생되는 패킷을 캡쳐하는 단계; 및 (b) 상기 캡쳐된 패킷을 부하 생성기에서 전송받아 패킷 부하를 생성시키되, 부하로 사용될 데이터의 유효성을 판단하여 패킷의 구조에 따라 패킷을 결합 생성하여 서버 애플리케이션에 대해 다양한 패턴의 진행 로직 패킷을 사용하여 다양한 부하 테스트를 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다. On the other hand, the server application stability verification method through the load test of the present invention, (a) installing a packet refinery (Packet refinery) on the host running the client, capturing the packet generated; And (b) generating the packet load by receiving the captured packet from the load generator, determining the validity of the data to be used as the load, and combining and generating the packets according to the structure of the packet to generate progress logic packets of various patterns for the server application. It characterized in that it comprises a step of performing a variety of load test using.

이하, 본 발명의 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, a server application stability verification system and method through a load test of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 의한 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템의 전체 구성도이다. 1 is an overall configuration diagram of a server application stability verification system through load testing according to an embodiment of the present invention.

도 1을 참조하면, 본 발명은 크게, 클라이언트(Client)(10)에서 발생시키는 패킷(Packet)을 캡쳐하여 가공하는 패킷 리파이너리(Packet Refinery)(2)와, 패킷 리파이너리(2)에서 저장한 데이터를 사용하여 부하(Load)를 생성하는 부하 생성기(Load generator)(1)와, 네트워크 테스트 결과를 분석해주는 패킷 시뮬레이션 분석기(Packet simulation analysis)(3)로 구성된다. Referring to FIG. 1, the present invention is largely classified into a packet refinery 2 for capturing and processing a packet generated by a client 10 and data stored in the packet refiner 2. It is composed of a load generator (1) for generating a load (Load) using, and a packet simulation analysis (Packet simulation analysis) (3) for analyzing the network test results.

상기 패킷 리파이너리(2)는 클라이언트에 설치되는 모듈로 패킷을 캡쳐하고 도 2와 같이 변환하여 중앙의 패킷 데이터베이스(Packet DB)(9)에 저장한다. 이 때, 패킷 리파이너리(2)는 네트워크의 다수의 호스트에 설치되어 다양한 종류의 진행 로직 패킷을 저장한다. The packet refiner 2 is a module installed in the client to capture the packet, convert it as shown in FIG. 2 and store it in the central packet database 9. At this time, the packet refiner 2 is installed in a plurality of hosts of the network to store various kinds of progress logic packets.

패킷 부하 관리기(Packet load manager)(6)를 다수의 패킷 부하(Packet load)(7)를 생성시키고 관리해 준다. 상기 패킷 부하(7)는 서버 애플리케이션(Application server)(12)와 연결성을 가지며 하나의 클라이언트를 대체하는 것으로 서버 애플리케이션(12)와의 통신에는 패킷 데이터베이스(Packet DB)(9)에서 저장한 값을 패킷 구조 관리기(Packet structure manager)(8)에서 읽어 들인 프로토콜 구조에 따라 검사하여 실제 통신 패킷을 생성시킨다. 사용자 인터페이스(UI;User Interface)(4)는 사용자의 입력을 처리하는 부분으로 시뮬레이션(Simulation) 전체를 진행시키고 시뮬레이션 로드를 사용자에게 보여주는 역할을 한다. 진행중인 시뮬레이션 결과는 시뮬레이션 데이터베이스(Simulation DB)(11)에 저장되고, 이는 패킷 시뮬레이션 분석기(3)를 통하여 이를 확인할 수 있다. The packet load manager 6 generates and manages a plurality of packet loads 7. The packet load 7 has connectivity with a server application 12 and replaces one client. The packet load 7 stores a value stored in a packet DB 9 for communication with the server application 12. It checks according to the protocol structure read from the packet structure manager 8 to generate an actual communication packet. The user interface (UI) 4 processes a user's input and performs a simulation and shows a simulation load to a user. The simulation results in progress are stored in the simulation database 11, which can be confirmed by the packet simulation analyzer 3.

상기 패킷 리파이너리(2)에서 패킷을 캡쳐한 후, 변경을 가한 패킷을 패킷 데이터베이스(9)에 저장하고, 패킷 부하(7)에 패킷 데이터베이스(9)에 읽어온 데이터 C를 적용하여 서버 애플리케이션(12)의 네트워크 부하를 가한다. 부하 생성기(1)는 패킷 데이터베이스(9)에 저장된 패턴의 진행 로직 패킷을 사용하여 손쉽고 다양한 부하 테스트를 진행한다. After capturing the packet in the packet refiner 2, the changed packet is stored in the packet database 9, and the server application 12 by applying the data C read in the packet database 9 to the packet load 7 Loads the network). The load generator 1 performs easy and various load tests using the progress logic packets of the pattern stored in the packet database 9.

이와 같이, 부하 생성기(1)는 패킷 구조 파일(8)에 저장되어 있는 패킷을 읽어 들여서 시뮬레이션에 사용하며, 패킷 부하 관리기(6)은 실제 부하를 생성시키는 역할을 수행한다. 패킷 부하 관리기(6)가 생성시키는 패킷 부하(7)는 쓰레드 형태로 구동되고 시뮬레이션 데이터베이스(11)와 네트워크 연결성을 가진다. 패킷 구조 관리기(5)는 서버와 클라이언트간의 통신 규약, 즉 프로토콜의 구조를 읽어 들인 뒤 이를 패킷의 유효성을 검증할 때 사용한다. 사용자 인터페이스(4)는 사용자의 입력 및 시뮬레이션 상황을 처리해준다. 시뮬레이션 중에 일어난 결과를 시뮬레이션 데이터베이스(11)에 저장하고 패킷 시뮬레이션 분석기(3)는 이를 사용하여 시뮬레이션을 분석한다. In this way, the load generator 1 reads out the packets stored in the packet structure file 8 for use in the simulation, and the packet load manager 6 plays a role in generating the actual load. The packet load 7 generated by the packet load manager 6 is driven in the form of a thread and has network connectivity with the simulation database 11. The packet structure manager 5 reads the communication protocol, that is, the protocol structure between the server and the client, and uses it when validating the packet. The user interface 4 handles user input and simulation situations. The results generated during the simulation are stored in the simulation database 11 and the packet simulation analyzer 3 uses them to analyze the simulation.

도 2는 본 발명의 패킷 저장 과정을 나타낸 개념도이다. 구체적으로, 패킷을 캡쳐해서 이를 패킷 데이터베이스(9)에 저장하는 순서를 나타낸 것이다. 2 is a conceptual diagram illustrating a packet storing process of the present invention. Specifically, the procedure for capturing a packet and storing it in the packet database 9 is shown.

도 2를 참조하면, 사용자가 실제 전달할 데이터 A는 네트워크 인터페이스로, 도 4의 패킷 B와 같은 패킷의 형태로 전달되어 서버에 전달되나, 본 발명에서는 패킷 캡쳐 관리기(13)에서 설정된 규정에 따라 이를 패킷 캡쳐 드라이버(14)에서 캡쳐하여 시퀸스 수(Sequence number)와 TCP/UDP 구별자(Description)를 추가하여 데이터 B와 같이 변화시키고, 패킷 변환기(15)를 통과시켜 시간(time)을 추가한 데이터 C와 같은 형태로 패킷 데이터베이스(9)에 저장한다. Referring to FIG. 2, the data A to be actually delivered by the user is a network interface, which is delivered in the form of a packet such as Packet B of FIG. 4 to the server. Captured by the packet capture driver 14, the sequence number and TCP / UDP description are added to change like data B, and the packet translator 15 passes to add time. It is stored in the packet database 9 in the form of C.

도 3은 본 발명의 부하 발생 순서도이다. 3 is a flow chart of load generation according to the present invention.

도 3을 참조하면, Referring to Figure 3,

패킷 데이터베이스(9)에 저장된 데이터 C를 읽어 들인 뒤 패킷 부하 관리기(6)가 생성한 패킷 부하(7)에 전달하고, 상기 데이터 D를 갖는 패킷 부하(7)는 최종적으로 패킷 B와 같은 형태를 서버 애플리케이션(12)에 전달한다. 이 때 패킷 부하 관리기(6)가 패킷 데이터베이스(9)에서 읽어오는 데이터 C는 사용자 인터페이스 (4)를 통하여 제어된다. The data C stored in the packet database 9 is read and then transferred to the packet load 7 generated by the packet load manager 6, and the packet load 7 having the data D finally has the same form as the packet B. Deliver to server application 12. At this time, the data C read out from the packet database 9 by the packet load manager 6 is controlled via the user interface 4.

도 4는 본 발명의 단계별 패킷 내용 가공 순서도이다. 즉, 본 발명에서 사용하는 패킷이 캡쳐되고 여러 단계를 거친 뒤 최종적으로 서버 애플리케이션으로 전달하기까지의 데이터의 변화를 도식화한 것이다. 4 is a step-by-step packet content processing flowchart of the present invention. In other words, it illustrates the change of data from the packet used in the present invention to capture and go through the various steps and finally to the server application.

도 4를 참조하면, 실제 클라이언트에서 서버 애플리케이션에 전달하는 정보는 데이터 A이며, 이는 TCP/IP 통신을 통하여 패킷 A로 전환되고 이를 패킷 캡쳐 드라이버(14)에서 캡쳐한다. 이 때, 시퀀스 수, TCP와 UDP를 구별해주는 확장자가 추가되어 데이터 B의 형태로 되며, 이는 패킷 변환기(15)를 거치면서 시간 필드가 추가되어 데이터 C의 형태로 패킷 데이터베이스(9)에 저장된다. 패킷 부하 관리기(6)는 패킷 데이터베이스(9)에서 데이터 C 및 패킷 구조 파일(8)을 읽어 들인 뒤 데이터 D를 TCP/UDP 통신을 사용하여 시뮬레이션 데이터베이스(11)에 전달하면 패킷 B와 같은 형태의 패킷이 발생하게 된다. Referring to FIG. 4, the information delivered from the actual client to the server application is data A, which is converted to packet A through TCP / IP communication and captured by the packet capture driver 14. At this time, an extension for distinguishing the sequence number, TCP and UDP is added to form the data B, which is added to the time field through the packet converter 15 and stored in the packet database 9 in the form of data C. . The packet load manager 6 reads the data C and the packet structure file 8 from the packet database 9 and transfers the data D to the simulation database 11 using TCP / UDP communication. Packets will be generated.

도 5는 본 발명의 네트워크 프로토콜의 구조 및 종류를 나타내는 형식 파일이다. 도 5에 도시된 바와 같이, 클라이언트/서버간의 통신 규약을 나타내는 구조파일을 정의하고, 프로토콜의 개수, 프로토콜의 구조를 패킷 구조 관리기(5)의 규칙대로 작성한다. 5 is a format file showing the structure and type of the network protocol of the present invention. As shown in Fig. 5, a structure file indicating a communication protocol between the client and the server is defined, and the number of protocols and the structure of the protocols are prepared in accordance with the rules of the packet structure manager 5.

도 6은 본 발명의 패킷 조합 원리도이다. 도 5의 패킷 구조 파일(8)과 패킷 데이터베이스(9)에 저장된 데이터 C를 사용하여 유효한 패킷을 생성하는 패킷 조합 개념을 도시하고 있다. 데이터 A가 데이터 C로 전환될 때, 데이터 A는 여러 개의 데이터 C로 생성되어질 수 있으므로 데이터 D를 생성할 때에는 다수의 데이터 N이 필요할 수 있으므로 이를 위하여 패킷 구조 파일(8)을 읽어 들여서 처리한다. 6 is a packet combination principle diagram of the present invention. The packet combination concept of generating valid packets using the data structure C stored in the packet structure file 8 and the packet database 9 of FIG. 5 is shown. When data A is converted to data C, since data A may be generated from several data C, a plurality of data N may be required when generating data D, so that the packet structure file 8 is read and processed.

이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. Although the present invention has been described in more detail with reference to some embodiments, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention.

상술한 바와 같이, 본 발명에 의한 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템 및 방법은 다음과 같은 장점이 있다. As described above, the server application stability verification system and method through the load test according to the present invention has the following advantages.

1. 다중 사용자용 서버 애플리케이션 개발에 있어서 소요되는 안정화 테스트 기간을 단축할 수 있다. 1. Reduce stabilization testing time for developing multi-user server applications.

2. 서버 애플리케이션에 부하의 내용을 생성하는데 별도의 고도의 작업을 하지 않고 실제 클라이언트에서 사용하는 패킷을 캡쳐해서 이를 재사용하기 때문에 테스트 적용성 및 효율성을 향상시킬 수 있다. 2. Test application and efficiency can be improved by capturing and reusing the packets used by real clients without any extra work of generating load on server application.

3. 간단한 조작만으로 사용할 수 있으므로 개발자 뿐만 아니라 시스템 엔지니어 등 시스템 안정성 테스트에 손쉽게 활용될 수 있다. 3. Because it can be used with simple operation, it can be easily used for system stability test such as developers as well as system engineers.

4. 다양한 종류의 시뮬레이션을 사전에 수행하여 시스템의 안정도를 확보하여 사용자들이 보다 질 높은 인터넷 서비스를 접할 기회를 얻을 수 있다. 4. Various kinds of simulations can be performed in advance to secure the stability of the system, giving users the opportunity to access higher quality Internet services.

Claims (10)

클라이언트가 실행되는 다수의 호스트에 설치되어 클라이언트에서 발생시키는 패킷을 캡쳐하여 가공함과 아울러 다양한 종류의 진행 로직 패킷을 저장하는 패킷 리파이너리(Packet refinery); 및 A packet refinery installed in a plurality of hosts on which the client is executed to capture and process packets generated by the client and to store various kinds of progress logic packets; And 상기 가공된 데이터에 대해 패킷 부하를 생성시켜 서버 애플리케이션에 대해 다양한 패턴의 진행 로직 패킷을 사용하여 다양한 부하 테스트를 수행하는 부하 생성기A load generator that generates a packet load for the processed data to perform various load tests using various patterns of progress logic packets for the server application. 를 포함하는 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템. Server application stability verification system through a load test, characterized in that it comprises a. 제 1 항에 있어서, 상기 시스템은, 부하 테스트에 대한 시뮬레이션 결과를 분석하는 패킷 시뮬레이션 분석기를 더 포함하는 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템. The system of claim 1, wherein the system further comprises a packet simulation analyzer for analyzing a simulation result for the load test. 제 1 항 또는 제 2 항에 있어서, 상기 패킷 리파이너리는, The method according to claim 1 or 2, wherein the packet refiner, TCP/IP 통신을 통해 전환된 패킷을 캡쳐하는 패킷 캡쳐 드라이버; A packet capture driver for capturing packets converted via TCP / IP communication; 상기 캡쳐된 패킷에 대해 시퀸스 수 및 TCP/UDP 구별자를 추가하여 데이터를 변화시키는 패킷 캡쳐 관리기; 및 A packet capture manager for changing data by adding a sequence number and a TCP / UDP identifier to the captured packet; And 상기 변화된 데이터에 대해 시간을 추가하여 데이터를 변환시키는 패킷 변환 기A packet converter for converting data by adding time to the changed data 를 포함하는 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템. Server application stability verification system through a load test, characterized in that it comprises a. 제 3 항에 있어서, 상기 시스템은, 패킷 변환기로부터 출력되는 데이터를 TCP/UDP 통신을 사용하여 변화된 패킷을 저장하는 패킷 데이터베이스를 더 마련한 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템. The system of claim 3, wherein the system further comprises a packet database configured to store a packet that is changed by using TCP / UDP communication for data output from the packet converter. 제 4 항에 있어서, 상기 부하 생성기는, The method of claim 4, wherein the load generator, 상기 패킷 리파이너리로부터 전달된 데이터를 읽어 들여 서버 애플리케이션과의 연결성을 가지며 하나의 클라이언트를 대체하는 다수의 패킷 부하를 생성시키는 패킷 부하 관리기; A packet load manager configured to read data transmitted from the packet refinery and generate a plurality of packet loads having connectivity with a server application and replacing one client; 상기 패킷 부하 관리기와 서버 애플리케이션간 연결성에 대해, 패킷 구조 파일을 읽어 들여 프로토콜 구조에 대응한 통신 패킷을 생성시킴과 아울러 패킷의 유효성을 검증하는 패킷 구조 관리기; 및 A packet structure manager which reads a packet structure file for a connection between the packet load manager and a server application, generates a communication packet corresponding to a protocol structure, and validates the packet; And 사용자 조작을 지원함과 아울러 서버 애플리케이션 안정성 검증 과정을 디스플레이시키는 사용자 인터페이스User interface that supports user interaction and displays the process of verifying server application stability 로 이루어진 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템. Server application stability verification system through load testing, characterized in that consisting of. 제 5 항에 있어서, 상기 패킷 시뮬레이션 분석기는 시뮬레이션 결과를 저장하는 시뮬레이션 데이터베이스를 포함하는 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템. The system of claim 5, wherein the packet simulation analyzer comprises a simulation database for storing simulation results. (a) 패킷 리파이너리(Packet refinery)를 클라이언트가 실행되는 호스트에 설치하여, 발생되는 패킷을 캡쳐하는 단계; 및 (a) installing a packet refinery on a host on which the client is executed to capture packets generated; And (b) 상기 캡쳐된 패킷을 부하 생성기에서 전송받아 패킷 부하를 생성시키되, 부하로 사용될 데이터의 유효성을 판단하여 패킷의 구조에 따라 패킷을 결합 생성하여 서버 애플리케이션에 대해 다양한 패턴의 진행 로직 패킷을 사용하여 다양한 부하 테스트를 수행하는 단계(b) Generate the packet load by receiving the captured packet from the load generator, determine the validity of the data to be used as the load, and combine the packets according to the structure of the packet to use the progress logic packet of various patterns for the server application. To perform various load tests 를 포함하는 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 방법. Server application stability verification method through the load test, characterized in that it comprises a. 제 7 항에 있어서, 상기 (a) 단계는, The method of claim 7, wherein the step (a), TCP/IP 통신을 통해 전환된 패킷을 캡쳐하는 단계; Capturing packets converted via TCP / IP communication; 상기 캡쳐된 패킷에 대해 시퀸스 수 및 TCP/UDP 구별자를 추가하여 데이터를 변화시키는 단계; 및 Changing the data by adding a sequence number and a TCP / UDP identifier for the captured packet; And 상기 변화된 데이터에 대해 시간을 추가하여 데이터를 변환시키는 단계Converting data by adding time to the changed data 로 이루어진 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안 정성 검증 방법. Server application stability verification method through load testing, characterized in that consisting of. 제 7 항에 있어서, 상기 (b) 단계는, The method of claim 7, wherein step (b), 상기 패킷 리파이너리로부터 전달된 데이터를 읽어 들여 서버 애플리케이션과의 연결성을 가지며 하나의 클라이언트를 대체하는 다수의 패킷 부하를 생성시키는 단계; Reading data transferred from the packet refinery to generate a plurality of packet loads having connectivity with a server application and replacing one client; 부하로 사용될 데이터의 유효성을 판단하여 패킷의 구조에 따라 패킷을 결합 생성하는 단계; 및 Determining a validity of data to be used as a load and generating the combined packets according to the structure of the packet; And 상기 결합 생성된 다양한 패턴의 진행 로직 패킷을 서버 애플리케이션에 대해 다양한 부하 테스트를 수행하는 단계Performing various load tests on a server application of the combined logic generated packets of various patterns; 로 이루어진 것을 특징으로 하는 부하 테스트를 통한 서버 애플리케이션 안정성 검증 방법. Server application stability verification method through load testing, characterized in that consisting of. 삭제delete
KR1020050119706A 2005-12-08 2005-12-08 System and method for ensuring stability of server application by load test KR100811468B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050119706A KR100811468B1 (en) 2005-12-08 2005-12-08 System and method for ensuring stability of server application by load test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050119706A KR100811468B1 (en) 2005-12-08 2005-12-08 System and method for ensuring stability of server application by load test

Publications (2)

Publication Number Publication Date
KR20070060378A KR20070060378A (en) 2007-06-13
KR100811468B1 true KR100811468B1 (en) 2008-03-07

Family

ID=38356406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050119706A KR100811468B1 (en) 2005-12-08 2005-12-08 System and method for ensuring stability of server application by load test

Country Status (1)

Country Link
KR (1) KR100811468B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100916155B1 (en) * 2007-08-10 2009-09-08 유넷시스템주식회사 packet capture inspection system and method therefore
KR100962532B1 (en) 2007-12-18 2010-06-14 한국전자통신연구원 System for load regenerating using packets of load test and its method
KR20090090624A (en) * 2008-02-21 2009-08-26 (주)엔 소프트 Stress test method and system under convergence network environment
KR101269671B1 (en) 2009-12-01 2013-05-30 한국전자통신연구원 Game grammar based packet capture analyzing apparatus for game testing and its method
CN110034972B (en) * 2019-03-22 2021-07-06 深圳市腾讯信息技术有限公司 Server pressure testing method and device
CN113419860A (en) * 2021-06-30 2021-09-21 深圳市链融科技股份有限公司 High-concurrency verification processing method and device, computer equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252987A (en) 1999-03-02 2000-09-14 Nippon Telegr & Teleph Corp <Ntt> Transmission network system and its traffic generation method and method for evaluating network performance
KR20040052015A (en) * 2002-12-13 2004-06-19 한국전자통신연구원 Traffic measurement system and traffic analysis method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252987A (en) 1999-03-02 2000-09-14 Nippon Telegr & Teleph Corp <Ntt> Transmission network system and its traffic generation method and method for evaluating network performance
KR20040052015A (en) * 2002-12-13 2004-06-19 한국전자통신연구원 Traffic measurement system and traffic analysis method thereof

Also Published As

Publication number Publication date
KR20070060378A (en) 2007-06-13

Similar Documents

Publication Publication Date Title
KR101269671B1 (en) Game grammar based packet capture analyzing apparatus for game testing and its method
KR100962532B1 (en) System for load regenerating using packets of load test and its method
Cacciari et al. Controllability and observability in distributed testing
US7765096B1 (en) Simulation of network traffic using non-deterministic user behavior models
KR100811468B1 (en) System and method for ensuring stability of server application by load test
CN113489603B (en) Interactive background flow generation method and system in network target range
WO2010105146A1 (en) Multiple related event handling based on xml encoded event handling definitions
Looker et al. Simulating errors in web services
Wang et al. A model-based framework for cloud API testing
Marquis et al. SCL: a language for security testing of network applications
US8556725B2 (en) Scenario-based load testing apparatus and method
KR20100062797A (en) Method and apparatus for testing online performance on client/server
Berger et al. Does my bft protocol implementation scale?
CN105553775B (en) Acquisition methods, device and the test macro of information in a kind of test macro
KR101138302B1 (en) Device for combination of online game server-test
Hine et al. Scalable emulation of enterprise systems
WO2016048294A1 (en) Infrastructure rule generation
Munea et al. Design and implementation of fuzzing framework based on IoT applications
Wang et al. A model-based behavioral fuzzing approach for network service
Wang et al. A model-based fuzzing approach for DBMS
Berger et al. Simulating BFT Protocol Implementations at Scale
Singha et al. {MESSI}: Behavioral Testing of {BGP} Implementations
Kuemper et al. From semantic iot-service descriptions to executable test cases-information flow of an implemented test framework
Scholz Performance Prediction of Programmable Data Planes through Control Flow Modeling
Hance et al. Development of a Multi-purpose Fuzzer to Perform Assessment as Input to a Cybersecurity Risk Assessment and Analysis System

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 18