KR20090065747A - 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법 - Google Patents

부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법 Download PDF

Info

Publication number
KR20090065747A
KR20090065747A KR1020070133218A KR20070133218A KR20090065747A KR 20090065747 A KR20090065747 A KR 20090065747A KR 1020070133218 A KR1020070133218 A KR 1020070133218A KR 20070133218 A KR20070133218 A KR 20070133218A KR 20090065747 A KR20090065747 A KR 20090065747A
Authority
KR
South Korea
Prior art keywords
packet
load
packets
test
scenario
Prior art date
Application number
KR1020070133218A
Other languages
English (en)
Other versions
KR100962532B1 (ko
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 KR1020070133218A priority Critical patent/KR100962532B1/ko
Priority to US12/264,589 priority patent/US8667119B2/en
Publication of KR20090065747A publication Critical patent/KR20090065747A/ko
Application granted granted Critical
Publication of KR100962532B1 publication Critical patent/KR100962532B1/ko

Links

Images

Classifications

    • A63F13/10
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/196Integration of transport layer protocols, e.g. TCP and UDP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법에 관한 것으로, 온라인 캐주얼 게임 등 단순 부하 테스트에 소요되는 테스트 기간을 단축할 수 있고, 온라인 게임 서버 애플리케이션에 부하의 내용을 생성해 내는데 별도의 고도의 작업을 하지 않고 종래 게임 클라이언트에서 발생하는 정보를 가공하여 이를 사용하므로 테스트 적용이 빨라지고 테스트 효율성이 높아지게 된다. 또한, 간단한 조작만으로 사용할 수 있으므로 개발자뿐만 아니라 시스템 엔지니어 등 시스템 안정성 테스트에 손쉽게 활용될 수 있으며, 다양한 종류의 시뮬레이션을 사전에 수행하여 시스템의 안정도를 확보함으로써 사용자들이 보다 질 높은 온라인 게임 서비스를 접할 기회를 얻을 수 있다.
게임, 패킷, 에이전트, 서버

Description

부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법{SYSTEM FOR LOAD REGENERATING USING PACKETS OF LOAD TEST AND ITS METHOD}
본 발명은 온라인 게임 서버 애플리케이션의 효율을 알아보기 위한 부하(load) 테스트 기술 중 패킷의 부하를 재생성하는 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 클라이언트와 서버간의 통신과정에서 발생하는 게임 플레이 패킷을 수집하여 이를 다시 대규모의 부하로 재생성하는 시스템 및 그 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-044-02, 과제명: 멀티코아 CPU 및 MPU기반 크로스플랫폼 게임기술 및 표준화 기술].
주지된 바와 같이, 클라이언트/서버 기반의 온라인 게임을 개발할 때 온라인 게임 서버 애플리케이션의 안정성 테스트가 중요한 부분을 차지한다. 이러한 다중 사용자용 서버 애플리케이션의 안정성 및 성능을 자동으로 테스트하는 분야는 소프 트웨어 테스트 분야에 속한다.
임의의 부하를 생성해 낸 뒤 이를 서버에 영향을 주어 서버의 안정성을 테스트하는 연구는 소프트웨어 공학 측면에서 보면 부하 테스트이고, 고부하 상태에서의 서버에 나타나는 이상 현상을 관찰하는 스트레스 테스트의 범주에 해당된다.
실제 클라이언트와 비슷한 역할을 수행하는 가상 클라이언트를 사용하거나 웹 서버의 경우 네트워크 패킷을 캡쳐하고 이를 부하로 사용하여 활용하는 연구가 진행되고 있다. 또한 최근에는 좀 더 실제와 같은 네트워크 환경에서 서버의 안정성을 테스트하기 위하여 가상의 네트워크 회선을 만들어주는 구조를 시뮬레이션 환경에 추가하는 연구가 진행되고 있다.
종래 부하 테스트를 위해 패킷을 수집하여 대규모의 부하로 재생성하는 기술에는 부하를 실제 게임 클라이언트를 이용하여 작성해서 하는 방식이 있었고, 다른 패킷 리플레이를 기반으로 하는 방식이 있었다.
그러나, 상기 종래 기술에서와 같이, 부하를 실제 게임 클라이언트를 이용하여 작성해서 해야 하는 방식은 프로그램 상으로 해줘야 하는 일들이 너무 많아 실제 테스트를 적용하는데 고급 기술 인력이 투입되어야 하는 단점이 있다. 또한, 패킷 리플레이 기반의 기술들은 액션의 개념이 없기 때문에 게임 등의 인터액티브한 애플리케이션을 테스트하는 데 있어 다소 무리가 있다.
그리고, 온라인 게임 서버의 경우 일반 서버 애플리케이션에 비해 복잡한 로직을 사용하고 있기 때문에 일반적인 패킷 재사용 방법으로는 온라인 게임 서버 애플리케이션의 안정성을 테스트하기가 어렵다는 문제점이 있다.
이에, 본 발명의 기술적 과제는 상술한 문제점을 해결하기 위해 안출한 것으로서, 패킷 재사용 방법에 있어서, 클라이언트와 서버간의 통신과정에서 발생하는 게임 플레이 패킷을 수집하고, 이 수집된 패킷을 일련의 액션으로 재정의 및 조합한 후 다양한 형태의 시나리오를 재구성하여 테스트함으로써, 온라인 캐주얼 게임 등의 서버 애플리케이션의 안정성을 보다 쉽게 테스트할 수 있도록 한 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법을 제공한다.
본 발명의 일 관점에 따른 부하 테스트를 위한 패킷의 부하 재생성 시스템 은, 게임 클라이언트 애플리케이션과 게임 서버 애플리케이션간의 송수신 패킷을 수집하는 패킷 수집부와, 수집된 패킷을 리스트 형태로 저장하는 패킷 데이터 저장소와, 저장된 패킷을 액션으로 편집 및 재정의하고, 재정의된 패킷을 조합하여 테스트 시나리오를 구성하는 중앙 관리부와, 재정의된 패킷과 구성된 테스트 시나리오에 따라 발생되는 부하(load)를 생성하는 에이전트를 포함하는 것을 특징으로 한다.
본 발명의 다른 관점에 따른 부하 테스트를 위한 패킷의 부하 재생성 방법은, 게임 클라이언트 애플리케이션과 게임 서버 애플리케이션간의 송수신 패킷을 수집하는 단계와, 수집된 패킷을 리스트 형태로 패킷 데이터 저장소에 저장하는 단계와, 저장된 패킷을 액션으로 편집 및 재정의하고, 재정의된 패킷을 조합하여 테스트 시나리오를 구성하는 단계와, 재정의된 패킷과 구성된 테스트 시나리오에 따라 부하(load)를 생성하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 온라인 캐주얼 게임 등 단순 부하 테스트에 소요되는 테스트 기간을 단축할 수 있고, 온라인 게임 서버 애플리케이션에 부하의 내용을 생성해 내는데 별도의 고도의 작업을 하지 않고 종래 게임 클라이언트에서 발생하는 정보를 가공하여 이를 사용하므로 테스트 적용이 빨라지고 테스트 효율성이 높아지게 된다.
또한, 본 발명은 간단한 조작만으로 사용할 수 있으므로 개발자뿐만 아니라 시스템 엔지니어 등 시스템 안정성 테스트에 손쉽게 활용될 수 있으며, 다양한 종류의 시뮬레이션을 사전에 수행하여 시스템의 안정도를 확보함으로써 사용자들이 보다 질 높은 온라인 게임 서비스를 접할 기회를 얻을 수 있는 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법을 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 부하 테스트를 위한 패킷의 부하 재생성 시스템의 블록 구성도로서, 게임 클라이언트 애플리케이션(1)과 게임 서버 애플리케이션(6)간의 통신과정에서 발생하는 패킷, 예컨대 하나의 게임 플레이에 대한 송수신 패킷을 수집하는 패킷 수집부(2)와, 이 패킷 수집부(2)에서 수집된 패킷이 리스트 형태로 저장되는 패킷 데이터 저장소(3)와, 이 패킷 데이터 저장소(3)로부터 읽어 온 패킷을 일련의 액션으로 편집하고 재정의하며, 이 재정의된 패킷을 조합하여 테스트 시나리오를 구성함으로써 테스트 전반의 과정을 중앙에서 관리하는 중앙 관리부(4)와, 다수의 에이전트가 존재하고 각 에이전트가 재정의된 패킷과 시나리오에 따라 대규모의 부하를 생성하는 에이전트(5)로 이루어진다.
여기서, 패킷 수집부(2)는 게임 클라이언트 애플리케이션, 게임 서버 애플리케이션, 또는 별도의 모듈로 설치될 수 있으며, 패킷을 수집하게 될 주소 및 포트, 수집할 프로토콜 정보를 설정한 후 패킷 캡쳐 드라이버를 사용하여 패킷을 수집한 다음 수집된 패킷을 패킷 데이터 저장소(3)에 저장한다.
이때, 프로토콜은 일반적으로 TCP 또는 UDP를 설정하지만 다른 프로토콜을 사용할 수도 있으며, 복수의 주소 및 포트와 복수의 프로토콜을 설정할 수도 있다.
온라인 게임에서는 캐주얼 게임과 같은 단순한 부하 테스트 및 스트레스 테스트를 손쉽게 진행하고 실제 클라이언트가 발생하는 다양한 부하 상황을 서버 애플리케이션에 전달해야 한다. 이에 따라 패킷 수집부(2)를 통해 여러 번 거쳐 충분한 샘플 표본을 만든 뒤 다양한 부하 상황을 만들어 활용하는 것이다.
다음으로, 중앙 관리부(4)는 중앙에서 부하 테스트를 관장하는 곳으로, 패킷 편집부(4-1), 패킷 등록부(4-2), 시나리오 관리부(4-3), 에이전트 관리부(4-4), 모니터부(4-5)로 이루어진다.
패킷 편집부(4-1)는 패킷 데이터 저장소(3)로부터 읽어온 패킷을 편집하는 부로서, 패킷의 재사용을 위한 가공역할을 수행한다. 즉 게임 플레이에 필요한 아이디(ID), 패스워드(password), 세션키값 등을 일정 값으로 치환하여 게임 플레이가 가능하도록 가공한다. 이때 불필요한 패킷은 패킷 편집부(4-1)에서 삭제한다.
온라인 게임의 특성상 아이디 및 패스워드, 세션키값 등 세션마다 다른 정보를 사용해야 하는 경우가 있어, 상술한 바와 같이 패킷 편집부(4-1)를 통해 부하를 생성하기전 미리 패킷정보를 수정하는 것이다.
패킷 등록부(4-2)는 일련의 패킷 그룹을 정의하여 등록하는 부로서, 로그인 과정, 게임방 생성과정 등 게임에 있어 수행되는 하나의 과정을 일련의 패킷 그룹으로 정의한다.
시나리오 관리부(4-3)는 패킷 등록부(4-2)에서 정의된 패킷 및 패킷 그룹들을 조합하여 테스트 시나리오를 작성하는 부로서, 등록된 다수의 패킷을 제어하여 조건문, 반복문 등을 사용함으로써 시나리오를 작성할 수 있다. 이때, 시나리오는 스크립트 형태로 작성된다.
온라인 게임의 특성상 서버로부터 받은 패킷에 따라 다양하게 반응해서 응답해야 하는 경우가 있으므로, 패킷 등록부(4-2)에서 패킷을 그룹별로 묶어 액션을 정의하고, 시나리오 관리부(4-3)에서 시나리오를 기반으로 조건문, 반복문 등을 스크립트를 통해 작성하는 것이다.
에이전트 관리부(4-4)는 다수의 에이전트를 관리하는 부로서, 시나리오 관리부(4-3)에서 작성된 시나리오를 바탕으로 시나리오, 패킷 및 부하 제어 정보를 통합하여 각 에이전트에게 전달한다.
모니터부(4-5)는 게임 서버 애플리케이션(6)의 효율 상태를 확인하기 위해 게임 서버 애플리케이션(6)의 물리적 서버에 대한 실시간 정보를 게임 서버 애플리케이션(6)에 설치된 모니터 관리부(7)를 통해 모니터하는 부로서, 모니터 관리부(7)로부터 실시간 또는 로그파일 형태로 게임 서버 애플리케이션(6)의 정보를 수신한다.
에이전트(5)는 스크립트 형태로 작성된 시나리오를 바탕으로 실제 부하를 생성하는 부로서, 다수의 네트워크 부하를 생성한다.
이때, 다수의 네트워크 부하란 다수의 네트워크 세션을 의미하는 것으로 이는 다수의 유저(User)를 의미한다. 즉, 다수의 에이전트가 존재하고 하나의 에이전트는 다수의 유저를 생성하기 때문에 최종적으로 대규모의 유저가 생성되어 통신을 하게 되는 것이다.
대규모 사용자용 게임 서버 애플리케이션의 안정성을 테스트하기 위해서는 대량의 부하를 생성하는 구조를 가져야 하므로, 에이전트 관리부(4-4)에서 다수의 에이전트(5)를 관리하고 에이전트(5)에서 다수의 가상세션을 생성하여 테스트를 진행하는 것이다.
상술한 바와 같이 구성된 부하 테스트를 위한 패킷의 부하 재생성 시스템의 동작 과정을 도 2 내지 도 3을 바탕으로 설명하면 다음과 같다.
즉, 도 2는 게임 클라이언트 애플리케이션(1)과 게임 서버 애플리케이션(6)간의 통신과정에서 발생하는 패킷을 수집하여 저장하는 과정을 보인 흐름도로서, 패킷 수집부(2)는 수집하게 될 주소 및 포트를 설정하고 어떠한 프로토콜을 수집할 것인지를 설정한다(S201).
이때, 주소 및 포트는 게임 클라이언트 애플리케이션(1)과 게임 서버 애플리케이션(6)의 정보를 사용하게 되고, 패킷 수집부(2)는 게임 클라이언트 애플리케이션(1) 또는 게임 서버 애플리케이션(6)과 동일한 물리적 위치에 있을 수 있다.
프로토콜은 일반적으로 TCP 또는 UDP를 설정하지만 다른 프로토콜을 사용할 수도 있으며, 복수의 주소 및 포트와 복수의 프로토콜을 설정할 수 있다.
이어, 패킷 수집부(2)는 패킷을 실제로 수집하게 되는데, 일반적인 패킷 캡쳐 드라이버를 사용하여 패킷을 수집한다(S203).
이때, 캡쳐는 풀 캡쳐(Full capture)와 액션 캡쳐(Action capture)로 나뉘게 되는데, 풀 캡쳐란 하나의 게임 플레이에 대한 모든 패킷을 캡쳐하는 것으로서 하나의 패킷 리스트를 생성하게 되고, 액션 캡쳐란 게임 플레이 내에서 하나의 액션에 관한 모든 패킷을 캡쳐하는 것으로서 예를 들어, 액션을‘로그인'이라 정의하면 로그인 과정을 캡쳐하는 것이며 하나의 액션 캡쳐는 하나의 패킷 리스트를 생성하게 된다.
이후, 패킷 수집부(2)는 상기 생성된 패킷 리스트를 패킷 데이터 저장소(3)에 저장한다(S205).
이때, 패킷 데이터 저장소(3)는 실제 패킷 데이터와 주소 정보, 프로토콜 정보, 패킷 리스트 정보 등이 포함되어 저장되게 된다.
도 3은 패킷 데이터 저장소(3)에 저장된 패킷 리스트가 중앙 관리부(4)에서 가공되는 과정을 보인 흐름도이다.
즉, 중앙 관리부(4)의 패킷 편집부(4-1)는 패킷 데이터 저장소(3)에 저장된 패킷 리스트(11)를 각각의 액션으로 정의하고(S301), 중앙 관리부(4)의 패킷 등록부(4-2)는 패킷 리스트의 패킷들을 등록한다(S303).
이때, 하나의 액션은 한 개 이상의 패킷으로 이루어져 있으며 연속된 인덱스 값을 갖고 있다. 예를 들어, 0번부터 4번까지는 연결(Connection)에 관한 액션, 5 번부터 7번까지는 로그인(Login)에 관한 액션, 8번부터 19번까지는 게임방 생성(Room create)에 관한 액션 등으로 정의할 수 있다.
상술한 바와 같이 액션이 정의되면, 시나리오 관리부(4-3)는 스크립트를 통해 액션들을 조합하여 시나리오를 작성한다(S305).
이때, 게임 테스트의 시나리오는 들어오는 패킷(inbound)에 따라 다양하게 분기될 수 있기 때문에 조건문 및 반복문 등을 삽입하여 시나리오를 작성하게 된다.
도 4는 중앙 관리부(4)의 에이전트 관리부(4-4)와 에이전트(5)간의 동작을 보인 흐름도이다.
즉, 에이전트 관리부(4-4)는 다수의 에이전트(5)를 설정한다(S401). 이때, 에이전트 설정은 에이전트 연결정보(예를 들어, IP 주소)를 입력하여 연결을 설정한 후 에이전트별 가상 세션의 개수 등을 설정하는 것이다.
이후, 설정된 에이전트(5)는 자신의 세부정보(예를 들어, 시스템 사양 등)를 에이전트 관리부(4-4)에 전달한다(S403).
다음으로, 에이전트 관리부(4-4)는 모든 에이전트(5)들로부터 전달받은 에이전트(5)의 정보를 통합한 후, 중앙 관리부(4)의 시나리오 관리부(4-3)에서 작성한 시나리오를 바탕으로 해당 에이전트들에게 패킷 정보를 전송한다(S405). 여기서, 패킷 정보에는 패킷 데이터 및 패킷 등록정보, 시나리오 정보, 부하 발생 간격 등이 포함된다.
이어서, 다수의 에이전트(5)는 에이전트 관리부(4-4)로부터 전송받은 패킷 정보를 토대로 게임 서버 애플리케이션(6)에게 부하를 발생한다(S407).
이때, 하나의 에이전트(5)는 다수의 가상 세션을 열어 패킷 데이터를 전송하며 가상 세션들은 쓰레드로 구현될 수 있으며, 시나리오를 바탕으로 부하가 발생됨에 따라 필요시 조건문 및 반복문 등을 통해 다양한 패턴으로 패킷이 송수신되게 된다.
다음에, 다수의 에이전트(5)는 각 가상 세션별 정보를 실시간 또는 비실시간으로 에이전트 관리부(4-4)에 전달한다(S409).
여기서, 각 가상세션별 정보는 패킷 인덱스 또는 액션 인덱스 및 이에 대한 송수신 성공 여부, 액션에 대한 응답 시간 정보 등이 포함되어 있으며, 이러한 정보의 확인을 통해 온라인 게임 등의 서버 애플리케이션에 대한 테스트를 수행하게 된다.
도 5는 중앙 관리부(4)의 모니터부(4-5)와 모니터 관리부(7)간의 동작을 보인 흐름도이다.
즉, 서버 장치에 설치되는 모듈, 다시 말하여 게임 서버 애플리케이션(6)에 설치되는 모니터 관리부(7)가 게임 서버 애플리케이션(6)의 자원 사용량을 측정하고(S501), 이 측정된 결과를 모니터부(4-5)에 실시간 또는 비실시간으로 전송한다(S503).
그러면, 모니터부(4-5)는 전송된 결과를 서버별로 표시하여(S505) 게임 서버 애플리케이션(6)의 효율 상태를 확인할 수 있게 된다.
따라서, 본 발명은 온라인 캐주얼 게임 등 단순 부하 테스트에 소요되는 테 스트 기간을 단축할 수 있고, 온라인 게임 서버 애플리케이션에 부하의 내용을 생성해 내는데 별도의 고도의 작업을 하지 않고 종래 게임 클라이언트에서 발생하는 정보를 가공하여 이를 사용하므로 테스트 적용이 빨라지고 테스트 효율성이 높아지게 된다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 바람직한 실시예에 따른 부하 테스트를 위한 패킷의 부하 재생성 시스템의 블록 구성도,
도 2는 본 발명에 따른 패킷의 수집 및 저장 과정을 보인 흐름도,
도 3은 본 발명에 따른 패킷 리스트의 가공 과정을 보인 흐름도,
도 4는 본 발명에 따른 에이전트 관리부와 에이전트간의 동작을 보인 흐름도,
도 5는 본 발명에 따른 모니터부와 모니터 관리부간의 동작을 보인 흐름도.
<도면의 주요부분에 대한 부호의 설명>
1 : 게임 클라이언트 애플리케이션 2 : 패킷 수집부
3 : 패킷 데이터 저장소 4 : 중앙 관리부
5 : 에이전트 6 : 게임 서버 애플리케이션
7 : 모니터 관리부

Claims (8)

  1. 게임 클라이언트 애플리케이션과 게임 서버 애플리케이션간의 송수신 패킷을 수집하는 패킷 수집부와,
    상기 수집된 패킷을 리스트 형태로 저장하는 패킷 데이터 저장소와,
    상기 저장된 패킷을 액션으로 편집 및 재정의하고, 상기 재정의된 패킷을 조합하여 테스트 시나리오를 구성하는 중앙 관리부와,
    상기 재정의된 패킷과 상기 구성된 테스트 시나리오에 따라 발생되는 부하(load)를 생성하는 에이전트
    를 포함하는 부하 테스트를 위한 패킷의 부하 재생성 시스템.
  2. 제 1 항에 있어서,
    상기 패킷 수집부는, 상기 송수신 패킷을 수집하게 될 주소 및 포트, 수집할 프로토콜 정보를 설정한 후 패킷 캡쳐 드라이버를 사용하여 패킷을 수집하는 것을 특징으로 하는 부하 테스트를 위한 패킷의 부하 재생성 시스템.
  3. 제 2 항에 있어서,
    상기 프로토콜은, TCP 또는 UDP인 것을 특징으로 하는 부하 테스트를 위한 패킷의 부하 재생성 시스템.
  4. 제 1 항에 있어서,
    상기 중앙 관리부는,
    상기 저장된 패킷에 대한 아이디(ID), 패스워드(password), 세션키값을 특정 값으로 치환하는 패킷 편집부와,
    상기 저장된 패킷을 로그인 과정 및 게임방 생성과정의 패킷 그룹으로 정의하는 패킷 등록부와,
    상기 패킷 등록부에 의해 정의된 패킷 그룹을 조합하여 조건문 및 반복문을 사용하여 시나리오를 작성하는 시나리오 관리부와,
    상기 구성된 테스트 시나리오를 바탕으로 시나리오, 패킷 및 부하 제어 정보를 통합하여 상기 에이전트에게 전달하는 에이전트 관리부와,
    상기 게임 서버 애플리케이션의 실시간 정보를 출력하는 모니터부
    를 포함하는 부하 테스트를 위한 패킷의 부하 재생성 시스템.
  5. 제 1 항에 있어서,
    상기 에이전트는,
    상기 구성된 테스트 시나리오를 바탕으로 다수의 유저를 의미하는 다수의 네 트워크 부하를 생성하여 통신하도록 하는 것을 특징으로 하는 부하 테스트를 위한 패킷의 부하 재생성 시스템.
  6. 게임 클라이언트 애플리케이션과 게임 서버 애플리케이션간의 송수신 패킷을 수집하는 단계와,
    상기 수집된 패킷을 리스트 형태로 패킷 데이터 저장소에 저장하는 단계와,
    상기 저장된 패킷을 액션으로 편집 및 재정의하고, 상기 재정의된 패킷을 조합하여 테스트 시나리오를 구성하는 단계와,
    상기 재정의된 패킷과 상기 구성된 테스트 시나리오에 따라 부하(load)를 생성하는 단계
    를 포함하는 부하 테스트를 위한 패킷의 부하 재생성 방법.
  7. 제 6 항에 있어서,
    상기 수집 단계는,
    상기 송수신 패킷을 수집하게 될 주소 및 포트, 수집할 프로토콜 정보를 설정한 후 패킷 캡쳐 드라이버를 사용하여 패킷을 수집하는 것을 특징으로 하는 부하 테스트를 위한 패킷의 부하 재생성 방법.
  8. 제 6 항에 있어서,
    상기 구성 단계는,
    상기 저장된 패킷에 대한 아이디(ID), 패스워드(password), 세션키값을 특정 값으로 치환하는 단계와,
    상기 저장된 패킷을 로그인 과정 및 게임방 생성과정의 패킷 그룹으로 정의하는 단계와,
    상기 정의된 패킷 그룹을 조합하여 조건문 및 반복문을 사용하여 시나리오를 작성하는 단계와,
    상기 구성된 테스트 시나리오를 바탕으로 시나리오, 패킷 및 부하 제어 정보를 통합하여 상기 에이전트에게 전달하는 단계
    를 포함하는 부하 테스트를 위한 패킷의 부하 재생성 방법.
KR1020070133218A 2007-12-18 2007-12-18 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법 KR100962532B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070133218A KR100962532B1 (ko) 2007-12-18 2007-12-18 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법
US12/264,589 US8667119B2 (en) 2007-12-18 2008-11-04 System and method for re-generating packet load for load test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070133218A KR100962532B1 (ko) 2007-12-18 2007-12-18 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090065747A true KR20090065747A (ko) 2009-06-23
KR100962532B1 KR100962532B1 (ko) 2010-06-14

Family

ID=40754001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070133218A KR100962532B1 (ko) 2007-12-18 2007-12-18 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법

Country Status (2)

Country Link
US (1) US8667119B2 (ko)
KR (1) KR100962532B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013032054A1 (ko) * 2011-08-26 2013-03-07 주식회사 쏘그웨어 온라인 게임 서버-테스트 통합 장치
US8396962B2 (en) 2009-12-01 2013-03-12 Electronics And Telecommunications Research Institute Game grammar-based packet capture and analysis apparatus and method for conducting game test
US8556725B2 (en) 2010-12-01 2013-10-15 Electronics And Telecommunications Research Institute Scenario-based load testing apparatus and method
US8827817B2 (en) 2010-12-22 2014-09-09 Electronics And Telecommunications Research Institute Apparatus and method for collecting game data
WO2014148667A1 (ko) * 2013-03-22 2014-09-25 엔에이치엔비지니스플랫폼 주식회사 클라우드 환경에서의 성능 테스트 비용 절감을 위한 테스트 시스템 및 테스트 방법
US8868646B2 (en) 2010-12-21 2014-10-21 Electronics And Telecommunications Research Institute Apparatus and method for generating virtual game clients
US8961314B2 (en) 2009-12-18 2015-02-24 Electronics And Telecommunications Research Institute Device for providing virtual client managing module, apparatus for managing virtual client, and method for testing a game by using virtual client managing module
US9374283B2 (en) 2011-10-07 2016-06-21 Electronics And Telecommunications Research Institute System and method for analyzing online game packets
KR20200048172A (ko) * 2018-10-29 2020-05-08 국방과학연구소 트래픽 발생 장치, 트래픽 에이전트 장치 및 이를 포함하는 트래픽 발생 시스템
KR20200054927A (ko) * 2020-05-11 2020-05-20 국방과학연구소 트래픽 발생 장치, 트래픽 에이전트 장치 및 이를 포함하는 트래픽 발생 시스템

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138813A1 (en) * 2008-12-01 2010-06-03 Electronics And Telecommunications Research Institute Method and apparatus for testing online performance on client/server architecture
US20130065694A1 (en) * 2011-09-13 2013-03-14 Electronics And Telecommunications Research Institute Method for performance test of online game server
JP6035601B2 (ja) * 2012-10-09 2016-11-30 株式会社日立製作所 パケットリプレイ方法
FR3023940B1 (fr) * 2014-07-17 2017-12-29 Bull Sas Procede de production de perturbations controlees de l'activite d'un dispositif de traitement automatise pendant un scenario de test d'une application
CN106973074B (zh) * 2016-01-13 2019-11-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置及系统
CN106980889A (zh) * 2016-01-18 2017-07-25 阿里巴巴集团控股有限公司 非接触式ic卡片的模拟方法、装置及模拟装置
CN110034972B (zh) * 2019-03-22 2021-07-06 深圳市腾讯信息技术有限公司 服务器压力测试方法和装置
CN112241359B (zh) * 2019-07-18 2024-04-23 腾讯科技(深圳)有限公司 一种设备测试方法及设备
KR20210051577A (ko) 2019-10-30 2021-05-10 (주)위니텍 통신 부하 테스팅 장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901051B1 (en) * 1999-11-15 2005-05-31 Fujitsu Limited Server-based network performance metrics generation system and method
US6898564B1 (en) * 2000-05-23 2005-05-24 Microsoft Corporation Load simulation tool for server resource capacity planning
US20030208616A1 (en) * 2002-05-01 2003-11-06 Blade Software, Inc. System and method for testing computer network access and traffic control systems
KR100496871B1 (ko) 2002-12-13 2005-06-22 한국전자통신연구원 웹서비스 테스터 및 웹서비스 테스트 방법
KR100599936B1 (ko) * 2003-12-24 2006-07-13 한국전자통신연구원 브이,이,엔,유,에스 시스템
KR100763523B1 (ko) * 2005-12-08 2007-10-04 한국전자통신연구원 제어 프로토콜의 동작을 검증하기 위한 시뮬레이션 장치 및방법
KR100811468B1 (ko) * 2005-12-08 2008-03-07 한국전자통신연구원 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템및 방법

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396962B2 (en) 2009-12-01 2013-03-12 Electronics And Telecommunications Research Institute Game grammar-based packet capture and analysis apparatus and method for conducting game test
US8961314B2 (en) 2009-12-18 2015-02-24 Electronics And Telecommunications Research Institute Device for providing virtual client managing module, apparatus for managing virtual client, and method for testing a game by using virtual client managing module
US8556725B2 (en) 2010-12-01 2013-10-15 Electronics And Telecommunications Research Institute Scenario-based load testing apparatus and method
US8868646B2 (en) 2010-12-21 2014-10-21 Electronics And Telecommunications Research Institute Apparatus and method for generating virtual game clients
US8827817B2 (en) 2010-12-22 2014-09-09 Electronics And Telecommunications Research Institute Apparatus and method for collecting game data
WO2013032054A1 (ko) * 2011-08-26 2013-03-07 주식회사 쏘그웨어 온라인 게임 서버-테스트 통합 장치
US9374283B2 (en) 2011-10-07 2016-06-21 Electronics And Telecommunications Research Institute System and method for analyzing online game packets
WO2014148667A1 (ko) * 2013-03-22 2014-09-25 엔에이치엔비지니스플랫폼 주식회사 클라우드 환경에서의 성능 테스트 비용 절감을 위한 테스트 시스템 및 테스트 방법
KR101461217B1 (ko) * 2013-03-22 2014-11-18 네이버비즈니스플랫폼 주식회사 클라우드 환경에서의 성능 테스트 비용 절감을 위한 테스트 시스템 및 테스트 방법
US10230613B2 (en) 2013-03-22 2019-03-12 Naver Business Platform Corp. Test system for reducing performance test cost in cloud environment and test method therefor
KR20200048172A (ko) * 2018-10-29 2020-05-08 국방과학연구소 트래픽 발생 장치, 트래픽 에이전트 장치 및 이를 포함하는 트래픽 발생 시스템
KR20200054927A (ko) * 2020-05-11 2020-05-20 국방과학연구소 트래픽 발생 장치, 트래픽 에이전트 장치 및 이를 포함하는 트래픽 발생 시스템

Also Published As

Publication number Publication date
US8667119B2 (en) 2014-03-04
KR100962532B1 (ko) 2010-06-14
US20090156314A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
KR100962532B1 (ko) 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법
CN113067728B (zh) 一种网络安全攻防试验平台
CN109388530B (zh) 一种面向刀片式服务器的自动化测试平台以及测试方法
Cinque et al. Microservices monitoring with event logs and black box execution tracing
KR101269671B1 (ko) 게임 테스트를 위한 게임 문법 기반의 패킷 캡쳐 분석 장치 및 그 방법
CN105139139B (zh) 用于运维审计的数据处理方法和装置及系统
Richerzhagen et al. Simonstrator: Simulation and prototyping platform for distributed mobile applications
US7493387B2 (en) Validating software in a grid environment using ghost agents
Zhuang et al. {NetCheck}: Network Diagnoses from Blackbox Traces
CN110650035B (zh) 用于生成和管理工业网络中的虚拟工业设备的方法和系统
KR101199485B1 (ko) 클라이언트/서버간 온라인 성능 테스트 방법 및 장치
US20100138813A1 (en) Method and apparatus for testing online performance on client/server architecture
CN107168844B (zh) 一种性能监控的方法及装置
CN114328217A (zh) 应用的测试方法、装置、设备、介质及计算机程序产品
Lin et al. Low-storage capture and loss recovery selective replay of real flows
KR100811468B1 (ko) 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템및 방법
US8966321B2 (en) Logical port and layer protocol test configuration resource manager
Berger et al. Does my bft protocol implementation scale?
CN108009086B (zh) 基于用例分解和功能学习的系统自动化测试方法
Duan et al. BBB: Make benchmarking blockchains configurable and extensible
CN113760518A (zh) 一种信息处理方法、装置及存储介质
Xin et al. A testbed for evaluation and analysis of stepping stone attack attribution techniques
Nystrøm Network Performance in Hyperledger Fabric-Investigating the network resource consumption of transactions in a Distributed Ledger Technology system
Berger et al. Simulating BFT Protocol Implementations at Scale
Rodríguez et al. MOSTO: A toolkit to facilitate security auditing of ICS devices using Modbus/TCP

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130527

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 8