KR100485764B1 - 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법 - Google Patents

패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법 Download PDF

Info

Publication number
KR100485764B1
KR100485764B1 KR10-2001-0065707A KR20010065707A KR100485764B1 KR 100485764 B1 KR100485764 B1 KR 100485764B1 KR 20010065707 A KR20010065707 A KR 20010065707A KR 100485764 B1 KR100485764 B1 KR 100485764B1
Authority
KR
South Korea
Prior art keywords
application
load
service
performance
message
Prior art date
Application number
KR10-2001-0065707A
Other languages
English (en)
Other versions
KR20030033632A (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 KR10-2001-0065707A priority Critical patent/KR100485764B1/ko
Publication of KR20030033632A publication Critical patent/KR20030033632A/ko
Application granted granted Critical
Publication of KR100485764B1 publication Critical patent/KR100485764B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Abstract

본 발명은 로그(log)와 스크립트 언어(Script language)를 이용하여 부하(load)를 발생시켜 성능을 시험하는 응용의 성능 시험방법에 관한 것이다
이러한 본 발명의 방법은, 다수의 시스템이 상호 연동되어 있고, 각 시스템에서 수행되는 응용들간에 메시지 패킷을 전달하여 소정 서비스를 제공하도록 된 네트워크에서 임의의 시스템의 응용이나 서비스의 성능을 시험하기 위한 방법에 있어서, 서비스 절차 및 환경정보를 설정하는 단계; 부하발생 방식을 선택하는 단계; 선택된 방식에 따라 부하 메시지 패킷을 발생하는 단계; 부하 메시지 패킷을 지정한 응용에 인가하는 단계; 부하가 인가된 응용이 처리한 메시지 패킷을 획득하는 단계; 및 획득된 메시지 패킷을 분석하는 단계를 포함한다.
따라서, 본 발명에 따르면 네트워크 제품의 개발중에 해당 제품의 성능을 분석하여 문제점이 발견되면 근본적으로 조치함으로써 완성된 제품의 품질을 보증하고, 사용자 정의에 따라 다양하게 정의되는 서비스와 응용의 성능을 보다 정확하게 수행할 수 있다.

Description

패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법 { Method of testing performance of applications using packet log or a script language }
본 발명은 네트워크 상에서 서비스를 처리하는 응용들의 성능을 시험하는 방법에 관한 것으로, 더욱 상세하게는 로그(log)와 스크립트 언어(Script language)를 이용하여 부하(load)를 발생시켜 성능을 시험하는 응용의 성능 시험방법에 관한 것이다.
종래에 있어서 네트워크 응용 및 서비스 성능 측정은 특정 포트나 단위 시스템에서 획득(capturing)된 로그(log)를 바탕으로 측정 및 분석하는 단순화된 방법으로서, 네트워크의 시스템 간 또는 응용 간에 이루어지는 유기적인 성능은 측정 및 시험이 불가능하였다. 또한 종래의 성능 측정 및 시험 방법은 서비스나 소프트웨어 개발시에 사용이 부적합하고, 제품개발이 완료된 후 초기 운용이나 상용 서비스 이후에 문제점을 찾아내는 방식이었다.
도 1은 종래에 네트워크 응용의 성능을 측정하는 개념을 도시한 도면이다.
도 1을 참조하면, 네트워크는 3개의 시스템(110,120,130)으로 구성되어 있고, 시스템1(110)에는 시험을 위한 프로그램인 로드박스(112)와 응용1(114)이 탑재되어 있다. 그리고 시스템2(120)에는 응용2(122)가 탑재되어 있으며, 시스템3(130)에는 응용3(132)이 탑재되어 있다.
이와 같은 구성에서 종래의 성능시험은 프로그램 개발자가 부가적으로 개발한 성능 측정 소프트웨어인 로드박스(112)를 가지고 해당 네트워크 응용 프로그램에 부하를 가한 후 결과를 수신하여 분석하는 것이었다. 즉, 로드박스(112)에서 응용1(114)로 부하를 인가(서비스를 요구)하면, 이에 대응하여 응용1(114)은 응용2(122)로 메시지를 전송하게 되고, 응용2(122)는 응용3(132)으로 메시지를 전송하게 되며, 응용3(132)은 다시 응용1(114)로 처리결과 메시지를 전송한다. 이에 따라 응용1(114)은 로드박스(112)로 서비스 처리 결과를 전송하며, 로드박스(112)는 서비스 요구시의 정보와 서비스결과의 정보를 분석하여 성능을 시험하였다.
그런데 이러한 종래의 시험방법은 로드박스가 있는 시스템1에서의 개략적인 성능 데이터만 추출 가능하며, 응용2, 응용3, 시스템2, 시스템3 등과 같은 다른 시스템의 네트워크 요소들의 성능은 측정할 수 없는 문제점이 있다. 더욱이 종래의 성능측정 방법은 개발중인 응용에 대해 객관적인 데이터를 도출하기 어려우므로 개발자에 의해 주관적인 성능측정이 이루어지게 되고, 이 경우 개발이 완료되어 실제 서비스 제공시에 여러가지 문제점이 발생할 수 있다. 그리고 개발이 완료된 후에 문제점이 발견되면 이를 근본적으로 해결하기 어렵고, 시스템 증설 등과 같은 제한된 방법을 사용할 수 밖에 없었다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 개발자가 네트워크 서비스나 응용 프로그램을 개발할 경우에 개발중인 제품에 대해서도 성능 측정을 객관적이며 다양한 방법으로 실시하여 네트워크 응용의 성능 및 품질을 보증할 수 있는 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 다수의 시스템이 상호 연동되어 있고, 각 시스템에서 수행되는 응용들간에 메시지 패킷을 전달하여 소정 서비스를 제공하도록 된 네트워크에서 임의의 시스템의 응용이나 서비스의 성능을 시험하기 위한 방법에 있어서, 서비스 절차 및 환경정보를 설정하는 단계; 부하발생 방식을 선택하는 단계; 선택된 방식에 따라 부하 메시지 패킷을 발생하는 단계; 부하 메시지 패킷을 지정한 응용에 인가하는 단계; 부하가 인가된 응용이 처리한 메시지 패킷을 획득하는 단계; 및 획득된 메시지 패킷을 분석하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 측정 및 분석방법 예를 자세히 설명하기로 한다.
도 2는 본 발명에 따라 성능 측정할 네트워크의 구성 예를 도시한 도면으로서, 네트워크는 서비스와 관련된 각각의 응용들을 수행하는 3개의 시스템(210,220,230)과 각 시스템에서 수행되는 응용(A1~A5)이나 응용들에 의해 수행되는 서비스의 성능을 측정하기 위한 시험시스템(240)으로 구성된다.
도 2를 참조하면, 시스템1(210)에는 응용1(A1:211)과 응용2(A2:212)가 수행되고 있고, 시스템2(220)에는 응용3(A3:221)이 수행되고 있으며, 시스템3(230)에는 응용4(A4:231)와 응용5(A5:232)가 수행되고 있다. 시험시스템(240)은 사용자에 의해 정의된 서비스 흐름에 따라 시험에 요구되는 부하를 발생하여 각 시스템의 응용에 인가하고 결과를 모니터링하여 각 응용의 성능을 시험한다. 특히, 본 발명에 따른 시험시스템(240)은 서비스가 수행하는 처리순서에 관계없이 임의의 단계에서 임의의 응용에 부하를 인가하고 임의의 지점에서 결과를 모니터링할 수 있다.
도 3은 도 2에 도시된 네트워크에서 수행되는 서비스의 예를 정의한 서비스 절차도로서, 서비스는 응용들 사이에 전달되는 메시지를 통해 처리되는 것을 알 수 있다.
도 3을 참조하면, 성능 측정 환경이 시스템1(210), 시스템2(220), 시스템3(230)으로 된 3개 시스템으로 구성되어 있고, 시스템1(210)의 응용1(A1)로부터 서비스 A가 제공된다고 가정했을 경우이다.
도 3에 정의된 '서비스 A'는 5개의 응용(A1~A5)으로 이루어져 있으며, 각 응용 간에는 네트워크 메시지로 연결되어 있다. 즉, 응용1(A1)로 사용자로부터의 서비스 요구 메시지(SvcA_Req)가 전달되면, 응용1(A1)은 요구 메시지(m1_req(1))를 생성하여 응용4(A4)에 전달하고, 응용4(A4)는 이에 대응하여 요구 메시지(m2_req(2))를 생성한 후 응용3(A3)에 전달한다. 응용3(A3)은 응용4(A4)로부터 요구 메시지가 수신되면 요구 메시지(m3_req(3))를 생성하여 응용5(A5)에 전달하고, 응용5(A5)는 이에 따라 요구 메시지(m4_req(4))를 생성하여 응용1(A1)에 요구 메시지(m4_req(4))를 전달한다.
응용1(A1)은 응용5(A5)로부터 수신된 요구메시지에 대응하여 응답 메시지(m4_res(5))를 생성한 후 응용5(A5)에 전달하고, 응용5(A5)는 응용1(A1)로부터 응답 메시지를 수신하면 이에 대응하는 응답 메시지(m3_res(6))를 생성하여 응용3(A3)으로 전달한다. 응용3(A3)은 응용5(A5)로부터 응답 메시지를 수신하면 이에 대응하는 요구 메시지(m5_req(7))를 생성하여 응용4(A4)로 전달하고, 응용4(A4)는 그에 대한 응답 메시지(m5_res(8))를 생성한 후 응용3(A3)에 전달한다. 응용3(A3)은 응답 메시지를 수신하면 이에 대응하는 요구 메시지(m6_req(9))를 생성하여 응용5(A5)로 전달하고, 응용5(A5)는 이에 따라 응답 메시지(m6_res(10))를 생성하여 응용3(A3)으로 전달하고, 응용3은 이에 따라 응답 메시지(m2_res(11))를 생성하여 응용4(A4)로 전달하고 동일한 방식으로 응용4(A4)는 응답 메시지(m1_res(12))를 생성하여 응용1(A1)에 전달하고, 응용1(A1)은 최종적으로 서비스 A요구에 대한 결과(Svc_Res)를 사용자측으로 제공한다.
이와 같이 서비스는 응용 간에 전달되는 메시지의 시퀀스로 정의되고, 이러한 시퀀스는 성능 시험시 패킷 데이터 캡춰링시에 해당 메시지의 검출조건으로 사용된다.
그리고 서비스를 정의하기 위하여 각 메시지를 설정하는 방법에는 키 룰과 같은 메시지 설정 조건이 정의될 수 있으며, 이 메시지 설정조건에 따라 메시지 데이터가 캡춰링된다. 메시지 설정 조건 입력방식은 편리한 GUI 형태로 입력되어 사용자가 간단히 내용을 입력할 수 있도록 자동화되어 있다.
종래에는 이와 같이 정의된 서비스를 시험할 경우에 서비스 요구 후 최종적으로 나타나는 서비스 결과만을 가지고 응용의 성능을 측정하였으나 본 발명에 따르면 서비스의 중간 단계에서 메시지를 인가하고, 중간 단계에서 메시지를 캐취하여 서비스 순서와 관계없이 성능을 시험할 수 있다. 예컨대, 도 3에 정의된 서비스에서 단일 대상 측정시 중간 메시지인 응용3(A3)에서 응용5(A5)로 가는 요구 메시지(m3_req(3))를 스크립트 언어를 이용하여 다량으로 부하를 발생시켜 응용5(A5)에서 응용1(A1)로 가는 메시지(m4_req(4))를 검출하여 이를 분석함으로서, 응용5(A5)의 응답시간, 발생횟수, 성공횟수 등에 대한 각종 통계자료를 구해 측정요소의 반응상태를 자세히 검출할 수 있다.
도 4는 본 발명에 따라 응용 및 네트워크 성능을 측정하기 위한 방법을 도시한 흐름도로서, 시험부하(메시지 패킷)를 발생하는 방법에 따라 일반 GUI방식의 수동처리와, 스크립트 언어방식, 패킷로그 이용방식의 세가지 방식으로 구분된다.
도 4를 참조하면, 단계 401에서 서비스(혹은 기능)를 정의하기 위한 절차(flow)와 환경정보를 설정한다. 환경정보 설정은 네트워크를 구성하는 시스템의 구성과, 각 시스템에서 수행되는 응용의 구성, 쓰레드, 운영체계 등을 설정하는 것이다. 이와 같은 설정은 사용자인터페이스를 통해 프로그래밍 언어나 GUI 등을 통해 수행될 수 있다.
단계 402에서는 시험을 위해 부하 메시지 패킷(이를 간단히 부하라 한다)를 발생하는 방식을 선택한다. 부하발생 방식에는 수동처리 방식과 스크립트 언어를 이용하는 방식, 로그 이용 방식이 있다.
단계 402에서 수동처리가 선택되면, 단계 403에서 GUI를 통해 사용자가 일정한 데이터를 지정하고, 부하발생 주기, 총 부하 부여시간 등을 정하여 측정대상 시스템에 부하를 가한다.
단계 402에서 스크립트 언어방식이 선택되면, 단계 404에서 부하를 자유자재로 생성할 수 있도록 스크립트 언어를 제공하여 스크립트 내용에 따라 해당 측정 항목(네트워크, 시스템, 응용, 쓰레드)에 부하를 가하고, 그 결과 발생하는 패킷을 획득하여 성능을 측정한다. 이러한 스크립트 처리방식은 권고안 등에 정의된 프로토콜 메시지를 라이브러리화하여 스크립트 언어와 결합하면 No.7, SIP 등의 프로토콜 성능 측정을 쉽게 할 수 있다. 이 때 스크립트 언어의 경우에는 첫째, 선언문 처리 및 데이터 초기 입력기능 둘째, 분기문 처리 기능 셋째, 반복수행 처리기능 넷째, 메시지 전송처리 기능, 다섯째, 프로토콜로 정의된 라이브러리 데이터를 사용기능 등을 제공함으로써 사용자가 쓰기 쉽고 또한 자유자재로 프로토콜 메시지를 변경할 수 있도록 한다.
예컨대, 스크립트 언어의 구성 예는 다음 표 1과 같다.
#include "No.7.scr"M_MSG1;M_MSG2;M_MSG3;Dst_IP = 192.168.1.1;Port = 3000; Loop start: I, i<10;i++; xsend(M_MSG1, Dst_IP, Port); xdelay(200, MSEC, +20); if (xcapture(M_MSG2)) { xsend(M_MSG2, Dst_IP, Port); xdelay(30 *i, MSEC); } if (xcapture_cnt(M_MSG1) > 20) break;loop end;
상기 표 1에서, M_MSG1부터 Port 까지는 선언부이며, 이 선언은 실행문 처리 준간에서도 입력 될 수 있다. 특히 #include의 No.7.scr은 메시지 형태 및 데이터가 규격에 의하여 기 정의된 부분이며, 스크립트 언어(Script Language) 시작시에 보관되어 수행시에 사용할수 있다. "Loop start" 부분은 반복행동이 필요할 경우에 사용되는 실행문이며, loop 종료는 "loop end" 이다. "xsend"는 대상 시스템에 M_MSG1의 메시지를 목적지 IP(Dst_IP)의 Port로 전송하는 역할을 한다. "xdelay"는 delay가 필요할 경우에 사용되며 "xcapture"는 해당 메시지의 capturing 여부를 판단하며 if 조건문에 의하여 판단하여 break를 이용하여 loop를 빠져 나가는 기능을 한다. "xcapture_cnt" 명령은 해당 메시지의 capturing 개수를 구하는 명령이다. 이러한 문들은 기본적인 처리문이며 사용자의 시험 측정 방법에 따라 필요에 조절하여 사용한다.
다시 도 4를 참조하면, 로그를 이용한 방식이 선택되면, 단계 405에서 서비스 제공시 발생된 로그를 이용하여 성능을 측정한다. 예컨대, 이 방식은 측정 대상항목(네트워크, 시스템, 응용, 스레드)만을 활성으로 처리하고, 나머지 연동 대상은 비활성으로 처리하여 활성항목의 성능을 집중적으로 측정하는 방식이다. 이 경우 측정대상의 최대성능 및 병목현상을 쉽게 포착할 수 있다. 또한 저장 로그를 이용하여 측정대상요소를 전부 비활성 상태로 처리하여 부하증가에 따른 측정대상의 성능을 예측할 수 있다.
단계 406에서는 선택된 방식에 따라 부하 메시지를 발생하여 단계407에서는 메시지 패킷을 송신하고, 단계 408에서는 각 응용으로부터 메시지 패킷을 수신한다.
이와 같이 본 발명에 따라 저장 패킷 로그 또는 스크립트 언어를 이용하여 성능 측정시에 기능 흐름에 따라 네트워크에서 캡춰링된 패킷 테이블의 예는 다음 표 2와 같다.
PktID Arrival Time Packet Size IpProtocol SrcSystemID DestSystemID TcpProtocol SrcThreadID DestThreadID UserDataSize MsgID SvcID SvcSeqID SeqID SvcFlag Done prePtr
0 120000 100 1 1 3 1 1 4 100 m1q 1 1 1 INS
5 120001 100 1 1 3 1 1 4 100 m1q 2 1 1 INS
7 120002 100 1 1 3 1 1 4 100 m1q 1 2 1 INS
8 120003 100 1 3 2 1 4 3 100 m2q 1 1 2 INS 2
9 120004 100 1 3 1 1 4 2 100 m2q 2 1 2 INS 15
10 120005 100 1 2 3 1 3 5 100 m3q 1 1 3 INS 3
13 120006 100 1 3 2 1 5 2 100 m4q 1 1 4 INS 4
18 120007 100 1 3 1 1 4 2 100 m3q 2 1 3 INS 16
20 120008 100 1 3 1 1 4 1 100 m1s 2 1 4 END 17
23 120009 100 1 3 2 1 4 3 100 m5s 1 1 8 INS 7
25 120010 100 1 3 2 1 5 3 100 m3s 1 1 6 INS 6
27 120011 100 1 2 3 1 2 5 100 m4s 1 1 5 INS 5
45 120012 100 1 3 2 1 4 3 100 m2q 1 2 2 INS 13
47 120013 100 1 2 3 1 3 5 100 m6q 1 1 9 INS 8
48 120014 100 1 3 2 1 5 3 100 m6s 1 1 10 INS 9
49 120015 100 1 2 3 1 3 5 100 m2s 1 1 11 INS 10
52 120016 100 1 3 1 1 4 1 100 m1s 1 1 12 END 11
상기 표 2를 참조하면, 획득된 메시지 패킷은 패킷아이디(PktID), 도착시간(Arrival Time), 패킷크기(packet Size), IP프로토콜(Ip Protocol), 소스시스템아이디(Src System ID), 목적시스템아이디(Dest System ID), TCP프로토콜(TCP Protocol), 소스 쓰레드(Src Thread ID), 목적쓰레드(Dest Thread ID), 사용자 데이터 크기(User Data Size), 메시지 아이디(Msg ID), 서비스아이디(Svc ID), 서비스시퀀스아이디(Svc Seq ID), 시퀀스아이디(Seq ID), 서비스플래그(Svc Flag), 처리여부(Done), 프리포인터(prePtr) 등의 항목으로 이루어져 있다. 그리고 각 패킷은 서비스 순서에 상관없이 저장 캡춰링된 패킷 데이터로서, 저장된 패킷 아이디를 보면 0, 5, 7, 8, 9....49, 52 순으로 되어 있다.
이어 단계 409에서는 수신된 메시지를 분석한다. 메시지 분석을 위해서는 상기 표 2와 같은 패킷 테이블에서 서비스와 관련된 패킷만을 추출하여 다음 표 3과 같은 서비스 패킷 테이블을 형성한 후, 이 테이블을 분석하여 메시지 간의 처리시간, 서비스 로스, 에러 등을 측정하고 메시지, 트랜잭션, 프로토콜 등의 상세 자료를 얻을 수 있다.
PktID Arrival Time Packet Size IpProtocol SrcSystemID DestSystemID TcpProtocol SrcThreadID DestThreadID UserDataSize MsgID SvcID SvcSeqID SeqID SvcFlag Done prePtr
0 120000 100 1 1 3 1 1 4 100 m1q 1 1 1 INS
8 120003 100 1 3 2 1 4 3 100 m2q 1 1 2 INS 0
10 120005 100 1 2 3 1 3 5 100 m3q 1 1 3 INS 1
13 120006 100 1 3 2 1 5 2 100 m4q 1 1 4 INS 2
27 120011 100 1 2 3 1 2 5 100 m4s 1 1 5 INS 3
25 120010 100 1 3 2 1 5 3 100 m3s 1 1 6 INS 4
23 120009 100 1 3 2 1 4 3 100 m5s 1 1 8 INS 5
47 120013 100 1 2 3 1 3 5 100 m6q 1 1 9 INS 6
48 120014 100 1 3 2 1 5 3 100 m6s 1 1 10 INS 7
49 120015 100 1 2 3 1 3 5 100 m2s 1 1 11 INS 8
52 120016 100 1 3 1 1 4 1 100 m1s 1 1 12 END 9
7 120002 100 1 1 3 1 1 4 100 m1q 1 2 1 INS
45 120012 100 1 3 2 1 4 3 100 m2q 1 2 2 INS 11
5 120001 100 1 1 3 1 1 4 100 m1q 2 1 1 INS
9 120004 100 1 3 1 1 4 2 100 m2q 2 1 2 INS 13
18 120007 100 1 3 1 1 4 2 100 m3q 2 1 3 INS 14
20 120008 100 1 3 1 1 4 1 100 m1s 2 1 4 END 15
상기 표 3의 패킷은 표 2와 동일한 항목으로 되어 있으나 패킷의 순서가 서비스의 순서를 따라 순차적으로 정리된 것이다. 표 3과 같은 데이터를 분석하면, 처리시간을 네트워크, 시스템, 응용, 블록, 쓰레드, 서비스, 트랜잭션, 메시지별로 구분하여 구할 수 있고, 부하는 해당 대상에 입력되는 패킷의 수로 정의하며, 측정대상으로는 네트워크, 시스템, 응용, 블록, 쓰레드의 부하를 구할 수 있다. 그리고 부하량은 해당 대상에 입력되는 패킷의 량으로 정의하며, 측정대상으로는 네트워크, 시스템, 응용, 블록, 쓰레드의 부하를 검출한다. 로스는 해당 서비스, 트랜잭션, 메시지 등의 절차에 부합되는 서비스 절차를 완료하지 못하였을 경우의 수를 검출하고, 에러는 해당 메시지 수신시 메시지 검증시 데이터 오류사항을 검출하여 에러수를 검출한다. 또한, 상기 기본측정 자료에서 도출될 수 있는 통계자료를 구해 네트워크 제품의 개발 도중에 사용함으로써 네트워크 제품 및 성능의 품질을 보증할 수 있다.
단계 410에서는 분석결과를 사용자가 인식하기 쉽도록 도 5 및 도 6과 같이표 등으로 처리하여 출력하고, 단계 411에서는 시험계속 여부를 판단하여 처음부터 다시 시작하거나 시험을 종료한다.
도 5는 본 발명에 따라 분석결과인 시스템 통계를 보여주는 화면의 예이고, 도 6은 본 발명에 따라 분석결과인 쓰레드 통계를 보여주는 화면의 예이다.
도 5를 참조하면, 시스템 통계화면에는 시스템 ID와 시스템이름, 응답시간, 메시지갯수, 메시지 크기, 손실 등의 항목이 각 시스템별로 나타나고, 원하는 메시지 내용을 보여주는 것을 알 수 있다. 그리고 도 6에 도시된 쓰레드 통계화면에는 ID와 이름, 응답시간, 메시지 갯수, 메시지 크기, 손실, 에러, 평균응답시간, 최대응답시간, 최소응답시간, 평균크기 등의 항목이 표시되고, 각 쓰레드별로 해당 항목의 값이 표시되는 것을 알 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따르면 네트워크 제품의 개발중에 해당 제품의 성능을 분석하여 문제점이 발견되면 근본적으로 조치함으로써 완성된 제품의 품질을 보증하고, 사용자 정의에 따라 다양하게 정의되는 서비스와 응용의 성능을 보다 정확하게 수행할 수 있는 잇점이 있다. 더욱이, 다수의 시스템이 연동하여 서비스를 제공할 경우에 임의의 중간 단계의 시스템에서도 패킷로그나 스크립트언어를 이용하여 부하를 인가하고 그 결과를 검출하여 분석할 수 있으므로 원하는 시스템이나 응용의 성능을 집중적으로 분석할 수 있다.
도 1은 3개의 시스템으로 이루어진 네트워크에서 응용의 기능 및 성능을 측정하는 종래의 예,
도 2는 본 발명이 적용되는 네트워크의 구성을 도시한 예,
도 3은 도 2에 도시된 네트워크 환경에서 서비스 절차의 예,
도 4는 본 발명에 따라 응용시험이 이루어지는 절차를 도시한 순서도,
도 5는 본 발명에 따라 분석결과인 시스템 통계를 보여주는 화면의 예,
도 6은 본 발명에 따라 분석결과인 쓰레드 통계를 보여주는 화면의 예이다.
*도면의 주요부분에 대한 부호의 설명
210,220,230: 시험대상 시스템 240: 시험 시스템
211,212,221,231,232: 응용

Claims (3)

  1. 다수의 시스템이 상호 연동되어 있고, 각 시스템에서 수행되는 응용들간에 메시지 패킷을 전달하여 소정 서비스를 제공하도록 된 네트워크에서 임의의 시스템의 응용이나 서비스의 성능을 시험하기 위한 방법에 있어서,
    응용 간에 전달되는 메시지의 시퀀스로 정의되는 서비스 절차와, 네트워크를 구성하는 시스템의 구성과 각 시스템에서 수행되는 응용의 구성, 쓰레드, 운영체계와 같은 환경정보를 설정하는 단계;
    수동처리 방식이나 스크립트 언어를 이용하는 방식 혹은 패킷 로그 방식중 어느 하나의 부하발생 방식을 선택하는 단계;
    상기 선택된 방식에 따라 부하 메시지 패킷을 발생하는 단계;
    상기 부하 메시지 패킷을 지정한 응용에 인가하는 단계;
    상기 부하가 인가된 응용이 처리한 메시지 패킷을 획득하는 단계; 및
    상기 획득된 메시지 패킷을 분석하는 단계를 포함하는 것을 특징으로 하는 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법.
  2. 제1항에 있어서, 상기 부하발생방식이 패킷 로그 방식이면,
    서비스 수행중에 획득된 패킷로그들을 이용하여 부하 메시지 패킷을 발생하는 것을 특징으로 하는 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법.
  3. 제1항에 있어서, 상기 부하발생방식이 스크립트 언어방식이면,
    미리 정의된 스크립트 언어를 이용하여 부하 메시지 패킷을 발생하는 것을 특징으로 하는 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법.
KR10-2001-0065707A 2001-10-24 2001-10-24 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법 KR100485764B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0065707A KR100485764B1 (ko) 2001-10-24 2001-10-24 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0065707A KR100485764B1 (ko) 2001-10-24 2001-10-24 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법

Publications (2)

Publication Number Publication Date
KR20030033632A KR20030033632A (ko) 2003-05-01
KR100485764B1 true KR100485764B1 (ko) 2005-04-29

Family

ID=29566162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0065707A KR100485764B1 (ko) 2001-10-24 2001-10-24 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법

Country Status (1)

Country Link
KR (1) KR100485764B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100564756B1 (ko) 2003-12-03 2006-03-27 한국전자통신연구원 Megaco 프로토콜 시험 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0144787B1 (ko) * 1995-08-05 1998-08-01 양승택 Cpu의 부하량에 따라 과부하를 제어하는 cms 시스템에서 모의 시험을 위한 ccp의 cpu부하를 발생시키는 방법
KR100241895B1 (ko) * 1997-05-09 2000-02-01 윤종용 디지털셀룰라시스템에서의 타가입자잡음 발생장치 및 그를 이용한 가입자 부하인가방법
WO2001061921A2 (en) * 2000-02-14 2001-08-23 Teradyne, Inc. Network fault analysis tool
KR20020041130A (ko) * 2000-11-27 2002-06-01 구자홍 통신시스템의 자동 성능 최적화 방법
KR20020078240A (ko) * 2001-04-06 2002-10-18 (주)엔프라테크 통신 품질 정보 수집 방법과 이를 내장한 컴퓨터가 판독가능한 기록 매체와 이를 이용한 통신 품질 분석 시스템및 그 방법
KR100373326B1 (ko) * 2000-12-08 2003-02-25 한국전자통신연구원 네트워크 성능 측정 시스템과 그를 이용한 네트워크 성능측정방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0144787B1 (ko) * 1995-08-05 1998-08-01 양승택 Cpu의 부하량에 따라 과부하를 제어하는 cms 시스템에서 모의 시험을 위한 ccp의 cpu부하를 발생시키는 방법
KR100241895B1 (ko) * 1997-05-09 2000-02-01 윤종용 디지털셀룰라시스템에서의 타가입자잡음 발생장치 및 그를 이용한 가입자 부하인가방법
WO2001061921A2 (en) * 2000-02-14 2001-08-23 Teradyne, Inc. Network fault analysis tool
KR20020041130A (ko) * 2000-11-27 2002-06-01 구자홍 통신시스템의 자동 성능 최적화 방법
KR100373326B1 (ko) * 2000-12-08 2003-02-25 한국전자통신연구원 네트워크 성능 측정 시스템과 그를 이용한 네트워크 성능측정방법
KR20020078240A (ko) * 2001-04-06 2002-10-18 (주)엔프라테크 통신 품질 정보 수집 방법과 이를 내장한 컴퓨터가 판독가능한 기록 매체와 이를 이용한 통신 품질 분석 시스템및 그 방법

Also Published As

Publication number Publication date
KR20030033632A (ko) 2003-05-01

Similar Documents

Publication Publication Date Title
Botta et al. Do you trust your software-based traffic generator?
CN109194551B (zh) 一种实时以太网设备性能测试方法、装置及系统
CN111600781B (zh) 一种基于测试仪的防火墙系统稳定性测试方法
US8631124B2 (en) Network analysis system and method utilizing collected metadata
US20080189350A1 (en) Devices, systems, and methods for providing data
US20080080390A1 (en) Packet loss rate calculation system
US20060045121A1 (en) Methods and systems for analyzing network transmission events
US20070097872A1 (en) Network connection apparatus testing method
US20120300628A1 (en) Method and apparatus to passively determine the state of a flow including determining flow state in the event of missing data on one or both sides of the flow
CN109656574B (zh) 交易时延度量方法、装置、计算机设备及存储介质
US8332507B2 (en) Method for determining service demands in a network load balanced scenario
US9170923B2 (en) Apparatus and method for testing conformance of service choreography
Böhme et al. Estimating residual risk in greybox fuzzing
US6697751B2 (en) Apparatus for assessing communication equipment
Sommers et al. Laboratory-based calibration of available bandwidth estimation tools
KR100551452B1 (ko) 서버의 응용프로그램 성능을 시험하기 위한 그리드 컴퓨팅시스템
US7272750B2 (en) Expert system for intelligent testing
KR100485764B1 (ko) 패킷 로그 및 스크립트 언어를 이용한 응용 시험 방법
JP2003140988A (ja) 動画配信サーバ負荷試験装置
CN105808422A (zh) 一种基于网络的软件测试方法、客户端及待测试设备
CN109274533B (zh) 一种基于规则引擎的Web服务故障的定位装置和方法
US20060130146A1 (en) Network packet generation apparatus and method having attack test packet generation function for information security system test
KR100581142B1 (ko) 인터넷 망에서 다지점간 성능 분석을 위한 분산 측정 장치및 그 방법
CN113032255A (zh) 响应噪音的识别方法、模型、电子设备及计算机存储介质
JP3942070B2 (ja) 電気通信設備のテスト方法及びテスト・ジェネレータ

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100219

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee