WO2011065692A2 - System for measuring the response time of a server using dummy request tags and method for same - Google Patents

System for measuring the response time of a server using dummy request tags and method for same Download PDF

Info

Publication number
WO2011065692A2
WO2011065692A2 PCT/KR2010/007929 KR2010007929W WO2011065692A2 WO 2011065692 A2 WO2011065692 A2 WO 2011065692A2 KR 2010007929 W KR2010007929 W KR 2010007929W WO 2011065692 A2 WO2011065692 A2 WO 2011065692A2
Authority
WO
WIPO (PCT)
Prior art keywords
response time
request
server
dummy
dummy request
Prior art date
Application number
PCT/KR2010/007929
Other languages
French (fr)
Korean (ko)
Other versions
WO2011065692A3 (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 (주)제니퍼소프트
Publication of WO2011065692A2 publication Critical patent/WO2011065692A2/en
Publication of WO2011065692A3 publication Critical patent/WO2011065692A3/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/3419Recording 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 by assessing time
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • 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
    • 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/0852Delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions
    • 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

Definitions

  • the present invention relates to a server response time measuring system and method for measuring a response time of an application server for a transaction processing a service request of a user terminal.
  • the present invention relates to a server response time measurement system and method for inserting a dummy request tag into a processing result web page and estimating a response time of a server using a time at which a dummy request of a user terminal arrives by a dummy request tag.
  • the present invention includes the server response transmission time and the identification information of the service request in the dummy request tag inserted into the processing result web page, the server response to determine the response transmission time and identification information in the received dummy request A time measurement system and method.
  • a WAS Web Application Server, Web Application Server, or Web Application Server
  • a web application is a program designed to serve some purpose on the web. That is, the web application server is a server that processes the service when a request is made to process a service from a user terminal (or user). At this time, a web application server processes one request that a user requests.
  • a user connects to the web and requests a request such as clicking a mouse on a web page, a transaction is processed such that the web page being viewed is updated or moved to another web page in response. Will be.
  • the web application server is also a normal server, and is monitored in real time whether it is properly serving a request of a plurality of user terminals, and monitoring data is recorded and accumulated for analysis.
  • the web application server since the web application server processes the service in one transaction unit, it is monitored and analyzed around the transaction. If you find a transaction that takes more time or fails than an average transaction, you can analyze the transaction and discover problems with the application server. By fixing or refining the problems found, the web application server can run more stably or efficiently.
  • the precise response time refers to the time from the moment the user terminal requests the service to the moment the service result is received from the application server. That is, the total processing time of a transaction for a service request.
  • a transaction of a general web application server 30 includes a service request S1 of a user terminal 10, a request reception S2 of a server, processing of a requested service S3, S4, and a service response. (S5) and receiving the processing result of the user terminal 10 (S6). Therefore, the response time of the transaction refers to the time required from the service request (S1) of the user terminal 10 to the processing result received (S6).
  • the response time presented by the performance of the application server 30 is often calculated as the service processing time of the application server 30. That is, in FIG. 7A, the time required from the service start (S3) to the service end (S4) of the application server 30 is used as the response time.
  • techniques for measuring the processing time of the entire transaction include a method of measuring the response time directly from a specific user terminal or a method of introducing network equipment for collecting packets.
  • the former technique is a method of making a virtual service request by installing a test program on a user terminal.
  • a user terminal generates a virtual transaction by making a virtual service request, and measures the overall response time of the virtual service request in the user terminal. That is, in FIG. 7A, when the user terminal 10 virtually makes a service request S1, the user terminal 10 records a service request time, and when the application server 30 receives the virtual service request, the user terminal 10 displays the corresponding processing result web page. Transmit to the terminal 10. The user terminal 10 records the service reception time when receiving the processing result web page, and obtains the overall service response time from the request time.
  • the measurement technology for the user terminal has a disadvantage in that a test program must be installed in the user terminal.
  • the processing time and the actual service processing time of the virtual service request may be different, and thus there is a problem in that an accurate response time cannot be calculated.
  • the latter technique measures the response time of messages sent and received when establishing a session at the network level.
  • a 3-way handshaking scheme is used. That is, when the user terminal 10 wants to request a service sends a SYN message, the application server 30 returns a SYN-ACK, the user terminal 10 receives the message and sends an ACK message to the application server 30 , Session is established.
  • the application server 30 records the SYN receiving time when receiving the SYN and the ACK receiving time when receiving the ACK, and estimates the difference between the SYN receiving time and the ACK receiving time as the session establishment time.
  • the session establishment time is estimated as the time at which the service request is transmitted. That is, in FIG. 7A, the time from the service request S1 to the request reception S2 is estimated as the session establishment time.
  • the technology for measuring at the network level as described above has the advantage of not needing to install a separate measurement program on the user terminal 10, there is a problem that a high-performance network equipment or system is required. That is, in order to record the arrival time of the SYN or ACK message or to confirm the session establishment of which service (or process) the arrival time is, the network equipment or the network system must check the information on a packet basis. Network equipment with this capability is very expensive.
  • Prior Art 1 Korean Patent Laid-Open Publication No. 2007-0107927 (published Nov. 08, 2007), "Service Quality Measurement System and Method of Web Server" (hereinafter, referred to as Prior Art 1).
  • Prior Art 1 measures the time for which a test server requests a service from each web server and processes the request. .
  • An object of the present invention is to solve the above problems, and inserts a dummy request tag into a web page of a processing result and estimates a response time of a server using a time at which a dummy request of a user terminal arrives by the dummy request tag. It is to provide a server response time measurement system and method.
  • an object of the present invention is to include the response transmission time of the server and the identification information of the service request in the dummy request tag inserted in the processing result web page, so as to grasp the response transmission time and identification information from the received dummy request.
  • the present invention relates to a server response time measurement system for measuring a response time of an application server for a transaction processing a web service request of a user terminal, the processing result web page for the service request from the application server Receiving result page capture unit; A dummy request insertion unit for inserting a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service to the application server into the processing result web page; A result page relay unit which transmits the processing result web page to the user terminal; A dummy request receiver for receiving a dummy request by the dummy request tag from the user terminal; And a response time estimating unit estimating a response time using the arrival time of the dummy request.
  • a server response time measurement system for measuring a response time of an application server for a transaction processing a web service request of a user terminal, the processing result web page for the service request from the application server Receiving result page capture unit; A dummy request insertion unit for inserting a tag (hereinafter,
  • the present invention is a server response time measurement system, wherein the dummy request tag is characterized in that the HTML tag for requesting data or JavaScript for requesting a service.
  • the present invention provides a server response time measurement system, wherein the dummy request insertion unit includes a response transmission time as a variable in the dummy request tag, and the response time estimating unit includes a response transmission time included as a variable in the dummy request.
  • the arrival time difference is characterized by estimating the response time.
  • the present invention provides a server response time measurement system, wherein the dummy request inserting unit includes identification information of the service request as a variable (hereinafter, referred to as an identification variable) in the dummy request tag, and the response time estimating unit is included in the dummy request. Identify the response time estimated by the identification variable included.
  • the present invention is a server response time measurement system, characterized in that the identification information includes any one or more of a session ID (or transaction ID), application ID (or process ID), server ID.
  • the present invention also relates to a method for measuring a server response time of a system for measuring a response time of an application server for a transaction processing a web service request of a user terminal, the method comprising: (a) an application server displaying a processing result web page for a service request; Receiving from; (b) inserting a tag (hereinafter referred to as a dummy request tag) for requesting a dummy service to the application server into the processing result web page; (c) transmitting the processing result web page to the user terminal; (d) receiving a dummy request by the dummy request tag from the user terminal; And (e) estimating a response time using the arrival time of the dummy request.
  • a tag hereinafter referred to as a dummy request tag
  • the response transmission time is included in the dummy request tag as a variable
  • the dummy request is included as a variable.
  • the difference between the response transmission time and the arrival time is estimated as the response time.
  • the identification information of the service request is included in the dummy request tag as a variable (hereinafter referred to as an identification variable), and in the step (e), And identifying a response time estimated by the identification variable included in the dummy request.
  • the present invention also relates to a computer-readable recording medium having recorded thereon a program for performing a method for measuring a response time of the server.
  • the system and method for measuring the response time of the server according to the present invention, by introducing the additional expensive equipment or the user by measuring the response time between the user terminal and the server only by inserting additional dummy request tags in the processing result web page.
  • the effect of accurately estimating the response time of a transaction is obtained in a stable manner without installing additional programs in the terminal.
  • the response time of the server by including the response transmission time of the server and the identification information of the service request in the dummy request tag as variables, the response time only for the dummy request received from the computer terminal. The effect is to obtain and identify the transaction of the response time.
  • FIG. 1 is a diagram illustrating the configuration of an entire system for implementing the present invention.
  • FIG. 2 is a flowchart of a transaction of service request processing according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of a configuration of a system for measuring a response time of a server according to an exemplary embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a web page in which a processing result web page and a dummy request tag are inserted according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of measuring a response time of a server in the clouding server according to another embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a method of measuring a response time of a server according to an embodiment of the present invention.
  • FIG. 7 is a transaction flow diagram of a service request process according to the prior art.
  • the entire system for implementing the present invention includes a user terminal 10, a web application server 30, and a response time measurement system 40.
  • the user terminal 10 and the application server 30 is connected via the Internet 20.
  • it may be configured to further include a database 50 for storing necessary data.
  • the user terminal 10 is a conventional computing terminal used by a user. Examples of the user terminal 10 include a PC, a PDA, a mobile, and the like, and a detailed description thereof will be omitted since its configuration and operation principle are well-known techniques commonly used in the art.
  • the user terminal 10 is provided with a web browser, the user can access the application server 30 through the web browser to receive a web service.
  • the web application server 30 (or application server) is a conventional web application server (WAS, Web Application Server).
  • WAS Web Application Server
  • web services are provided by a web server (not shown) and a web application server on the Internet. That is, the user terminal 10 first connects to a web server, and when the web server needs to perform an application in response to a service request from the user terminal, the web application server 30 requests the service processing, and the result is returned.
  • a web page (hereinafter referred to as a processing result web page) is configured and transmitted to the user terminal 10.
  • the web server is a server that provides content to the web browser of the user terminal 10 using the HTTL protocol, such as HTML document or image, whereas the application server 30 functions as a server that can operate the application on the server side .
  • the web server and the web application server 30 will be referred to as a web application server 30 as a server for providing a web service.
  • Response time measurement system 40 is a system for measuring the service response time of the web application server (30).
  • the measurement system 40 inserts the dummy request tag into the web page (or the processing result web page) of the result processed by the application server 30, receives the dummy request by the dummy request tag, and uses the reception time. Measure the response time.
  • the measurement system 40 may be implemented in the application server 30, or may be implemented as a separate server. When the measurement system 40 is constructed as a separate server, a program module for receiving a processing result web page or a dummy request from the application server 30 is installed, and the other program modules are built on a separate server. desirable.
  • the database 50 includes identification information 51 for identifying a service request such as a transaction ID, a service ID, a server ID, a response time DB 52 for storing an estimated service response time, and the like.
  • identification information 51 for identifying a service request such as a transaction ID, a service ID, a server ID, a response time DB 52 for storing an estimated service response time, and the like.
  • the configuration of the database 50 is only a preferred embodiment, and in the development of a specific device, it may be configured in a different structure by the database construction theory in view of the ease and efficiency of access and search.
  • the transaction of the service request processing refers to a series of processes in which the user terminal 10 requests a service from the application server 30 and receives a response to the service request from the application server 30.
  • the transaction of the service request processing includes the service request step S11 of the user terminal 10, the service process S13 of the application server 30, and the processing result webpage transmission step S14, a measurement system. Inserting and relaying the dummy request tag in the processing result web page (40) (S15, S16), the rendering and the dummy request step (S17, S18) of the processing result web page in the web browser of the user terminal 10 .
  • the application server 30 receives the service request and processes the service for the request (S13).
  • the application server 30 writes the processing result into a web page (hereinafter referred to as a processing result web page) and transmits it (S14).
  • the measurement system 40 captures (or receives) the processing result web page transmitted by the application server 30 (S14).
  • the measurement system 40 inserts a dummy request tag into the processing result web page (S15) and transmits the dummy request tag to the user terminal 10 (S16).
  • the web application server 30 transmits the processing result web page to the user terminal 10 that is the counterpart of the session.
  • the measurement system 40 captures and retrieves the process result web page transmitted to the user terminal in the middle, and then corrects the process result web page and retransmits it to the user terminal 10 again. Therefore, the present invention provides the effect that the conventional web application server 30 can be used as it is.
  • the user terminal 10 receives the processing result web page and outputs (renders) the screen through a web browser (S17). At this time, when the user terminal 10 renders the dummy request tag, the user terminal 10 makes a dummy request to the application server 30 again by the dummy request tag (S18).
  • the measurement system 40 captures (or receives) the dummy request (S19). That is, as in the middle of capturing the processing result web page transmitted to the user terminal 10, the dummy request transmitted to the application server 30 is captured.
  • a session is set up in the application server 30 to install (or hook) a module for capturing and transmitting data to capture a web page or a dummy request and the like.
  • the dummy request transmitted from the user terminal 10 is a message sent to the application server 30, but in fact is not transmitted to the application server 30 but is blocked and the response is sent by the measurement system 40.
  • Measurement system 40 receives the dummy request and records the received time.
  • the measurement system 40 estimates the response time of the transaction of the service request using the recorded reception time.
  • FIG. 2 is a block diagram of the configuration of the response time measurement system 40
  • FIG. 4 illustrates a web page in which a processing result web page and a dummy request tag are inserted.
  • the response time measurement system 40 is a result page capture unit 41, a dummy request insertion unit 42, a result page relay unit 43, a dummy request receiving unit (44), a response time estimating unit (45).
  • the result page capture unit 41 captures the processing result web page for the service request from the application server 30.
  • the service request is requested by the user terminal 10, the application server 30 processes the service request and generates the result as a processing result web page.
  • the processing result web page is a web page written in HTML format as shown in FIG. 4A.
  • the dummy request inserting unit 42 inserts a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service from the application server 30 into the processing result web page.
  • a tag hereinafter, referred to as a dummy request tag
  • the dummy request tag is written in HTML tag requesting data or JavaScript requesting service.
  • the dummy request inserting unit 42 is inserted at the bottom of the last page of the processing result web page. In this case, after all the web pages are rendered as a result of the processing, the dummy request is sent to the application server 30.
  • the processing result may be inserted at the top of the web page.
  • the pure response time between the processing result web page and the dummy request is received. That is, except for the time for rendering the web page as a result of the processing, only the data transmission time between the user terminal 10 and the application server 30 can be obtained purely.
  • the response time obtained in the embodiment inserted at the bottom includes the time rendered by the computer terminal 10, the service delay caused by the late performance of the computer terminal 10 may also be measured. Meanwhile, as another embodiment, the dummy request tag may be inserted at both the top and the bottom.
  • the dummy request inserter 42 may include the response transmission time as a variable in the dummy request tag.
  • the dummy request inserting unit 42 may include the identification information of the service request in the dummy request tag as a variable (hereinafter, referred to as an identification variable).
  • the identification information includes any one or more of a session ID (or transaction ID), an application ID (or process ID), and a server ID.
  • the dummy request tag is a tag for requesting image data.
  • (Data request phrase) is a URL execution code for requesting the image data from the application server 30.
  • the URL execution code may include a variable.
  • the variable x is a variable for a transaction ID
  • a is a variable for a service code
  • t is a time at which the web page is transmitted or responded to by the server (hereinafter referred to as response time)
  • p is an IP address of the user terminal 10
  • w denotes a user ID or the like.
  • the dummy request inserting unit 42 can know information such as a transaction, a requested service, an application server, etc. from the processing result web page transmitted from the application server 30. That is, they can be identified.
  • the transaction ID (or session ID) is information identifying a transaction
  • the application ID (or process ID) is information identifying a requested service
  • the server ID is information identifying an application server.
  • the transaction ID, application ID, and server ID may be applied to any information that can distinguish a transaction, a requested service, and an application server.
  • the identification information of the user terminal or the user may be included.
  • the result page relay unit 43 transmits the processing result web page to the user terminal 10.
  • the processing result web page transmitted at this time is a web page into which the dummy request tag is inserted.
  • the user terminal 10 renders the processing result web page received through the web browser, and transmits the dummy request to the application server 30 by the dummy request tag in the rendering process.
  • the dummy request receiver 44 receives a dummy request by the dummy request tag from the user terminal 30 and records the received time (hereinafter, referred to as a reception time). As seen above, the dummy request is a message sent to the application server 30, and the dummy request receiver 44 captures this message in the middle.
  • the dummy request tag includes a variable
  • the variable is included in the dummy request as it is, the dummy request receiving unit 44 receives a dummy request including the variable.
  • the response time estimator 45 estimates the response time using the arrival time of the dummy request. Preferably, the response time estimator 45 estimates the difference between the response transmission time included in the dummy request and the arrival time as the response time. In addition, the response time estimator 45 identifies the response time estimated by the transaction identification variable included in the dummy request.
  • the response transmission time included in the dummy request is a time inserted at point S15 of FIG. 2, and the reception time is a time at which a dummy request is received at point S21 of FIG. 2. Therefore, the difference in the response transmission time at the reception time means the time in the processing result web page relay (S16), rendering (S17), and dummy request (S18) sections in FIG. 2, and the sections [C] and [D] of FIG. ], [E].
  • the total response time of the service request originally intended is the time taken in the interval [A] + [B] + [C].
  • the time required for section [B] is purely the service processing time of the application server, and the time required for sections [A] and [C] is the response time on the network.
  • the duration of [C], [D], and [E] is the estimated time of response on the network, and the sum of the duration of [C], [D], and [E] and the service processing time of [B].
  • the time required is an estimate of the overall response time.
  • the response time is referred to as the response time on the network.
  • the duration of the section [D] is almost zero, so the duration of the sections [C], [D], and [E] May be regarded as the time required between the sections [C] and [E], and may be referred to as the estimated time between the sections [A] and [C].
  • the response time estimator 45 distinguishes and stores the estimated response time according to the identification variable for the service request in the dummy request. Or store the identification variable with a response time. Using the identification information as described above, statistics of response time for each transaction, service, server, user, and user terminal may be calculated.
  • the statistics of the response time can be used as very important data for the failure and improvement of the request service.
  • the average response time of requesting services of terminals of a specific region can be obtained from identification information (IP address, etc.) of the user terminal, and the region to be improved or restored is determined by determining the region where the average response time is lower than the reference value. You can figure it out.
  • IP address IP address, etc.
  • the average response time of a specific service it is possible to identify the service that is delayed to identify the specific service to be improved.
  • the application server according to an embodiment of the present invention is a clouding server
  • the application server 30 may consist of server 1, server 2, ..., server N in some cases. Each server performs the same service function. In this case, a server is arbitrarily assigned to the service requested by the user terminal 10. Each service request establishes a session with an arbitrarily assigned server and performs service processing. Therefore, the measurement system 40 receives the processing result web page from an arbitrary server.
  • the measurement system 40 inserts the identification information (or server ID) of the server received in the dummy request into the processing result web page as a variable and transmits it to the user terminal 10.
  • the server ID may determine which server's response time is used for the transaction. Therefore, when the measurement system 40 inserts the dummy request tag, it is possible to know which server the estimated response time is related to by simply analyzing the dummy request without storing additional server information.
  • the above effects correspond to all of the identification information included in the dummy request.
  • the response time measurement method is a method in which the measurement system 40 measures the response time of the application server 30.
  • the response time measuring method comprises the steps of (a) receiving a processing result web page for the service request from the application server (S30); (b) inserting a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service into the application server in the processing result web page (S40); (c) transmitting the processing result web page to the user terminal (S50); (d) receiving a dummy request by the dummy request tag from the user terminal (S60); And (e) estimating a response time using the arrival time of the dummy request (S70).
  • a tag hereinafter, referred to as a dummy request tag
  • step (b) the response transmission time is included in the dummy request tag as a variable
  • step (e) the difference between the response transmission time and the arrival time included in the dummy request as a variable is response time.
  • step (b) the identification information of the service request is included in the dummy request tag as a variable (hereinafter, referred to as an identification variable), and in step (e), estimated by the identification variable included in the dummy request. Identifies the response time.
  • the omitted part of the description of the method for measuring the server response time refers to the description of the server response time measuring system described above.
  • the present invention can be applied to a server response time measurement system for measuring the response time of the application server for the transaction processing the service request of the user terminal.
  • the present invention can be applied to a server response time measurement system for inserting a dummy request tag into a processing result web page and estimating the response time of the server using the time at which the dummy request of the user terminal arrives by the dummy request tag. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed are a server response time measurement method and system which measure the response time of an application server to a transaction which is processing a service request from a user terminal. The disclosed device comprises: a results page capture unit which receives a processing results webpage that relates to a service request from an application server; a dummy request insertion unit which inserts a tag requesting a dummy service in the application server into the processing results webpage; a results page transmission unit which transmits the processing results webpage to a user terminal; a dummy request receiving unit which receives a dummy request for a dummy request tag from a user terminal; and a response time estimation unit which estimates the response time by using the arrival time of the dummy request. The disclosed device and method measure the response time between a user terminal and a server by merely inserting an additional dummy request tag in a processing results webpage, and enable the stable and accurate measurement of a transaction response time without the introduction of expensive additional equipment or the installation of additional programmes onto a user terminal.

Description

더미요청 태그를 이용한 서버의 응답시간 측정 시스템 및 그 방법System for measuring response time of server using dummy request tag and method
본 발명은 사용자 단말의 서비스 요청을 처리하는 트랜잭션에 대한 응용서버의 응답시간을 측정하는 서버 응답시간 측정 시스템 및 방법에 관한 것이다.The present invention relates to a server response time measuring system and method for measuring a response time of an application server for a transaction processing a service request of a user terminal.
특히, 본 발명은 처리결과 웹페이지에 더미요청 태그를 삽입하고 더미요청 태그에 의해 사용자 단말의 더미 요청이 도착하는 시각을 이용하여 서버의 응답시간을 추정하는 서버 응답시간 측정 시스템 및 방법에 관한 것이다.In particular, the present invention relates to a server response time measurement system and method for inserting a dummy request tag into a processing result web page and estimating a response time of a server using a time at which a dummy request of a user terminal arrives by a dummy request tag. .
또, 본 발명은 처리결과 웹페이지에 삽입하는 더미요청 태그에 서버의 응답전송 시각 및 서비스 요청의 식별정보 등을 변수로 포함시켜서, 수신된 더미 요청에서 응답전송 시각 및 식별정보를 파악하는 서버 응답시간 측정 시스템 및 방법에 관한 것이다.In addition, the present invention includes the server response transmission time and the identification information of the service request in the dummy request tag inserted into the processing result web page, the server response to determine the response transmission time and identification information in the received dummy request A time measurement system and method.
일반적으로 WAS(Web Application Server, 웹어플리케이션 서버, 또는 웹 응용서버)는 웹 어플리케이션을 수행할 수 있는 환경을 제공해주는 서버를 말한다. 웹 어플리케이션은 웹에서 어떤 목적을 처리하기 위해 만들어진 프로그램을 말한다. 즉, 웹 응용서버는 사용자 단말(또는 사용자)로부터 어떤 서비스를 처리해달라는 요청을 받으면 상기 서비스를 처리해주는 서버이다. 이때, 사용자가 요구하는 하나의 요청사항에 대하여 웹 응용서버가 처리해주는 것을 통상 트랜잭션이라고 말한다. 일반적으로 사용자가 웹에 접속하여 웹페이지에 마우스를 클릭하는 등 요청 명령을 하면, 그에 대한 응답으로 열람하던 웹페이지가 갱신되거나 다른 웹페이지로 이동하는 등의 작업이 처리되는 것이 하나의 트랜잭션이 처리되는 것이다.In general, a WAS (Web Application Server, Web Application Server, or Web Application Server) refers to a server that provides an environment in which a web application can be executed. A web application is a program designed to serve some purpose on the web. That is, the web application server is a server that processes the service when a request is made to process a service from a user terminal (or user). At this time, a web application server processes one request that a user requests. In general, when a user connects to the web and requests a request such as clicking a mouse on a web page, a transaction is processed such that the web page being viewed is updated or moved to another web page in response. Will be.
웹 응용서버도 통상의 서버로서 다수의 사용자 단말의 요청에 적절히 서비스가 되고 있는지 실시간으로 모니터링이 되고, 분석을 위해 모니터링 자료가 기록되고 축적된다. 특히, 웹 응용서버는 하나의 트랜잭션 단위로 서비스를 처리하기 때문에, 트랜잭션을 중심으로 모니터링이 되고 분석된다. 평균적인 트랜잭션보다 많은 시간이 소요되거나 에러가 발생되는 트랜잭션을 찾아내면 그 트랜잭션을 분석하여 어플리케이션 서버의 문제점을 발견할 수 있다. 발견된 문제점을 고치거나 개선하여 웹 응용서버는 더욱 안정되거나 효율적으로 수행하게 된다.The web application server is also a normal server, and is monitored in real time whether it is properly serving a request of a plurality of user terminals, and monitoring data is recorded and accumulated for analysis. In particular, since the web application server processes the service in one transaction unit, it is monitored and analyzed around the transaction. If you find a transaction that takes more time or fails than an average transaction, you can analyze the transaction and discover problems with the application server. By fixing or refining the problems found, the web application server can run more stably or efficiently.
웹 응용서버의 성능을 측정하는 측정변수 중 하나가 응답시간이다. 정확한 의미의 응답시간은 사용자 단말이 서비스를 요청한 순간부터 응용서버로부터 서비스 결과를 수신하는 순간까지의 시간을 말한다. 즉, 서비스 요청에 대한 트랜잭션의 전체 처리시간을 의미한다.One of the measurement variables that measure the performance of a web application server is the response time. The precise response time refers to the time from the moment the user terminal requests the service to the moment the service result is received from the application server. That is, the total processing time of a transaction for a service request.
도 7a에서 보는 바와 같이, 일반적인 웹 응용서버(30)의 트랜잭션은 사용자 단말(10)의 서비스 요청(S1), 서버의 요청접수(S2), 요청된 서비스의 처리(S3,S4), 서비스 응답(S5), 및 사용자 단말(10)의 처리결과 수신(S6)의 단계로 구성된다. 따라서 트랜잭션의 응답시간은 사용자 단말(10)의 서비스 요청(S1)에서 처리결과 수신(S6)까지 소요되는 시간을 의미한다.As shown in FIG. 7A, a transaction of a general web application server 30 includes a service request S1 of a user terminal 10, a request reception S2 of a server, processing of a requested service S3, S4, and a service response. (S5) and receiving the processing result of the user terminal 10 (S6). Therefore, the response time of the transaction refers to the time required from the service request (S1) of the user terminal 10 to the processing result received (S6).
종래에는 응용서버(30)의 성능으로 제시되는 응답시간을 응용서버(30)의 서비스 처리시간으로 계산하는 경우가 많다. 즉, 도 7a에서 응용서버(30)의 서비스 시작(S3)에서 서비스 종료(S4)까지 소요되는 시간을 응답시간으로 사용하고 있다.Conventionally, the response time presented by the performance of the application server 30 is often calculated as the service processing time of the application server 30. That is, in FIG. 7A, the time required from the service start (S3) to the service end (S4) of the application server 30 is used as the response time.
그러나 상기와 같이 서버의 처리시간을 응답시간으로 관리하면 사용자가 느끼는 서비스 품질과 다를 수밖에 없다. 예를 들어, 서버의 처리시간이 1초 이내의 짧은 응답을 보인다 하더라도 인터넷 망의 속도가 느리거나 사용자 단말의 성능이 좋지 못하여, 전체적인 응답시간이 현저하게 저하될 수 있다. 이러한 상황에서도 서버 관리자는 객관적인 구간별 속도를 알 수 없기 때문에 사용자 측면에서의 서비스 품질을 관리할 수 없다.However, managing the processing time of the server as the response time as described above is inevitably different from the service quality felt by the user. For example, even if the processing time of the server shows a short response within 1 second, the speed of the Internet network is slow or the performance of the user terminal is poor, and thus the overall response time may be significantly reduced. Even in this situation, the server administrator cannot know the speed of the objective section and cannot manage the quality of service in terms of users.
한편, 트랜잭션 전체의 처리시간을 측정하는 기술들은 특정 사용자 단말에서 직접 응답시간을 측정하는 방법 또는 패킷을 수집하는 네트워크 장비를 도입하는 방법 등이 있다.On the other hand, techniques for measuring the processing time of the entire transaction include a method of measuring the response time directly from a specific user terminal or a method of introducing network equipment for collecting packets.
전자의 기술은 사용자 단말에 테스트 프로그램을 설치하여 가상의 서비스 요청을 하는 방식이다. 사용자 단말이 가상 서비스 요청을 하여 가상의 트랜잭션을 발생시키고, 사용자 단말에서 가상 서비스 요청의 전체 응답시간을 측정하는 방법이다. 즉, 도 7a에서, 사용자 단말(10)은 가상으로 서비스 요청(S1)을 할 때 서비스 요청시각을 기록하고, 응용서버(30)는 가상 서비스 요청을 수신하면 이에 상응하는 처리결과 웹페이지를 사용자 단말(10)로 전송한다. 사용자 단말(10)은 상기 처리결과 웹페이지를 수신할 때 서비스 수신시각을 기록하여, 요청시각과의 차이로 전체 서비스 응답시간을 구한다.The former technique is a method of making a virtual service request by installing a test program on a user terminal. A user terminal generates a virtual transaction by making a virtual service request, and measures the overall response time of the virtual service request in the user terminal. That is, in FIG. 7A, when the user terminal 10 virtually makes a service request S1, the user terminal 10 records a service request time, and when the application server 30 receives the virtual service request, the user terminal 10 displays the corresponding processing result web page. Transmit to the terminal 10. The user terminal 10 records the service reception time when receiving the processing result web page, and obtains the overall service response time from the request time.
그러나 사용자 단말에의 측정기술은 사용자 단말에 테스트 프로그램을 설치하여야 하는 단점이 있다. 또한, 실제 서비스 요청이 아닌 가상 서비스 요청이므로, 가상 서비스 요청의 처리시간과 실제 서비스 처리시간이 다를 수 있고, 이로 인해 정확한 응답시간을 산출할 수 없다는 문제점이 있다.However, the measurement technology for the user terminal has a disadvantage in that a test program must be installed in the user terminal. In addition, since the virtual service request is not the actual service request, the processing time and the actual service processing time of the virtual service request may be different, and thus there is a problem in that an accurate response time cannot be calculated.
후자의 기술은 네트워크 레벨에서 세션을 설정할 때 송수신하는 메시지의 응답시간을 측정하는 방식이다. 도 7b에서 보는 바와 같이, TCP 프로토콜에 의해 세션이 설정될 때, 3웨이 핸드쉐이킹(3-Way handshaking)방식이 이용된다. 즉, 서비스 요청을 원하는 사용자 단말(10)이 SYN 메시지를 전송하면, 응용서버(30)가 SYN-ACK를 리턴하고, 사용자 단말(10)이 메시지를 받고 ACK 메시지를 응용서버(30)로 보내면, 세션이 설정된다(Established).The latter technique measures the response time of messages sent and received when establishing a session at the network level. As shown in Fig. 7B, when a session is established by the TCP protocol, a 3-way handshaking scheme is used. That is, when the user terminal 10 wants to request a service sends a SYN message, the application server 30 returns a SYN-ACK, the user terminal 10 receives the message and sends an ACK message to the application server 30 , Session is established.
이때, 응용서버(30)는 SYN를 수신할 때 SYN 수신시각을 기록하고 ACK를 수신할 때 ACK 수신시각을 기록하여, SYN 수신시각과 ACK 수신시각 간의 차이를 세션설정 시간으로 추정한다. 그리고 상기 세션설정 시각을 서비스 요청이 전송되는 시간으로 추정한다. 즉, 도 7a에서 서비스 요청(S1)에서 요청접수(S2)까지의 시간을 상기 세션설정 시간으로 추정한다. At this time, the application server 30 records the SYN receiving time when receiving the SYN and the ACK receiving time when receiving the ACK, and estimates the difference between the SYN receiving time and the ACK receiving time as the session establishment time. The session establishment time is estimated as the time at which the service request is transmitted. That is, in FIG. 7A, the time from the service request S1 to the request reception S2 is estimated as the session establishment time.
상기와 같은 네트워크 레벨에서 측정하는 기술은 사용자 단말(10)에 별도의 측정 프로그램을 설치할 필요가 없다는 장점은 있으나, 고성능 네트워크 장비나 시스템이 필요하다는 문제점이 있다. 즉, SYN 또는 ACK 메시지의 도착시각을 기록하거나 상기 도착시각이 어느 서비스(또는 프로세스)의 세션설정인지를 확인하기 위해서는, 네트워크 장비 또는 네트워크 시스템이 패킷단위에서 상기 정보들을 확인해야 한다. 이런 기능을 갖춘 네트워크 장비는 매우 고가이다.The technology for measuring at the network level as described above has the advantage of not needing to install a separate measurement program on the user terminal 10, there is a problem that a high-performance network equipment or system is required. That is, in order to record the arrival time of the SYN or ACK message or to confirm the session establishment of which service (or process) the arrival time is, the network equipment or the network system must check the information on a packet basis. Network equipment with this capability is very expensive.
한편, 트랜잭션 전체의 처리시간을 측정하는 기술은 다음과 같은 것들이 있다. 이 기술의 일례가 [대한민국 공개특허 제2007-0107927호(2007.11.08.공개), "웹 서버의 서비스 품질 측정 시스템 및 방법"](이하 선행기술 1)에 제시되고 있다. 상기 선행기술 1은 하나의 스위치에 소속되어 동일 서비스를 수행하는 다수의 웹 서버에 대한 서비스 응답시간을 측정하기 위하여, 테스트 서버가 각 웹서버에 서비스를 요청하고 그 요청을 처리하는 시간을 측정한다.On the other hand, there are the following techniques for measuring the processing time of the entire transaction. An example of this technique is presented in Korean Patent Laid-Open Publication No. 2007-0107927 (published Nov. 08, 2007), "Service Quality Measurement System and Method of Web Server" (hereinafter, referred to as Prior Art 1). In order to measure the service response time for a plurality of web servers belonging to one switch and performing the same service, the prior art 1 measures the time for which a test server requests a service from each web server and processes the request. .
또한, 다른 기술의 일례가 [대한민국 공개특허 제2002-0078240호(2002.10.18.공개), "통신 품질 정보 수집 방법과 이를 내장한 컴퓨터가 판독 가능한 기록 매체와 이를 이용한 통신 품질 분석 시스템 및 그 방법"](이하 선행기술 2)에 제시되고 있다. 상기 선행기술 2는 매니저 프로그램과 복수의 에이전트 프로그램으로 구성된 클라이언트 시스템이 통신 품질 분석 서버 시스템으로부터 스케줄 정보를 제공받아 이를 토대로 기동되어, 통신 품질 분석을 위한 망 테스트 동작과 특정 네트워크나 특정 사이트에 액세스하여 서비스 테스트 동작을 수행하여 그에 따른 테스트 정보를 통신 품질 분석 서버 시스템 측에 제공한다. 특히, 상기 선행기술 2는 측정 대상 URL의 경로 상에 존재하는 하나 이상의 라우터에게 ICMP 에코우 메시지를 각각 전송하는 등 네트워크 레벨에서 통신 속도를 측정한다.In addition, an example of another technique is disclosed in Korean Patent Laid-Open Publication No. 2002-0078240 (published on October 18, 2002), "Method for collecting communication quality information, a computer-readable recording medium having the same, a communication quality analysis system using the same, and a method thereof. "] (Hereafter Prior Art 2). In the prior art 2, a client system including a manager program and a plurality of agent programs receives schedule information from a communication quality analysis server system, and is started based on the client system, and accesses a network test operation for a communication quality analysis and a specific network or a specific site. The service test operation is performed to provide the test information to the communication quality analysis server system. In particular, the prior art 2 measures the communication speed at the network level, such as transmitting ICMP echo messages to one or more routers existing on the path of the measurement target URL.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 처리결과 웹페이지에 더미요청 태그를 삽입하고 더미요청 태그에 의해 사용자 단말의 더미 요청이 도착하는 시각을 이용하여 서버의 응답시간을 추정하는 서버 응답시간 측정 시스템 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to solve the above problems, and inserts a dummy request tag into a web page of a processing result and estimates a response time of a server using a time at which a dummy request of a user terminal arrives by the dummy request tag. It is to provide a server response time measurement system and method.
또, 본 발명의 목적은 처리결과 웹페이지에 삽입하는 더미요청 태그에 서버의 응답전송 시각 및 서비스 요청의 식별정보 등을 변수로 포함시켜서, 수신된 더미 요청에서 응답전송 시각 및 식별정보를 파악하는 서버 응답시간 측정 시스템 및 방법을 제공하는 것이다.In addition, an object of the present invention is to include the response transmission time of the server and the identification information of the service request in the dummy request tag inserted in the processing result web page, so as to grasp the response transmission time and identification information from the received dummy request. To provide a server response time measurement system and method.
상기 목적을 달성하기 위해 본 발명은 사용자 단말의 웹 서비스 요청을 처리하는 트랜잭션에 대한 응용서버의 응답시간을 측정하는 서버 응답시간 측정 시스템에 관한 것으로서, 서비스 요청에 대한 처리결과 웹페이지를 응용서버로부터 수신하는 결과페이지 캡쳐부; 상기 응용서버에 더미 서비스를 요청하는 태그(이하 더미요청 태그)를 상기 처리결과 웹페이지에 삽입하는 더미요청 삽입부; 상기 처리결과 웹페이지를 상기 사용자 단말에 전송하는 결과페이지 중계부; 상기 사용자 단말로부터 상기 더미요청 태그에 의한 더미 요청을 수신하는 더미요청 수신부; 및 상기 더미 요청의 도착시각을 이용하여 응답시간을 추정하는 응답시간 추정부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a server response time measurement system for measuring a response time of an application server for a transaction processing a web service request of a user terminal, the processing result web page for the service request from the application server Receiving result page capture unit; A dummy request insertion unit for inserting a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service to the application server into the processing result web page; A result page relay unit which transmits the processing result web page to the user terminal; A dummy request receiver for receiving a dummy request by the dummy request tag from the user terminal; And a response time estimating unit estimating a response time using the arrival time of the dummy request.
또, 본 발명은 서버의 응답시간 측정 시스템에 있어서, 상기 더미요청 태그는 데이터를 요청하는 HTML 태그 또는 서비스를 요청하는 자바스크립트로 작성되는 것을 특징으로 한다.In addition, the present invention is a server response time measurement system, wherein the dummy request tag is characterized in that the HTML tag for requesting data or JavaScript for requesting a service.
또, 본 발명은 서버의 응답시간 측정 시스템에 있어서, 상기 더미요청 삽입부는 응답전송 시각을 변수로 상기 더미요청 태그에 포함시키고, 상기 응답시간 추정부는 상기 더미 요청에 변수로 포함된 응답전송 시각과 상기 도착시각의 차이를 응답시간으로 추정하는 것을 특징으로 한다.The present invention provides a server response time measurement system, wherein the dummy request insertion unit includes a response transmission time as a variable in the dummy request tag, and the response time estimating unit includes a response transmission time included as a variable in the dummy request. The arrival time difference is characterized by estimating the response time.
또, 본 발명은 서버의 응답시간 측정 시스템에 있어서, 상기 더미요청 삽입부는 상기 서비스 요청의 식별정보를 변수(이하 식별변수)로 상기 더미요청 태그에 포함시키고, 상기 응답시간 추정부는 상기 더미 요청에 포함된 상기 식별변수에 의해 추정된 응답시간을 식별하는 것을 특징으로 한다.The present invention provides a server response time measurement system, wherein the dummy request inserting unit includes identification information of the service request as a variable (hereinafter, referred to as an identification variable) in the dummy request tag, and the response time estimating unit is included in the dummy request. Identify the response time estimated by the identification variable included.
또, 본 발명은 서버의 응답시간 측정 시스템에 있어서, 상기 식별정보는 세션ID(또는 트랜잭션ID), 어플리케이션 ID(또는 프로세스ID), 서버ID 중 어느 하나 이상을 포함하는 것을 특징으로 한다.The present invention is a server response time measurement system, characterized in that the identification information includes any one or more of a session ID (or transaction ID), application ID (or process ID), server ID.
또한, 본 발명은 사용자 단말의 웹 서비스 요청을 처리하는 트랜잭션에 대한 응용서버의 응답시간을 측정하는 시스템의 서버 응답시간 측정 방법에 관한 것으로서, (a) 서비스 요청에 대한 처리결과 웹페이지를 응용서버로부터 수신하는 단계; (b) 상기 응용서버에 더미 서비스를 요청하는 태그(이하 더미요청 태그)를 상기 처리결과 웹페이지에 삽입하는 단계; (c) 상기 처리결과 웹페이지를 상기 사용자 단말에 전송하는 단계; (d) 상기 사용자 단말로부터 상기 더미요청 태그에 의한 더미 요청을 수신하는 단계; 및 (e) 상기 더미 요청의 도착시각을 이용하여 응답시간을 추정하는 단계를 포함하는 것을 특징으로 한다.The present invention also relates to a method for measuring a server response time of a system for measuring a response time of an application server for a transaction processing a web service request of a user terminal, the method comprising: (a) an application server displaying a processing result web page for a service request; Receiving from; (b) inserting a tag (hereinafter referred to as a dummy request tag) for requesting a dummy service to the application server into the processing result web page; (c) transmitting the processing result web page to the user terminal; (d) receiving a dummy request by the dummy request tag from the user terminal; And (e) estimating a response time using the arrival time of the dummy request.
또, 본 발명은 서버의 응답시간 측정 방법에 있어서, 상기 (b)단계에서, 응답전송 시각을 변수로 상기 더미요청 태그에 포함시키고, 상기 (e)단계에서, 상기 더미 요청에 변수로 포함된 응답전송 시각과 상기 도착시각의 차이를 응답시간으로 추정하는 것을 특징으로 한다.In addition, in the method of measuring a response time of a server, in the step (b), the response transmission time is included in the dummy request tag as a variable, and in the step (e), the dummy request is included as a variable. The difference between the response transmission time and the arrival time is estimated as the response time.
또, 본 발명은 서버의 응답시간 측정 방법에 있어서, 상기 (b)단계에서, 상기 서비스 요청의 식별정보를 변수(이하 식별변수)로 상기 더미요청 태그에 포함시키고, 상기 (e)단계에서, 상기 더미 요청에 포함된 상기 식별변수에 의해 추정된 응답시간을 식별하는 것을 특징으로 한다.In addition, in the method of measuring a response time of a server, in the step (b), the identification information of the service request is included in the dummy request tag as a variable (hereinafter referred to as an identification variable), and in the step (e), And identifying a response time estimated by the identification variable included in the dummy request.
또한, 본 발명은 상기 서버의 응답시간 측정 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention also relates to a computer-readable recording medium having recorded thereon a program for performing a method for measuring a response time of the server.
상술한 바와 같이, 본 발명에 따른 서버의 응답시간 측정 시스템 및 방법에 의하면, 처리결과 웹페이지에 추가적인 더미요청 태그의 삽입만으로 사용자 단말과 서버 간의 응답시간을 측정함으로써, 추가적인 고가의 장비 도입이나 사용자 단말에 추가적인 프로그램 설치 없이도 안정적인 방식으로 트랜잭션의 응답시간을 정확하게 추정할 수 있는 효과가 얻어진다.As described above, according to the system and method for measuring the response time of the server according to the present invention, by introducing the additional expensive equipment or the user by measuring the response time between the user terminal and the server only by inserting additional dummy request tags in the processing result web page. The effect of accurately estimating the response time of a transaction is obtained in a stable manner without installing additional programs in the terminal.
또, 본 발명에 따른 서버의 응답시간 측정 시스템 및 방법에 의하면, 더미요청 태그에 서버의 응답전송 시각 및 서비스 요청의 식별정보 등을 변수로 포함시킴으로써, 컴퓨터 단말로부터 수신된 더미 요청으로만 응답시간을 구하고 구한 응답시간의 트랜잭션을 식별할 수 있는 효과가 얻어진다.In addition, according to the system and method for measuring the response time of the server according to the present invention, by including the response transmission time of the server and the identification information of the service request in the dummy request tag as variables, the response time only for the dummy request received from the computer terminal. The effect is to obtain and identify the transaction of the response time.
도 1은 본 발명을 실시하기 위한 전체 시스템의 구성을 예시한 도면이다.1 is a diagram illustrating the configuration of an entire system for implementing the present invention.
도 2는 본 발명의 일실시예에 따른 서비스 요청처리의 트랜잭션의 흐름도이다.2 is a flowchart of a transaction of service request processing according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 서버의 응답시간 측정 시스템의 구성에 대한 블록도이다.3 is a block diagram of a configuration of a system for measuring a response time of a server according to an exemplary embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 처리결과 웹페이지 및 더미요청 태그가 삽입된 웹페이지를 예시한 도면이다.4 is a diagram illustrating a web page in which a processing result web page and a dummy request tag are inserted according to an embodiment of the present invention.
도 5는 본 발명의 다른 실시예에 따른 클라우딩 서버의 경우 서버의 응답시간 측정 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method of measuring a response time of a server in the clouding server according to another embodiment of the present invention.
도 6은 본 발명의 일실시예에 따른 서버의 응답시간 측정 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of measuring a response time of a server according to an embodiment of the present invention.
도 7은 종래기술에 따른 서비스 요청처리의 트랜잭션 흐름도이다.7 is a transaction flow diagram of a service request process according to the prior art.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION Hereinafter, specific contents for carrying out the present invention will be described with reference to the drawings.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In addition, in describing this invention, the same code | symbol is attached | subjected and the repeated description is abbreviate | omitted.
먼저, 본 발명을 실시하기 위한 전체 웹서비스 시스템 및 웹서비스의 트랜잭션을 도 1을 참조하여 설명한다.First, the overall web service system and the transaction of the web service for implementing the present invention will be described with reference to FIG.
도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 웹 응용서버(30), 응답시간 측정 시스템(40)으로 구성된다. 사용자 단말(10)과 응용서버(30)는 인터넷(20)을 통해 연결된다. 한편, 필요한 데이터를 저장하기 위한 데이터베이스(50)를 더 포함하여 구성될 수 있다.As shown in FIG. 1, the entire system for implementing the present invention includes a user terminal 10, a web application server 30, and a response time measurement system 40. The user terminal 10 and the application server 30 is connected via the Internet 20. On the other hand, it may be configured to further include a database 50 for storing necessary data.
사용자 단말(10)은 사용자가 이용하는 통상의 컴퓨팅 단말기이다. 사용자 단말(10)의 예로는 PC, PDA, 모바일 등이 있으며, 그 구성 및 작동원리는 본 분야에서 통상으로 사용되는 공지 기술이므로 구체적 설명은 생략한다. 사용자 단말(10)에는 웹브라우저가 설치되고, 사용자는 상기 웹브라우저를 통해 응용서버(30)에 접속하여 웹 서비스를 받을 수 있다.The user terminal 10 is a conventional computing terminal used by a user. Examples of the user terminal 10 include a PC, a PDA, a mobile, and the like, and a detailed description thereof will be omitted since its configuration and operation principle are well-known techniques commonly used in the art. The user terminal 10 is provided with a web browser, the user can access the application server 30 through the web browser to receive a web service.
웹 응용서버(30)(또는 응용서버)는 통상의 웹 어플리케이션 서버(WAS, Web Application Server)이다. 일반적으로 인터넷 상에서 웹서비스는 웹서버(미도시)와 웹 응용서버에 의해 제공된다. 즉, 사용자 단말(10)은 먼저 웹서버에 접속하고, 웹서버는 사용자 단말의 서비스 요청에 응하여 어플리케이션을 수행할 필요가 있을 때에는 웹 응용서버(30)에 상기 서비스 처리를 요청하고, 그 결과를 웹페이지(이하 처리결과 웹페이지)로 구성하여 사용자 단말(10)로 전송한다. 웹서버는 HTML 문서나 이미지 등 HTTL 프로토콜을 이용하여 콘텐츠를 사용자 단말(10)의 웹브라우저에 제공하는 서버인 반면, 응용서버(30)는 서버 측에서 어플리케이션을 동작할 수 있는 서버로서 기능을 한다. 이하 설명에서 웹서버와 웹 응용서버(30)를 구분하지 않고 웹 서비스를 제공하는 서버로서 웹 응용서버(30)로 지칭하기로 한다.The web application server 30 (or application server) is a conventional web application server (WAS, Web Application Server). In general, web services are provided by a web server (not shown) and a web application server on the Internet. That is, the user terminal 10 first connects to a web server, and when the web server needs to perform an application in response to a service request from the user terminal, the web application server 30 requests the service processing, and the result is returned. A web page (hereinafter referred to as a processing result web page) is configured and transmitted to the user terminal 10. The web server is a server that provides content to the web browser of the user terminal 10 using the HTTL protocol, such as HTML document or image, whereas the application server 30 functions as a server that can operate the application on the server side . In the following description, the web server and the web application server 30 will be referred to as a web application server 30 as a server for providing a web service.
응답시간 측정 시스템(40)(또는 측정 시스템)은 웹 응용서버(30)의 서비스 응답시간을 측정하는 시스템이다. 측정 시스템(40)은 응용서버(30)에서 처리된 결과의 웹페이지(또는 처리결과 웹페이지)에 더미요청 태그를 삽입하고, 상기 더미요청 태그에 의한 더미요청을 수신하고, 그 수신시각을 이용하여 응답시간을 측정한다. 측정 시스템(40)은 응용서버(30) 내에 구현될 수도 있고, 별도의 서버로서 구현될 수도 있다. 측정 시스템(40)이 별도의 서버로 구축되는 경우, 응용서버(30)로부터 처리결과 웹페이지를 수신하거나 더미요청을 수신하는 프로그램 모듈이 설치되고, 그 외 프로그램 모듈은 별도의 서버에 구축되는 것이 바람직하다.Response time measurement system 40 (or measurement system) is a system for measuring the service response time of the web application server (30). The measurement system 40 inserts the dummy request tag into the web page (or the processing result web page) of the result processed by the application server 30, receives the dummy request by the dummy request tag, and uses the reception time. Measure the response time. The measurement system 40 may be implemented in the application server 30, or may be implemented as a separate server. When the measurement system 40 is constructed as a separate server, a program module for receiving a processing result web page or a dummy request from the application server 30 is installed, and the other program modules are built on a separate server. desirable.
데이터베이스(50)는 트랜잭션ID, 서비스ID, 서버ID 등 서비스 요청을 식별할 수 있는 식별정보(51), 추정된 서비스 응답시간을 저장하는 응답시간DB(52) 등으로 이루어진다. 그러나 상기 데이터베이스(50)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.The database 50 includes identification information 51 for identifying a service request such as a transaction ID, a service ID, a server ID, a response time DB 52 for storing an estimated service response time, and the like. However, the configuration of the database 50 is only a preferred embodiment, and in the development of a specific device, it may be configured in a different structure by the database construction theory in view of the ease and efficiency of access and search.
다음으로, 본 발명의 일실시예에 따른 서비스 요청처리의 트랜잭션을 도 2를 참조하여 설명한다. 서비스 요청처리의 트랜잭션은 사용자 단말(10)이 응용서버(30)에 서비스를 요청하고, 상기 응용서버(30)로부터 서비스 요청에 대한 응답을 받는 일련의 과정을 말한다.Next, a transaction of the service request processing according to an embodiment of the present invention will be described with reference to FIG. The transaction of the service request processing refers to a series of processes in which the user terminal 10 requests a service from the application server 30 and receives a response to the service request from the application server 30.
도 2에서 보는 바와 같이, 서비스 요청처리의 트랜잭션은 사용자 단말(10)의 서비스 요청 단계(S11), 응용서버(30)의 서비스 처리(S13) 및 처리결과 웹페이지 전송 단계(S14), 측정 시스템(40)의 상기 처리결과 웹페이지에 더미요청 태그 삽입 및 중계 단계(S15, S16), 사용자 단말(10)의 웹브라우저에서 처리결과 웹페이지의 랜더링 및 더미 요청 단계 (S17, S18)로 구성된다.As shown in FIG. 2, the transaction of the service request processing includes the service request step S11 of the user terminal 10, the service process S13 of the application server 30, and the processing result webpage transmission step S14, a measurement system. Inserting and relaying the dummy request tag in the processing result web page (40) (S15, S16), the rendering and the dummy request step (S17, S18) of the processing result web page in the web browser of the user terminal 10 .
먼저, 사용자 단말(10)은 응용서버(30)로 서비스 요청을 하면, 사용자 단말(10)과 응용서버(30) 사이에 세션이 설정되고, 서비스 요청이 응용서버(30)로 전송된다(S11).First, when the user terminal 10 requests a service to the application server 30, a session is established between the user terminal 10 and the application server 30, and the service request is transmitted to the application server 30 (S11). ).
응용서버(30)는 상기 서비스 요청을 수신하고 그 요청에 대한 서비스를 처리한다(S13). 그리고 응용서버(30)는 그 처리결과를 웹페이지(이하 처리결과 웹페이지)로 작성하여 전송한다(S14).The application server 30 receives the service request and processes the service for the request (S13). The application server 30 writes the processing result into a web page (hereinafter referred to as a processing result web page) and transmits it (S14).
측정 시스템(40)은 응용서버(30)가 전송하는 처리결과 웹페이지를 캡쳐(또는 수신)한다(S14). 그리고 측정 시스템(40)은 상기 처리결과 웹페이지에 더미요청 태그를 삽입하여(S15) 사용자 단말(10)로 전송한다(S16). The measurement system 40 captures (or receives) the processing result web page transmitted by the application server 30 (S14). The measurement system 40 inserts a dummy request tag into the processing result web page (S15) and transmits the dummy request tag to the user terminal 10 (S16).
일반적으로 웹 응용서버(30)는 처리결과 웹페이지를 세션의 상대방인 사용자 단말(10)로 전송한다. 바람직하게는, 측정 시스템(40)은 사용자 단말로 전송되는 처리결과 웹페이지를 중간에서 캡쳐하여 가져온 후, 처리결과 웹페이지를 수정하여 다시 사용자 단말(10)로 재전송한다. 따라서 본 발명은 종래의 웹 응용서버(30)를 그대로 이용할 수 있는 효과가 얻어진다.In general, the web application server 30 transmits the processing result web page to the user terminal 10 that is the counterpart of the session. Preferably, the measurement system 40 captures and retrieves the process result web page transmitted to the user terminal in the middle, and then corrects the process result web page and retransmits it to the user terminal 10 again. Therefore, the present invention provides the effect that the conventional web application server 30 can be used as it is.
사용자 단말(10)은 상기 처리결과 웹페이지를 수신하여 웹브라우저를 통해 화면에 출력(랜더링)한다(S17). 이때, 사용자 단말(10)은 더미요청 태그를 랜더링할 때, 상기 더미요청 태그에 의해 다시 상기 응용서버(30)로 더미요청을 한다(S18).The user terminal 10 receives the processing result web page and outputs (renders) the screen through a web browser (S17). At this time, when the user terminal 10 renders the dummy request tag, the user terminal 10 makes a dummy request to the application server 30 again by the dummy request tag (S18).
측정 시스템(40)은 상기 더미요청을 캡쳐(또는 수신)한다(S19). 즉, 사용자 단말(10)로 전송되는 처리결과 웹페이지를 중간에서 캡쳐한 것과 마찬가지로, 응용서버(30)로 전송되는 더미요청을 캡쳐한다. 바람직하게는 응용서버(30)에서 세션이 설정되어 데이터를 송수신하는 모듈에 캡쳐(또는 후킹)하는 모듈을 설치하여, 처리결과 웹페이지 또는 더미요청 등을 캡쳐한다.The measurement system 40 captures (or receives) the dummy request (S19). That is, as in the middle of capturing the processing result web page transmitted to the user terminal 10, the dummy request transmitted to the application server 30 is captured. Preferably, a session is set up in the application server 30 to install (or hook) a module for capturing and transmitting data to capture a web page or a dummy request and the like.
결과적으로, 사용자 단말(10)에서 전송되는 더미요청은 응용서버(30)로 보내지는 메시지이나, 사실상 응용서버(30)로 전송되지 않고 차단되고 그 응답은 측정 시스템(40)에 의해 보내진다.As a result, the dummy request transmitted from the user terminal 10 is a message sent to the application server 30, but in fact is not transmitted to the application server 30 but is blocked and the response is sent by the measurement system 40.
측정 시스템(40)은 상기 더미요청을 수신하고 수신된 시각을 기록한다. 측정 시스템(40)은 기록된 수신시각을 이용하여 상기 서비스 요청의 트랜잭션의 응답시간을 추정한다. Measurement system 40 receives the dummy request and records the received time. The measurement system 40 estimates the response time of the transaction of the service request using the recorded reception time.
다음으로, 본 발명의 일실시예에 따른 서버의 응답시간 측정 시스템의 구성을 도 3과 도 4를 참조하여 설명한다. 도 2는 상기 응답시간 측정 시스템(40)의 구성에 대한 블록도이고, 도 4는 처리결과 웹페이지 및 더미요청 태그가 삽입된 웹페이지를 예시한 것이다.Next, the configuration of the response time measurement system of the server according to an embodiment of the present invention will be described with reference to FIGS. 3 and 4. 2 is a block diagram of the configuration of the response time measurement system 40, and FIG. 4 illustrates a web page in which a processing result web page and a dummy request tag are inserted.
도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 응답시간 측정 시스템(40)은 결과페이지 캡쳐부(41), 더미요청 삽입부(42), 결과페이지 중계부(43), 더미요청 수신부(44), 응답시간 추정부(45)로 구성된다.As shown in Figure 2, the response time measurement system 40 according to an embodiment of the present invention is a result page capture unit 41, a dummy request insertion unit 42, a result page relay unit 43, a dummy request receiving unit (44), a response time estimating unit (45).
결과페이지 캡쳐부(41)는 서비스 요청에 대한 처리결과 웹페이지를 응용서버(30)로부터 캡쳐한다. 앞서 본 바와 같이, 상기 서비스 요청은 사용자 단말(10)에 의해 요구되고, 응용서버(30)는 상기 서비스 요청을 처리하여 그 결과를 처리결과 웹페이지로 생성한다. 처리결과 웹페이지는 도 4a에서 보는 바와 같은 HTML 형식으로 작성된 웹페이지이다.The result page capture unit 41 captures the processing result web page for the service request from the application server 30. As described above, the service request is requested by the user terminal 10, the application server 30 processes the service request and generates the result as a processing result web page. The processing result web page is a web page written in HTML format as shown in FIG. 4A.
더미요청 삽입부(42)는 응용서버(30)에 더미 서비스를 요청하는 태그(이하 더미요청 태그)를 상기 처리결과 웹페이지에 삽입한다. 바람직하게는, 더미요청 태그는 데이터를 요청하는 HTML 태그 또는 서비스를 요청하는 자바스크립트로 작성된다.The dummy request inserting unit 42 inserts a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service from the application server 30 into the processing result web page. Preferably, the dummy request tag is written in HTML tag requesting data or JavaScript requesting service.
도 4b에서 보는 바와 같이, 더미요청 삽입부(42)는 처리결과 웹페이지의 마지막 하단에 삽입된다. 이 경우, 처리결과 웹페이지가 모두 랜더링된 후, 더미요청이 응용서버(30)로 보내진다.As shown in FIG. 4B, the dummy request inserting unit 42 is inserted at the bottom of the last page of the processing result web page. In this case, after all the web pages are rendered as a result of the processing, the dummy request is sent to the application server 30.
그러나 다른 실시예로서, 처리결과 웹페이지 상단에 삽입될 수도 있다. 이 경우, 사용자 단말(10)에서 처리결과 웹페이지를 수신하자마자 바로 더미요청을 전송하므로, 처리결과 웹페이지가 전송되어 더미요청이 수신되는 사이의 순수한 응답시간을 구할 수 있다. 즉, 처리결과 웹페이지를 랜더링하는 시간을 제외하고, 사용자 단말(10)과 응용서버(30) 사이의 데이터 전송시간만 순수하게 구할 수 있다.However, in another embodiment, the processing result may be inserted at the top of the web page. In this case, since the user terminal 10 transmits the dummy request immediately after receiving the processing result web page, the pure response time between the processing result web page and the dummy request is received. That is, except for the time for rendering the web page as a result of the processing, only the data transmission time between the user terminal 10 and the application server 30 can be obtained purely.
하단에 삽입되는 실시예에서 구하는 응답시간은 컴퓨터 단말(10)에서 랜더링하는 시간을 포함하므로, 컴퓨터 단말(10)의 성능이 늦어 발생되는 서비스 지연도 측정될 수 있다. 한편, 또 다른 실시예로서, 더미요청 태그를 상단과 하단에 모두 삽입할 수도 있다.Since the response time obtained in the embodiment inserted at the bottom includes the time rendered by the computer terminal 10, the service delay caused by the late performance of the computer terminal 10 may also be measured. Meanwhile, as another embodiment, the dummy request tag may be inserted at both the top and the bottom.
더미요청 삽입부(42)는 응답전송 시각을 변수로 더미요청 태그에 포함시킬 수 있다. 또, 더미요청 삽입부(42)는 서비스 요청의 식별정보를 변수(이하 식별변수)로 더미요청 태그에 포함시킬 수 있다. 상기 식별정보는 세션ID(또는 트랜잭션ID), 어플리케이션 ID(또는 프로세스ID), 서버ID 중 어느 하나 이상을 포함한다.The dummy request inserter 42 may include the response transmission time as a variable in the dummy request tag. In addition, the dummy request inserting unit 42 may include the identification information of the service request in the dummy request tag as a variable (hereinafter, referred to as an identification variable). The identification information includes any one or more of a session ID (or transaction ID), an application ID (or process ID), and a server ID.
도 4b와 같이, 더미요청 태그는 <img src="(데이터 요청 문구)"> 형태로 삽입될 수 있다. 상기 더미요청 태그는 이미지 데이터를 요청하는 태그이다. (데이터 요청 문구)는 이미지 데이터를 응용서버(30)에 요구하는 URL 실행코드이다.As shown in FIG. 4B, the dummy request tag may be inserted in the form of <img src = "(data request phrase)">. The dummy request tag is a tag for requesting image data. (Data request phrase) is a URL execution code for requesting the image data from the application server 30.
상기 URL 실행코드에는 변수를 포함시킬 수 있다. 도 4b에서 x, a, t, i, p, w 등이 변수이고, 그 변수값은 "(변수) = (변수값)"으로 포함된다. 변수 x는 트랜잭션 ID에 대한 변수이고, a는 서비스 코드에 대한 변수, t는 서버에서 처리결과 웹페이지를 전송 또는 응답한 시각(이하 응답전송 시각), p는 사용자 단말(10)의 IP주소, w는 사용자 아이디 등을 지칭한다.The URL execution code may include a variable. In FIG. 4B, x, a, t, i, p, w, and the like are variables, and the variable values are included as "(variable) = (variable value)". The variable x is a variable for a transaction ID, a is a variable for a service code, t is a time at which the web page is transmitted or responded to by the server (hereinafter referred to as response time), p is an IP address of the user terminal 10, w denotes a user ID or the like.
더미요청 삽입부(42)는 응용서버(30)에서 송신하는 처리결과 웹페이지로부터 트랜잭션, 요청된 서비스, 응용서버 등의 정보를 알 수 있다. 즉, 이들을 식별할 수 있다. 트랜잭션ID(또는 세션ID)는 트랜잭션을 식별하는 정보이고, 어플리케이션ID(또는 프로세스ID)는 요청된 서비스를 식별하는 정보이고, 서버ID는 응용서버를 식별하는 정보이다. 트랜잭션ID, 어플리케이션ID, 서버ID는 트랜잭션, 요청된 서비스, 응용서버 등을 구별할 수 있는 정보이면 어느 것이나 적용 가능하다. 그 외에도 사용자 단말 또는 사용자에 대한 식별정보도 포함될 수 있다.The dummy request inserting unit 42 can know information such as a transaction, a requested service, an application server, etc. from the processing result web page transmitted from the application server 30. That is, they can be identified. The transaction ID (or session ID) is information identifying a transaction, the application ID (or process ID) is information identifying a requested service, and the server ID is information identifying an application server. The transaction ID, application ID, and server ID may be applied to any information that can distinguish a transaction, a requested service, and an application server. In addition, the identification information of the user terminal or the user may be included.
결과페이지 중계부(43)는 상기 처리결과 웹페이지를 상기 사용자 단말(10)에 전송한다. 이때 전송되는 처리결과 웹페이지는 더미요청 태그가 삽입된 웹페이지이다. 앞서 본 바와 같이, 사용자 단말(10)은 웹브라우저를 통해 수신된 처리결과 웹페이지를 랜더링하고, 랜더링 과정에서 더미요청 태그에 의해 더미요청을 응용서버(30)로 전송한다.The result page relay unit 43 transmits the processing result web page to the user terminal 10. The processing result web page transmitted at this time is a web page into which the dummy request tag is inserted. As described above, the user terminal 10 renders the processing result web page received through the web browser, and transmits the dummy request to the application server 30 by the dummy request tag in the rendering process.
더미요청 수신부(44)는 사용자 단말(30)로부터 상기 더미요청 태그에 의한 더미 요청을 수신하고, 수신된 시각(이하 수신시각)을 기록한다. 앞서 본 바와 같이, 더미요청은 응용서버(30)로 보내지는 메시지이고, 이 메시지를 중간에서 더미요청 수신부(44)가 캡쳐하는 것이다.The dummy request receiver 44 receives a dummy request by the dummy request tag from the user terminal 30 and records the received time (hereinafter, referred to as a reception time). As seen above, the dummy request is a message sent to the application server 30, and the dummy request receiver 44 captures this message in the middle.
한편, 더미요청 태그에 변수가 포함된 경우, 그 변수가 더미요청에 그대로 포함되어, 더미요청 수신부(44)는 변수가 포함된 더미요청을 수신한다.On the other hand, when the dummy request tag includes a variable, the variable is included in the dummy request as it is, the dummy request receiving unit 44 receives a dummy request including the variable.
응답시간 추정부(45)는 상기 더미 요청의 도착시각을 이용하여 응답시간을 추정한다. 바람직하게는, 응답시간 추정부(45)는 더미요청에 변수로 포함된 응답전송 시각과 상기 도착시각의 차이를 응답시간으로 추정한다. 또, 응답시간 추정부(45)는 상기 더미 요청에 포함된 트랜잭션 식별변수에 의해 추정된 응답시간을 식별한다.The response time estimator 45 estimates the response time using the arrival time of the dummy request. Preferably, the response time estimator 45 estimates the difference between the response transmission time included in the dummy request and the arrival time as the response time. In addition, the response time estimator 45 identifies the response time estimated by the transaction identification variable included in the dummy request.
응답시간에 대하여 도 2를 참조하여 보다 구체적으로 설명한다. 도 2에서 [A], [B], ..., [E]는 화살표가 표시된 구간을 표시한다. 한편, 측정 시스템(40)은 응용서버(30) 측에 설치되므로, 측정 시스템(40)과 응용서버(30) 사이에 데이터 전송시간은 0로 보아도 무방하다. 예를 들어, 처리결과 웹페이지를 전송하는 과정인 S14 구간에서 소요되는 시간은 거의 0에 가깝다.The response time will be described in more detail with reference to FIG. 2. In FIG. 2, [A], [B], ..., [E] indicate a section in which an arrow is indicated. On the other hand, since the measurement system 40 is installed on the application server 30 side, the data transmission time between the measurement system 40 and the application server 30 may be regarded as zero. For example, the time taken in the S14 section, which is the process of transmitting the web page as a result, is almost zero.
더미요청에 포함된 응답전송 시각은 도 2의 S15 지점에서 삽입된 시각이고, 수신시각은 도 2의 S21 지점에서 더미요청을 수신한 시각이다. 따라서 수신시각에서 응답전송 시각의 차이는 도 2에서 처리결과 웹페이지 중계(S16), 랜더링(S17), 더미요청(S18) 구간에서의 시간을 의미하고, 도 2의 구간 [C], [D], [E]에서 소요된 시간이다.The response transmission time included in the dummy request is a time inserted at point S15 of FIG. 2, and the reception time is a time at which a dummy request is received at point S21 of FIG. 2. Therefore, the difference in the response transmission time at the reception time means the time in the processing result web page relay (S16), rendering (S17), and dummy request (S18) sections in FIG. 2, and the sections [C] and [D] of FIG. ], [E].
원래 구하고자 하는 서비스 요청의 전체 응답시간은 [A] + [B] + [C] 구간에서 소요되는 시간이다. [B] 구간의 소요시간은 순수하게 응용서버의 서비스 처리시간이고, [A]와 [C] 구간의 소요시간은 네트워크 상에서의 응답시간이다.The total response time of the service request originally intended is the time taken in the interval [A] + [B] + [C]. The time required for section [B] is purely the service processing time of the application server, and the time required for sections [A] and [C] is the response time on the network.
그러나 [A]와 [C] 구간의 네트워크 상의 응답시간을 측정할 수 없기 때문에, 이를 대신하여 [C], [D], [E] 구간의 소요시간을 측정한다. [C], [D], [E] 구간의 소요시간은 네트워크 상의 응답시간을 추정한 시간이고, [C], [D], [E] 구간의 소요시간과 [B] 서비스 처리 시간을 합한 소요시간이 전체 응답시간을 추정한 시간이다. 이하에서 응답시간이라 함은 네트워크 상의 응답시간으로 지칭하는 것으로 한다.However, since the response time on the network of the [A] and [C] sections cannot be measured, the time required for the [C], [D] and [E] sections is measured instead. The duration of [C], [D], and [E] is the estimated time of response on the network, and the sum of the duration of [C], [D], and [E] and the service processing time of [B]. The time required is an estimate of the overall response time. Hereinafter, the response time is referred to as the response time on the network.
한편, 앞서 본 바와 같이, 더미요청 태그를 처리결과 웹페이지의 상단에 삽입하면, 구간 [D]의 소요시간이 거의 0에 가까우므로, [C], [D], [E] 구간의 소요시간은 [C]와 [E]구간의 소요시간으로 보아도 무방하고, 곧 [A]와 [C] 구간의 소요시간의 추정시간이라 할 수 있다.On the other hand, as described above, when the dummy request tag is inserted at the top of the processing result web page, the duration of the section [D] is almost zero, so the duration of the sections [C], [D], and [E] May be regarded as the time required between the sections [C] and [E], and may be referred to as the estimated time between the sections [A] and [C].
또한, 응답시간 추정부(45)는 더미요청에 서비스 요청에 대한 식별변수에 따라 상기 추정된 응답시간을 구별하여 저장한다. 또는 응답시간과 함께 상기 식별변수를 저장한다. 상기와 같은 식별정보를 이용하여, 트랜잭션별, 서비스별, 서버별, 사용자별, 사용자 단말별 응답시간의 통계를 산출할 수 있다.In addition, the response time estimator 45 distinguishes and stores the estimated response time according to the identification variable for the service request in the dummy request. Or store the identification variable with a response time. Using the identification information as described above, statistics of response time for each transaction, service, server, user, and user terminal may be calculated.
상기와 같은 응답시간의 통계는 요청 서비스의 장애 및 개선에 매우 중요한 데이터로 활용될 수 있다. 예를 들어, 사용자 단말의 식별정보(IP주소 등)로 특정지역의 단말들의 요청 서비스의 평균 응답시간을 구할 수 있고, 이 평균 응답시간이 기준치보다 낮은 지역을 판별하여 개선하거나 복구할 지역을 구체적으로 파악할 수 있다. 또, 특정 서비스의 평균 응답시간을 구하여, 늦어지는 서비스를 파악하여, 개선되어야 할 구체적인 서비스를 파악할 수 있다.The statistics of the response time can be used as very important data for the failure and improvement of the request service. For example, the average response time of requesting services of terminals of a specific region can be obtained from identification information (IP address, etc.) of the user terminal, and the region to be improved or restored is determined by determining the region where the average response time is lower than the reference value. You can figure it out. In addition, by obtaining the average response time of a specific service, it is possible to identify the service that is delayed to identify the specific service to be improved.
다음으로, 본 발명의 일실시예에 따른 응용서버가 클라우딩 서버인 경우의 예를 도 5를 참조하여 설명한다.Next, an example in which the application server according to an embodiment of the present invention is a clouding server will be described with reference to FIG. 5.
도 5에서 보는 바와 같이, 응용서버(30)가 서버 1, 서버 2, ..., 서버 N으로 다수로 이루어지는 경우가 있다. 각 서버는 동일한 서비스 기능을 수행한다. 이 경우, 사용자 단말(10)이 요청하는 서비스에 대하여, 임의로 서버가 배정된다. 각 서비스 요청은 임의로 배정된 서버와 세션설정을 하고, 서비스 처리가 이루어진다. 따라서 측정시스템(40)은 처리결과 웹페이지를 임의의 서버로부터 수신하게 된다.As shown in FIG. 5, the application server 30 may consist of server 1, server 2, ..., server N in some cases. Each server performs the same service function. In this case, a server is arbitrarily assigned to the service requested by the user terminal 10. Each service request establishes a session with an arbitrarily assigned server and performs service processing. Therefore, the measurement system 40 receives the processing result web page from an arbitrary server.
측정 시스템(40)은 더미요청에 수신한 서버의 식별정보(또는 서버ID)를 변수로 처리결과 웹페이지에 삽입하여 사용자 단말(10)로 전송한다. 측정 시스템(40)이 더미요청을 수신하면, 더미요청 내에 서버ID가 존재하므로 상기 서버ID로 어느 서버의 트랜잭션에 대한 응답시간인지를 확인할 수 있다. 따라서 측정 시스템(40)이 더미요청 태그를 삽입할 때, 별도의 서버 정보를 저장하지 않고, 더미요청을 분석하는 것만으로도, 추정된 응답시간이 어느 서버와 관련된 것인지를 알 수 있다.The measurement system 40 inserts the identification information (or server ID) of the server received in the dummy request into the processing result web page as a variable and transmits it to the user terminal 10. When the measurement system 40 receives the dummy request, since the server ID exists in the dummy request, the server ID may determine which server's response time is used for the transaction. Therefore, when the measurement system 40 inserts the dummy request tag, it is possible to know which server the estimated response time is related to by simply analyzing the dummy request without storing additional server information.
상기와 같은 효과는 더미요청에 포함되는 식별정보 모두에 해당된다.The above effects correspond to all of the identification information included in the dummy request.
다음으로, 본 발명의 일실시예에 따른 서버의 응답시간 측정 방법을 도 6을 참조하여 설명한다. 상기 응답시간 측정방법은 측정 시스템(40)이 상기 응용서버(30)의 응답시간을 측정하는 방법이다.Next, a method of measuring a response time of a server according to an embodiment of the present invention will be described with reference to FIG. 6. The response time measurement method is a method in which the measurement system 40 measures the response time of the application server 30.
도 6에서 보는 바와 같이, 상기 응답시간 측정방법은 (a) 서비스 요청에 대한 처리결과 웹페이지를 응용서버로부터 수신하는 단계(S30); (b) 상기 응용서버에 더미 서비스를 요청하는 태그(이하 더미요청 태그)를 상기 처리결과 웹페이지에 삽입하는 단계(S40); (c) 상기 처리결과 웹페이지를 상기 사용자 단말에 전송하는 단계(S50); (d) 상기 사용자 단말로부터 상기 더미요청 태그에 의한 더미 요청을 수신하는 단계(S60); 및 (e) 상기 더미 요청의 도착시각을 이용하여 응답시간을 추정하는 단계(S70)로 구분된다.As shown in Figure 6, the response time measuring method comprises the steps of (a) receiving a processing result web page for the service request from the application server (S30); (b) inserting a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service into the application server in the processing result web page (S40); (c) transmitting the processing result web page to the user terminal (S50); (d) receiving a dummy request by the dummy request tag from the user terminal (S60); And (e) estimating a response time using the arrival time of the dummy request (S70).
특히, 상기 (b)단계에서, 응답전송 시각을 변수로 상기 더미요청 태그에 포함시키고, 상기 (e)단계에서, 상기 더미 요청에 변수로 포함된 응답전송 시각과 상기 도착시각의 차이를 응답시간으로 추정한다.In particular, in step (b), the response transmission time is included in the dummy request tag as a variable, and in step (e), the difference between the response transmission time and the arrival time included in the dummy request as a variable is response time. Estimate as
또한, 상기 (b)단계에서, 상기 서비스 요청의 식별정보를 변수(이하 식별변수)로 상기 더미요청 태그에 포함시키고, 상기 (e)단계에서, 상기 더미 요청에 포함된 상기 식별변수에 의해 추정된 응답시간을 식별한다.In addition, in step (b), the identification information of the service request is included in the dummy request tag as a variable (hereinafter, referred to as an identification variable), and in step (e), estimated by the identification variable included in the dummy request. Identifies the response time.
상기 서버 응답시간 측정 방법에 대한 설명 중 생략된 부분은 앞서 설명된 서버 응답시간 측정 시스템에 대한 설명을 참고한다.The omitted part of the description of the method for measuring the server response time refers to the description of the server response time measuring system described above.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.As mentioned above, although the invention made by this inventor was demonstrated concretely according to the said Example, this invention is not limited to the said Example and can be variously changed in the range which does not deviate from the summary.
본 발명은 사용자 단말의 서비스 요청을 처리하는 트랜잭션에 대한 응용서버의 응답시간을 측정하는 서버 응답시간 측정 시스템에 적용이 가능하다. 특히, 본 발명은 처리결과 웹페이지에 더미요청 태그를 삽입하고 더미요청 태그에 의해 사용자 단말의 더미 요청이 도착하는 시각을 이용하여 서버의 응답시간을 추정하는 서버 응답시간 측정 시스템에 적용이 가능하다.The present invention can be applied to a server response time measurement system for measuring the response time of the application server for the transaction processing the service request of the user terminal. In particular, the present invention can be applied to a server response time measurement system for inserting a dummy request tag into a processing result web page and estimating the response time of the server using the time at which the dummy request of the user terminal arrives by the dummy request tag. .

Claims (9)

  1. 사용자 단말의 웹 서비스 요청을 처리하는 트랜잭션에 대한 응용서버의 응답시간을 측정하는 서버 응답시간 측정 시스템에 있어서,In the server response time measurement system for measuring the response time of the application server for the transaction processing the web service request of the user terminal,
    서비스 요청에 대한 처리결과 웹페이지를 응용서버로부터 수신하는 결과페이지 캡쳐부;A result page capture unit for receiving a processing result web page for a service request from an application server;
    상기 응용서버에 더미 서비스를 요청하는 태그(이하 더미요청 태그)를 상기 처리결과 웹페이지에 삽입하는 더미요청 삽입부;A dummy request insertion unit for inserting a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service to the application server into the processing result web page;
    상기 처리결과 웹페이지를 상기 사용자 단말에 전송하는 결과페이지 중계부;A result page relay unit which transmits the processing result web page to the user terminal;
    상기 사용자 단말로부터 상기 더미요청 태그에 의한 더미 요청을 수신하고, 도착시간을 기록하는 더미요청 수신부; 및A dummy request receiving unit which receives a dummy request by the dummy request tag from the user terminal and records an arrival time; And
    상기 더미 요청의 도착시각을 이용하여 응답시간을 추정하는 응답시간 추정부를 포함하는 것을 특징으로 하는 서버의 응답시간 측정 시스템.And a response time estimating unit estimating a response time using the arrival time of the dummy request.
  2. 제1항에 있어서,The method of claim 1,
    상기 더미요청 태그는 데이터를 요청하는 HTML 태그 또는 서비스를 요청하는 자바스크립트로 작성되는 것을 특징으로 하는 서버의 응답시간 측정 시스템.The dummy request tag is a response time measurement system of a server, characterized in that written in HTML tags requesting data or JavaScript requesting a service.
  3. 제1항에 있어서,The method of claim 1,
    상기 더미요청 삽입부는 응답전송 시각을 변수로 상기 더미요청 태그에 포함시키고, 상기 응답시간 추정부는 상기 더미 요청에 변수로 포함된 응답전송 시각과 상기 도착시각의 차이를 응답시간으로 추정하는 것을 특징으로 하는 서버의 응답시간 측정 시스템.The dummy request insertion unit includes a response transmission time as a variable in the dummy request tag, and the response time estimating unit estimates a difference between the response transmission time included in the dummy request and the arrival time as a response time. System for measuring response time of servers.
  4. 제1항에 있어서,The method of claim 1,
    상기 더미요청 삽입부는 상기 서비스 요청의 식별정보를 변수(이하 식별변수)로 상기 더미요청 태그에 포함시키고, 상기 응답시간 추정부는 상기 더미 요청에 포함된 상기 식별변수에 의해 추정된 응답시간을 식별하는 것을 특징으로 하는 서버의 응답시간 측정 시스템.The dummy request inserting unit includes identification information of the service request in the dummy request tag as a variable (hereinafter, referred to as an identification variable), and the response time estimating unit identifies a response time estimated by the identification variable included in the dummy request. Response time measurement system of the server, characterized in that.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 식별정보는 세션ID(또는 트랜잭션ID), 어플리케이션 ID(또는 프로세스ID), 서버ID 중 어느 하나 이상을 포함하는 것을 특징으로 하는 서버의 응답시간 측정 시스템.The identification information server response time measurement system comprising any one or more of a session ID (or transaction ID), an application ID (or process ID), server ID.
  6. 사용자 단말의 웹 서비스 요청을 처리하는 트랜잭션에 대한 응용서버의 응답시간을 측정하는 시스템의 서버 응답시간 측정 방법에 있어서,In the server response time measurement method of the system for measuring the response time of the application server for the transaction processing the web service request of the user terminal,
    (a) 서비스 요청에 대한 처리결과 웹페이지를 응용서버로부터 수신하는 단계;(a) receiving a processing result web page from the application server for the service request;
    (b) 상기 응용서버에 더미 서비스를 요청하는 태그(이하 더미요청 태그)를 상기 처리결과 웹페이지에 삽입하는 단계;(b) inserting a tag (hereinafter, referred to as a dummy request tag) for requesting a dummy service in the application server into the processing result web page;
    (c) 상기 처리결과 웹페이지를 상기 사용자 단말에 전송하는 단계;(c) transmitting the processing result web page to the user terminal;
    (d) 상기 사용자 단말로부터 상기 더미요청 태그에 의한 더미 요청을 수신하는 단계; 및(d) receiving a dummy request by the dummy request tag from the user terminal; And
    (e) 상기 더미 요청의 도착시각을 이용하여 응답시간을 추정하는 단계를 포함하는 것을 특징으로 하는 서버의 응답시간 측정 방법.(e) estimating a response time using the arrival time of the dummy request.
  7. 제6항에 있어서,The method of claim 6,
    상기 (b)단계에서, 응답전송 시각을 변수로 상기 더미요청 태그에 포함시키고, 상기 (e)단계에서, 상기 더미 요청에 변수로 포함된 응답전송 시각과 상기 도착시각의 차이를 응답시간으로 추정하는 것을 특징으로 하는 서버의 응답시간 측정 방법.In step (b), the response transmission time is included in the dummy request tag as a variable, and in step (e), the difference between the response transmission time included in the dummy request and the arrival time is estimated as a response time. Response time measurement method of the server, characterized in that.
  8. 제6항에 있어서,The method of claim 6,
    상기 (b)단계에서, 상기 서비스 요청의 식별정보를 변수(이하 식별변수)로 상기 더미요청 태그에 포함시키고, 상기 (e)단계에서, 상기 더미 요청에 포함된 상기 식별변수에 의해 추정된 응답시간을 식별하는 것을 특징으로 하는 서버의 응답시간 측정 방법.In step (b), the identification information of the service request is included in the dummy request tag as a variable (hereinafter, referred to as an identification variable), and in step (e), the response estimated by the identification variable included in the dummy request Response time measurement method of the server, characterized in that identifying the time.
  9. 제 6 항 내지 제 8 항 중 어느 한 항의 서버의 응답시간 측정 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for performing a method of measuring a response time of a server according to any one of claims 6 to 8.
PCT/KR2010/007929 2009-11-24 2010-11-10 System for measuring the response time of a server using dummy request tags and method for same WO2011065692A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0113972 2009-11-24
KR1020090113972A KR20110057529A (en) 2009-11-24 2009-11-24 A system of measuring server's response time by using a dummy request tag and the method thereof

Publications (2)

Publication Number Publication Date
WO2011065692A2 true WO2011065692A2 (en) 2011-06-03
WO2011065692A3 WO2011065692A3 (en) 2011-10-20

Family

ID=44067053

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/007929 WO2011065692A2 (en) 2009-11-24 2010-11-10 System for measuring the response time of a server using dummy request tags and method for same

Country Status (2)

Country Link
KR (1) KR20110057529A (en)
WO (1) WO2011065692A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013149207A1 (en) 2012-03-30 2013-10-03 Bytemobile , Inc. Measuring web browsing quality of experience in real-time at an intermediate network node
US9167021B2 (en) 2012-03-30 2015-10-20 Citrix Systems, Inc. Measuring web browsing quality of experience in real-time at an intermediate network node
US10362081B2 (en) 2013-08-30 2019-07-23 Citrix Systems, Inc. Methods and systems for quantifying the holistic quality of experience for internet multimedia
CN112184438A (en) * 2020-09-27 2021-01-05 北京金山云网络技术有限公司 Block chain transaction monitoring method and device and block chain link points
EP3657335B1 (en) * 2017-07-21 2024-06-05 ZTE Corporation Method, device, and apparatus for tracking and monitoring software behavior

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102000342B1 (en) * 2017-08-31 2019-07-15 충남대학교산학협력단 User terminal, display monitoring method, and computer readable recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236626A (en) * 2000-12-06 2002-08-23 Site Rock Corp Method and system for monitoring site
US20050107985A1 (en) * 2003-11-14 2005-05-19 International Business Machines Corporation Method and apparatus to estimate client perceived response time
JP2006023965A (en) * 2004-07-07 2006-01-26 Toa System Kk Development support system for web application
KR20090042542A (en) * 2007-10-26 2009-04-30 경희대학교 산학협력단 Method for collecting quality data of web service using dummy message

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236626A (en) * 2000-12-06 2002-08-23 Site Rock Corp Method and system for monitoring site
US20050107985A1 (en) * 2003-11-14 2005-05-19 International Business Machines Corporation Method and apparatus to estimate client perceived response time
JP2006023965A (en) * 2004-07-07 2006-01-26 Toa System Kk Development support system for web application
KR20090042542A (en) * 2007-10-26 2009-04-30 경희대학교 산학협력단 Method for collecting quality data of web service using dummy message

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013149207A1 (en) 2012-03-30 2013-10-03 Bytemobile , Inc. Measuring web browsing quality of experience in real-time at an intermediate network node
US9167021B2 (en) 2012-03-30 2015-10-20 Citrix Systems, Inc. Measuring web browsing quality of experience in real-time at an intermediate network node
US10362081B2 (en) 2013-08-30 2019-07-23 Citrix Systems, Inc. Methods and systems for quantifying the holistic quality of experience for internet multimedia
EP3657335B1 (en) * 2017-07-21 2024-06-05 ZTE Corporation Method, device, and apparatus for tracking and monitoring software behavior
CN112184438A (en) * 2020-09-27 2021-01-05 北京金山云网络技术有限公司 Block chain transaction monitoring method and device and block chain link points

Also Published As

Publication number Publication date
WO2011065692A3 (en) 2011-10-20
KR20110057529A (en) 2011-06-01

Similar Documents

Publication Publication Date Title
US11606275B2 (en) Network quality measurement method and apparatus
WO2011065692A2 (en) System for measuring the response time of a server using dummy request tags and method for same
US5913041A (en) System for determining data transfer rates in accordance with log information relates to history of data transfer activities that independently stored in content servers
US7676570B2 (en) Determining client latencies over a network
US20050044213A1 (en) Network traffic measurement system
WO2013002538A2 (en) Method and apparatus for preventing distributed denial of service attack
WO2012077944A2 (en) Shared terminal identification system using a network packet and processing method thereof
US7010592B2 (en) Method for collecting statistical traffic data
WO2015102446A1 (en) Method for detecting bypass connection via anonymous network using changes in round trip times
KR20100013177A (en) Web based traceback system and method by using reverse caching proxy
US20100169482A1 (en) Method And An Apparatus For Monitoring Multimedia Data
WO2015194829A2 (en) Method for detecting number of selected devices among plurality of client terminals on private network using same public ip by web server provided with additional non-specified domain name from internet access request traffic of client terminal making request for internet access, and selective detection system for device in state in which public ip is shared
WO2013012278A2 (en) Method and apparatus for managing device context using an ip address in a communication system
US8593974B2 (en) Communication conditions determination method, communication conditions determination system, and determination apparatus
WO2011071265A2 (en) Method and apparatus for using service of plurality of internet service providers
JP4924057B2 (en) Router, method thereof and management server using the same
US20090055919A1 (en) Unauthorized communication detection method
WO2014115918A1 (en) System and method for providing advertisement
KR101469285B1 (en) System and method for analyzing alternative internet traffic using routing based on policy
WO2013129833A1 (en) Remote user interface providing apparatus and method
WO2016108415A1 (en) Network security equipment and method for detecting ddos attack by same
WO2015174742A1 (en) Method for detecting number of devices, which use same public ip among multiple client terminals on private network, from internet access request traffic from client terminals requesting access to internet, and system for detecting state in which public ip is shared
EP3413520A1 (en) Terminal, relay device selection device, communication method, relay device selection method, and program
WO2013022170A1 (en) Connection problem determination method and connection problem determination apparatus for image input device
WO2017010679A1 (en) Device and method for bridging cookies

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10833504

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 11205N DATED 310712)

122 Ep: pct application non-entry in european phase

Ref document number: 10833504

Country of ref document: EP

Kind code of ref document: A2