HK1170089A1 - Method, system and web server for monitoring performance of a web application program - Google Patents
Method, system and web server for monitoring performance of a web application program Download PDFInfo
- Publication number
- HK1170089A1 HK1170089A1 HK12110643.6A HK12110643A HK1170089A1 HK 1170089 A1 HK1170089 A1 HK 1170089A1 HK 12110643 A HK12110643 A HK 12110643A HK 1170089 A1 HK1170089 A1 HK 1170089A1
- Authority
- HK
- Hong Kong
- Prior art keywords
- client request
- client
- web
- server
- module
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention provides a method and system for monitoring property of a web application program and a web server, which solve the problem of difficulty in monitoring the web application program performance or poor monitoring effect in the prior art. The method comprises the steps: a web server receives a response content of an application server after transmitting a client request to an application server, and distributes a client request identification for the client request, then stores a network address of the application server, the response time of the application server to the client request and the client request identification into logs correspondingly, correspondingly sends the response content, the identification and a code for presenting a web application program performance feedback page to a client, receives the identification submitted by the client and web application program performance feedback information obtained through the page, and then correspondingly stores the identification and the web application program performance feedback information into the database; and an analyzing apparatus is used for analyzing the stored data and the logs to ensure the performance of the application program.
Description
Technical Field
The present application relates to a monitoring technology, and in particular, to a method, a system, and a web server for monitoring performance of a web application.
Background
The time consumption of general HTTP (HyperText Markup Language) request response includes three parts: 1. time spent on the network when sending the request; 2. the time consumed by the web program to process the http request; 3. the time when the network transmits the response content. When the response speed of the user feedback system is slow, general maintenance personnel firstly check various indexes of the system and application logs. However, in an environment deployed in a cluster manner, it is difficult for a maintainer to locate which server the request with the performance problem reflected by the user is processed by, so that various monitoring indexes of the server cannot be checked. Even if the maintenance personnel locates the server which processes the request, the system can generate a large amount of request logs of the same URL in a high concurrency environment for a period of time, and therefore the maintenance personnel can not be accurately located to the request logs with performance problems.
Currently, a common means for locating and analyzing the performance of a web application in the industry is to add various kinds of monitoring to a system, and there are two main monitoring schemes:
the first scheme is as follows: server-side performance logs: the main way of this solution is to record the time spent processing each request in the server-side log in order to analyze the problem from the log at a later date. One way of implementation is as follows:
the following log format is configured in Apache:
LogFormat″%h %u %t\″%r\″%>s%b\″%{User-Agent}i\″%D″combined
the meaning of the above log format is referred to:
http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#customlog
most importantly, "% D" means the time taken to process the request, in units: in microseconds.
And collecting access logs on each server, and searching URLs which consume much time to provide a basis for subsequent performance optimization.
Scheme II: simulating client request monitoring: the solution is to use a program-simulated browser to send requests to the system and record response times in order to track and analyze problems. The implementation mode is as follows:
some URLs are accessed using tools such as wget or httpclient, and the response time of the server is recorded.
And analyzing the recorded log, and searching the URL which consumes more time to provide a basis for subsequent performance optimization.
Because the solution is to record the response time of the request at the server side, the request of the user is randomly sent to a certain server in the cluster to be processed in the case of cluster deployment. This has a drawback that it is impossible to locate to which server the user request is sent, in which case the system maintenance personnel cannot locate to a specific server when the user responds that the system response is slow, and besides the difficulty in locating a specific machine, it is difficult to locate which log is also difficult to locate in a machine for a short time of similar operation by the user, and therefore it is difficult to effectively monitor the performance of the web application.
Because the second scheme is to monitor the performance of the web application program in a manner of simulating a user request at the client, the monitoring effect is not good, and the specific expression is as follows:
1. where is this monitored client deployed? If the users are distributed all over the country, the network conditions are different all over the country. Such monitoring does not completely reflect network conditions across locations, even if multiple sites are deployed.
2. Such monitoring programs often do not fully simulate the operation of the system by the user. First, a system may open several to tens and hundreds of functions to a user, and it is difficult for a monitor to simulate each function once. Second, many functions such as online ordering, online payment, etc. in electronic commerce cannot be emulated by such monitoring programs.
In the prior art, it is difficult to effectively monitor the performance of the web application program or the monitoring effect is poor, and for the problem, an effective solution is not proposed at present.
Disclosure of Invention
The application mainly aims to provide a method, a system and a web server for monitoring the performance of a web application program, so as to solve the problem that the performance of the web application program is difficult to effectively monitor or the monitoring effect is poor in the prior art.
To achieve the above object, according to one aspect of the present application, there is provided a method of monitoring web application performance.
The method for monitoring the performance of the web application program comprises the following steps: after forwarding a client request to an application server, a web server receives response content returned to the client after the application server executes application program logic, distributes a client request identifier to the client request, correspondingly stores a network address of the application server, response time of the application server to the client request and the client request identifier in a log, correspondingly sends the response content, the identifier and a code for presenting a web application performance feedback page to the client, receives the identifier correspondingly submitted by the client and web application performance feedback information acquired through the page, and correspondingly stores the identifier and the web application performance feedback information in a database; the analysis device receives feedback information acquired by the web application performance feedback page, searches the database for a client request identifier corresponding to the feedback information, inquires response time corresponding to the client request identifier in the log, and outputs a network address of an application server corresponding to the response time or outputs alarm information under the condition that the response time is greater than a preset value.
Further, correspondingly sending the response content, the identification, and code for presenting a web application performance feedback page to the client comprises: and recording the identification and the code in an HTML code as the response content, and then sending the HTML code to the client.
Further, the web application performance feedback page includes a form for receiving web application performance feedback information.
Further, after the network address of the application server, the response time of the application server to the client request, and the client request identifier are correspondingly saved in a log, the method further includes: and searching the response time which is greater than a preset time value from the log, determining the network address of the application server corresponding to the searched response time, and then outputting the network address.
To achieve the above object, according to another aspect of the present application, there is provided a web server.
The web server of the present application includes: the first receiving module is used for receiving the response of the application server to the client request; the distribution module is used for distributing client request identification to the client request; the storage module is used for correspondingly storing the network address of the application server, the response time of the application server to the client request and the client request identifier in a log; a first sending module, configured to correspondingly send the response content, the identifier, and a code for presenting a web application performance feedback page to the client; the second receiving module is used for receiving the web application performance feedback information acquired and sent by the client through the page and a client request identifier sent by the feedback information; and the second sending module is used for correspondingly sending the feedback information and the identifier to a database.
To achieve the above object, according to still another aspect of the present application, there is provided a system for monitoring performance of a web application.
The system for monitoring the performance of the web application program comprises a web server and an analysis device, wherein: a web server to: after a client request is forwarded to an application server, response content returned to the client after the application server executes application program logic is received, a client request identifier is distributed to the client request, then, the network address of the application server, the response time of the application server to the client request and the client request identifier are correspondingly stored in a log, the response content, the identifier and a code for presenting a web application performance feedback page are correspondingly sent to the client, web application performance feedback information acquired by the client through the page is received, and then the identifier and the web application performance feedback information are correspondingly stored in a database; an analysis device for: receiving feedback information obtained by the web application performance feedback page, searching a client request identifier corresponding to the feedback information in the database, inquiring response time corresponding to the client request identifier in the log, and outputting a network address of an application server corresponding to the response time or outputting alarm information under the condition that the response time is greater than a preset value.
Further, the web server includes: the first receiving module is used for receiving the response of the application server to the client request; the distribution module is used for distributing client request identification to the client request; the storage module is used for correspondingly storing the network address of the application server, the response time of the application server to the client request and the client request identifier in a log; a first sending module, configured to correspondingly send the response content, the identifier, and a code for presenting a web application performance feedback page to the client; the second receiving module is used for receiving the web application performance feedback information acquired by the client through the page and a client request identifier sent by the feedback information; and the second sending module is used for correspondingly sending the feedback information and the identifier to a database.
Further, the first sending module is further configured to: and recording the identification and the code in an HTML code as the response content, and then sending the HTML code to the client.
Further, the analysis device includes: the receiving module is used for receiving feedback information acquired by the web application performance feedback page; the searching module is used for searching the client request identifier corresponding to the feedback information in the database; the query module is used for querying the log for the response time corresponding to the client request identifier searched by the search module; and the analysis output module is used for outputting the network address of the application server corresponding to the response time when the response time inquired by the inquiry module is greater than a preset value.
Further, the analysis device includes: the searching module is used for searching the response time which is greater than a preset time value from the log and determining the network address of the application server corresponding to the response time; and the prompt module is used for outputting the network address determined by the search module.
According to the technical scheme of the application, a unique identifier is set for each request sent to the server, and the identifier can be recorded in media such as logs, databases and the like at the server side. The unique identifier is added to HTML content or HTTP Headers in the response sent to the client, so that the request of the user and the log record of the server are in one-to-one correspondence. When the user needs to feed back the performance problem of the system, the feedback form submitted by the user sends the unique identifier of the corresponding operation sent by the user to the server and records the unique identifier in the database. Maintenance personnel of the system can search the logs on the server according to the unique identification fed back by the user so as to locate the server with the problem. After the technical scheme of the embodiment of the application is adopted, each request of a user is set with a unique identifier. The response time of all the operations of the user is recorded in the log. Thus, the problem of how to comprehensively monitor the user request is solved. In addition, the technical scheme of the embodiment of the application is completely used for monitoring when the user carries out the real operation of the system. Therefore, the response time of the system can be really recorded, so that whether the performance problem of the system is caused by the local network problem of the user or not can be analyzed, and the problem of really reflecting the network environment of the user is solved. Therefore, by adopting the technical scheme of the embodiment of the application, the performance of the web application program can be effectively monitored, and a better monitoring effect is obtained.
Drawings
The accompanying drawings are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is a schematic diagram of a network architecture associated with an embodiment of the present application;
FIG. 2 is a flow diagram illustrating a method for monitoring the performance of a web application executed on a web server according to an embodiment of the present application;
FIG. 3 is a flow diagram illustrating a method for monitoring the performance of a web application executed at a client according to an embodiment of the present application;
FIG. 4 is a schematic diagram of an overall flow of a method of monitoring web application performance according to an embodiment of the application;
FIG. 5 is a schematic diagram of a main flow of system analysis performed by a network maintainer according to an embodiment of the present application;
FIG. 6 is a schematic diagram of an apparatus for monitoring web application performance according to an embodiment of the present application;
FIG. 7 is a schematic diagram of another apparatus for monitoring web application performance according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a system for monitoring web application performance according to an embodiment of the present application.
Detailed Description
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 is a schematic diagram of a network architecture related to an embodiment of the present application. As shown in fig. 1, a plurality of clients 11 are connected to a load balancing device 14 through an Internet network 12 and a firewall 13, and a plurality of application servers 15 are also connected to the load balancing device 14 through a web server 16. The application server 15 and the web server 16 may be deployed in the same computer. Based on a network similar to that shown in fig. 1, a user accesses a web service deployed in a certain IDC (internet data center) room through the internet. Due to the wide variety of network environments around the country, even around the world, the network itself can seriously affect the user experience when using the web application. The main factor applying the user experience at the network level is the wire speed. It can also be seen from fig. 1 that in addition to the very complex structure of the internet itself, there is also some complexity in the deployment of applications. Generally, large-scale enterprise applications are deployed in a cluster mode. Regarding "clustering" herein, the simple explanation is as follows: referring to fig. 1, a user's request is first sent to a load balancing device 14 by a client 11 through an Internet network 12 and a firewall 13, the load balancing device 14 forwards the request to a certain application server 15 in an application server cluster through a certain algorithm, the application server 15 responds to the user's request, and a processing result is returned to the client 11; each application server 15 in the cluster is in a peer-to-peer relationship, each application server 15 is a backup for each other, and any one or more servers fail without affecting the normal service provided by the whole cluster for the user.
The most direct performance when a web application has a performance problem is that the speed of opening a web page is slow, and when such a problem occurs, it is first necessary for a system maintenance or developer to locate whether the problem occurs due to the performance problem of the application program. "the speed of opening a web page is slow" means that the system responds slowly. The time of a general HTTP request response includes two parts:
1. the time consumed by the web program to process the http request. When a program is defective or the design is not reasonable, the program may consume a large amount of time in processing a user request. It is also possible that some servers in the cluster may also cause the user request processing to be time consuming due to hardware failures or increased access pressure.
2. The time consumed by the network in transmitting requests and responses to content. Due to the influence of factors such as the bandwidth of the network used by the user, the user experience of the same function of the same program under different network conditions can be greatly different. The problem of slow system response due to this cause can be generally solved by improving the network condition.
From the above analysis, when the system maintenance personnel receive the feedback of the user about the performance problem, firstly, the problem needs to be located where the problem appears, and two problems need to be considered, and firstly, the problem that the slow response is caused by the location is due to the network environment problem of the user or the performance problem of the program; secondly, if the program problem needs to locate the server which processes the user request at the time, then the performance problem of the program is analyzed and solved by combining some hardware monitoring and program log.
Fig. 2 is a flowchart illustrating a method for monitoring the performance of a web application executed on a web server according to an embodiment of the present application. As shown in fig. 2, after the web server forwards the client request of the client to the application server, and the latter processes the request, the web server mainly performs the following steps:
step S21: a response of the application server to the client request is received.
Step S22: and allocating a client request identification for the client request.
Step S221: and correspondingly storing the network address of the application server, the response time of the application server to the client request and the client request identifier in a log.
Step S222: and correspondingly sending the response, the identification and the code for presenting the web application performance feedback page to the client equipment making the client request.
Step S221 and step S222 may be performed synchronously, or step S222 may be performed first and then step S221 is performed. After receiving the code for presenting the web application performance feedback page, the client executes the code to present the page on an output device, such as a display, which includes a performance feedback form that prompts the user to fill in evaluations of the page performance feedback, including the speed at which the page was opened, and other representations of the page.
Step S23: and receiving the information submitted by the client. The information here includes the client request identifier in step S22 and the feedback information obtained by the web application performance feedback page, and is correspondingly stored in the database together with the client.
After step S23, the following steps are executed by the analysis device (the analysis device may be a function module built in the web server, or may be a separate server or other computing device with analysis function independent of the web server):
step S24: and searching a client request identifier corresponding to the feedback information in a database, and inquiring response time corresponding to the client request identifier in a log.
Step S25: and (5) judging whether the response time obtained by the query in the step (S24) is larger than a preset value, if so, entering the step (S26), and if not, returning to the step (S24).
Step S26: and outputting the network address of the application server corresponding to the response time obtained by inquiring in the step S24 or outputting alarm information.
After step S26, the network manager can obtain the network address of the application server with slower response (greater than the preset value), and the network manager can call up all the response time of the application server for analysis; in addition, in step S26, the response time queried in step S24 may also be output for the network administrator to refer to. On the other hand, according to the information submitted by the client received in step S23, it can be known which services the user thinks are slow to respond to. By comparing the response speed of the service indicated by the user with the actual response time of the application server, it is possible to determine whether the application server itself responds slowly or whether the performance of the network used by the user is poor.
Fig. 3 is a flowchart illustrating a method for monitoring the performance of a web application executed on a client according to an embodiment of the present application, and mainly includes the following steps:
step S31: a client request is sent to a web server.
Step S33: receiving a response of the web server to the client request. The response of this step contains an identification of the client request and code for presenting a web application performance feedback page.
Step S35: and presenting the feedback page according to the response. In this step, whether the feedback page is presented or not may also be determined by the user, and the feedback page may be opened by triggering through a button or a shortcut key of the page when the user needs to submit the performance feedback.
Step S37: and acquiring the web application performance feedback information through the presented feedback page.
Step S39: and correspondingly sending the request identification and the obtained feedback information to an application server providing the web application.
The flow shown in fig. 4 can be obtained by combining the flows shown in fig. 2 and fig. 3, and fig. 4 is a schematic diagram of an overall flow of a method for monitoring the performance of a web application according to an embodiment of the present application. The database in step S23 may be provided in the same computer as the analysis means, which is shown in fig. 4. In an actual network system, the web server and the application server may be deployed in the same computer, or may be deployed in different computers respectively, and these computers may share the same database, and the database is mainly used for storing data related in fig. 2 and fig. 3, such as a network address of the application server, a response time of the application server to a client request, and a client request identifier.
According to the flow shown in fig. 4, the HTTP request sent by the user from the client arrives at the application server after being forwarded by the web server. The application server processes the completed HTTP request and sends the response content back to the client. The returned response content is filtered by the web server. A < meta/> tag may be added to the returned HTML code during the filtering process, where a value for the REQUEST UNIQUE identification (hereinafter referred to as UNIQUE _ REQUEST _ ID) is added. For AJAX calls where the returned content is not HTML code, UNIQUE _ REQUEST _ ID may be added to the new response Header in HTTP Header. The web server records a log after the processing of the response content is completed. Each log includes at least: the network address of the application server, e.g. the content of the URL; UNIQUE _ REQUEST _ ID; the server that processes the request is time consuming. The web server may also add additional js scripts while adding the UNIQUE _ REQUEST _ ID to the response content. When the feedback is submitted, the function in the js script can be triggered to open a feedback page, whether the response speed of the user to the network is satisfied is inquired in the feedback page, the user judges according to the use experience of the user on the network service function, the flow is ended when the judgment result is yes, namely the user is satisfied with the network service, and otherwise, the user fills a feedback form. After the user submits the form, the web server stores the UNIQUE _ REQUEST _ ID and the feedback information together in the database.
With the above database, the system analysis may be performed by a network maintenance person according to the flow shown in fig. 5. Fig. 5 is a schematic diagram of a main flow of system analysis performed by a network maintainer according to an embodiment of the present application. In the process shown in fig. 5, the time-consuming log of REQUEST response recorded on the server is searched according to the UNIQUE _ REQUEST _ ID submitted together with the user feedback information; the specific server for processing the user request at that time can be determined according to the server where the log is or the information recorded in the log; from the time consuming processing of requests recorded in the log it can be located whether the cause of the performance problem is due to a network cause or a problem with the program itself. Here, the performance of the program itself reflects the performance of the application server.
FIG. 6 is a schematic diagram of an apparatus for monitoring web application performance according to an embodiment of the application. The apparatus may be installed in a computer that is a web server and an application server. As shown in fig. 6, the apparatus 60 for monitoring the performance of the web application mainly comprises the following modules:
a first receiving module 61, configured to receive a response from the application server to the client request;
an allocation module 62, configured to allocate a client request identifier to the client request;
a saving module 63, configured to correspondingly save the network address of the application server, the response time of the application server to the client request, and the client request identifier;
a sending module 64, configured to correspondingly send the response and the identifier to the client;
a second receiving module 65, configured to receive a query instruction including a client request identifier;
the client feedback receiving module 66 is used for receiving and storing the performance feedback information with the request identifier submitted by the client;
and the output module 67 is configured to determine and output the network address of the application server corresponding to the identifier and the response time of the application server to the client request according to the identifier in the query instruction.
The sending module may be further configured to add the identifier to an HTTP message header of the response and then send the response to the client, and may be further configured to record the identifier and the code for presenting the web application performance feedback page in an HTML code of the response and then send the HTML code to the client.
FIG. 7 is a schematic diagram of another apparatus for monitoring web application performance according to an embodiment of the application. The apparatus may be installed in a client computer. As shown in fig. 7, the apparatus 70 for monitoring the performance of the web application mainly comprises the following modules:
a request module 71, configured to send a client request to a web server;
a receiving module 72, configured to receive a response from the web server to the client request, where the response includes an identifier of the client request and code for presenting a web application performance feedback page;
a presentation module 73, configured to present the feedback page according to the response;
an obtaining module 74, configured to obtain web application performance feedback information through the presented feedback page;
a submitting module 75, configured to correspondingly send the request identifier and the feedback information to an application server providing the web application.
FIG. 8 is a schematic diagram of a system for monitoring web application performance according to an embodiment of the present application. As shown in fig. 8, the system 80 for monitoring the performance of web applications mainly comprises a web server 81 and an analyzing means 82.
Wherein web server 81 is configured to: after a client request is forwarded to an application server, response content returned to the client after the application server executes application program logic is received, a client request identifier is distributed to the client request, then, the network address of the application server, the response time of the application server to the client request and the client request identifier are correspondingly stored in a log, the response content, the identifier and a code for presenting a web application performance feedback page are correspondingly sent to the client, web application performance feedback information acquired by the client through the page is received, and then the identifier and the web application performance feedback information are correspondingly stored in a database;
the analysis device 82 is used for: receiving feedback information obtained by the web application performance feedback page, searching a client request identifier corresponding to the feedback information in the database, inquiring response time corresponding to the client request identifier in the log, and outputting a network address of an application server corresponding to the response time or outputting alarm information under the condition that the response time is greater than a preset value.
An alternative configuration of the analysis device 82 is one that includes: the receiving module is used for receiving feedback information acquired by the web application performance feedback page; the searching module is used for searching the client request identifier corresponding to the feedback information in the database; the query module is used for querying the log for the response time corresponding to the client request identifier searched by the search module; and the analysis output module is used for outputting the network address of the application server corresponding to the response time when the response time inquired by the inquiry module is greater than a preset value.
Another optional structure of the analysis device 82 is to include a search module and a prompt module, where the search module is configured to search the log for the response time that is greater than the preset time value, and determine the network address of the application server corresponding to the response time; and the prompting module is used for outputting the network address determined by the searching module. The prompt module can also output the response time searched by the search module and the network address of the application server together.
The technical solution of the embodiment of the present application can be implemented by using Apache as a web server (certainly, the present application is not limited to Apache, and other web servers such as Nginx and the like can also be implemented). Mod _ unique _ idso may be installed on Apache to produce a unique identification for each web request and record into the Apache access log. Then, a module is developed to serve as a Filter of the Apache, and the function of modifying HTML codes is realized. a. Adding a unique identifier of a < meta/> tag record request in the head part; b. and adding an additional js file in the head part, wherein the main function of the added js file is that a user can display a user question feedback page through a preset shortcut key and provide a feedback function for system questions. And then triggering a shortcut key to fill in a feedback form when the user needs to feed back the performance problem. After submission, the system collects feedback information from the user, including the user REQUEST ID. Therefore, the system maintenance personnel can analyze the Apache access log recorded in advance through the unique identifier so as to locate the performance problem in the program or the network transmission problem. The specific scheme can achieve the function without intruding the code of the application program on the premise of solving the problem of the performance of the positioning system, and the function can be realized without modifying or adding any service code.
According to the technical scheme of the embodiment of the application, a unique identifier is set for each request sent to the server, and the identifier is recorded in media such as logs, databases and the like at the server side. The unique identifier is added to HTML content or HTTP Headers in the response sent to the client side at the same time, so that the request of the user and the log record of the server side are in one-to-one correspondence. When the user needs to feed back the performance problem of the system, the feedback form submitted by the user sends the unique identifier of the corresponding operation sent by the user to the server and records the unique identifier in the database. Maintenance personnel of the system may search the logs on the servers to locate the server in question based on the unique identification fed back by the user. After the technical scheme of the embodiment of the application is adopted, each request of a user is set with a unique identifier. The response time of all the operations of the user is recorded in the log. This solves the problem of how to fully monitor user requests. In addition, the technical scheme of the embodiment of the application is completely used for monitoring when the user carries out the real operation of the system. Therefore, the response time of the system can be really recorded, so that whether the performance problem of the system is caused by the local network problem of the user or not can be analyzed, and the problem of really reflecting the network environment of the user is solved. Therefore, by adopting the technical scheme of the embodiment of the application, the performance of the web application program can be effectively monitored, and a better monitoring effect is obtained.
It will be apparent to those skilled in the art that the modules or steps of the present application described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and alternatively, they may be implemented by program code executable by a computing device, such that they may be stored in a storage device and executed by a computing device, or integrated circuit modules may be fabricated from them, or as a single integrated circuit module from multiple modules or steps. Thus, the present application is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims (10)
1. A method of monitoring web application performance, comprising:
after the web server forwards the client request to the application server, the web server receives the response content returned to the client after the application server executes the application program logic, distributes the client request identification to the client request, and then,
correspondingly storing the network address of the application server, the response time of the application server to the client request and the client request identification in a log,
correspondingly transmitting the response content, the identification and code for presenting a web application performance feedback page to the client,
receiving the identification correspondingly submitted by the client and the web application performance feedback information acquired through the page, and then correspondingly storing the identification and the web application performance feedback information in a database;
the analysis device receives feedback information acquired by the web application performance feedback page, searches the database for a client request identifier corresponding to the feedback information, inquires response time corresponding to the client request identifier in the log, and outputs a network address of an application server corresponding to the response time or outputs alarm information under the condition that the response time is greater than a preset value.
2. The method of claim 1, wherein sending the response content, the identification, and code for presenting a web application performance feedback page to the client correspondingly comprises: and recording the identification and the code for presenting the web application performance feedback page in an HTML code serving as the response content, and then sending the HTML code to the client.
3. The method of claim 1, wherein the web application performance feedback page includes a form for receiving web application performance feedback information.
4. The method of claim 1, wherein after storing the network address of the application server, the response time of the application server to the client request, and the client request identifier in a log, the method further comprises:
and searching the response time which is greater than a preset time value from the log, determining the network address of the application server corresponding to the searched response time, and then outputting the network address.
5. A web server, comprising:
the first receiving module is used for receiving the response of the application server to the client request;
the distribution module is used for distributing client request identification to the client request;
the storage module is used for correspondingly storing the network address of the application server, the response time of the application server to the client request and the client request identifier in a log;
a first sending module, configured to correspondingly send the response content, the identifier, and a code for presenting a web application performance feedback page to the client;
the second receiving module is used for receiving the web application performance feedback information acquired and sent by the client through the page and a client request identifier sent by the feedback information;
and the second sending module is used for correspondingly sending the feedback information and the identifier to a database.
6. A system for monitoring the performance of a web application, comprising a web server and an analysis device, wherein: a web server to:
after a client request is forwarded to an application server, response content returned to the client after the application server executes application program logic is received, a client request identifier is distributed to the client request, then, the network address of the application server, the response time of the application server to the client request and the client request identifier are correspondingly stored in a log,
correspondingly transmitting the response content, the identification and code for presenting a web application performance feedback page to the client,
receiving web application program performance feedback information acquired by the client through the page, and correspondingly storing the identifier and the web application program performance feedback information in a database;
an analysis device for:
receiving feedback information obtained by the web application performance feedback page, searching a client request identifier corresponding to the feedback information in the database, inquiring response time corresponding to the client request identifier in the log, and outputting a network address of an application server corresponding to the response time or outputting alarm information under the condition that the response time is greater than a preset value.
7. The system of claim 6, wherein the web server comprises:
the first receiving module is used for receiving the response of the application server to the client request;
the distribution module is used for distributing client request identification to the client request;
the storage module is used for correspondingly storing the network address of the application server, the response time of the application server to the client request and the client request identifier in a log;
a first sending module, configured to correspondingly send the response content, the identifier, and a code for presenting a web application performance feedback page to the client;
the second receiving module is used for receiving the web application performance feedback information acquired by the client through the page and a client request identifier sent by the feedback information;
and the second sending module is used for correspondingly sending the feedback information and the identifier to a database.
8. The system of claim 7, wherein the first sending module is further configured to: and recording the identification and the code for presenting the web application performance feedback page in an HTML code serving as the response content, and then sending the HTML code to the client.
9. The system of claim 6, wherein the analysis device comprises:
the receiving module is used for receiving feedback information acquired by the web application performance feedback page;
the searching module is used for searching the client request identifier corresponding to the feedback information in the database;
the query module is used for querying the log for the response time corresponding to the client request identifier searched by the search module;
and the analysis output module is used for outputting the network address of the application server corresponding to the response time when the response time inquired by the inquiry module is greater than a preset value.
10. The system of claim 6, wherein the analysis device comprises:
the searching module is used for searching the response time which is greater than a preset time value from the log and determining the network address of the application server corresponding to the response time;
and the prompt module is used for outputting the network address determined by the search module.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201110064820.3A CN102684934B (en) | 2011-03-17 | 2011-03-17 | Method and system for monitoring property of web application program and web server |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1170089A1 true HK1170089A1 (en) | 2013-02-15 |
| HK1170089B HK1170089B (en) | 2015-10-09 |
Family
ID=
Also Published As
| Publication number | Publication date |
|---|---|
| CN102684934A (en) | 2012-09-19 |
| CN102684934B (en) | 2015-02-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102684934B (en) | Method and system for monitoring property of web application program and web server | |
| US9727405B2 (en) | Problem determination in distributed enterprise applications | |
| CA2620428C (en) | Performance evaluation of a network-based application | |
| US9965758B2 (en) | Troubleshooting transactions in a network environment | |
| US8775603B2 (en) | Method and system for testing variations of website content | |
| US7934003B2 (en) | Method and system for monitoring performance of distributed applications | |
| KR100763318B1 (en) | Commerce pipeline decomposition method and system | |
| EP1997041A1 (en) | Content management | |
| US9760874B2 (en) | Transaction tracing in a network environment | |
| CN109039787A (en) | log processing method, device and big data cluster | |
| US10049403B2 (en) | Transaction identification in a network environment | |
| US20170012814A1 (en) | System Resiliency Tracing | |
| CN103139004A (en) | Method and system for simulating network bandwidth by using network rate-limiting tool | |
| JP2008203939A (en) | Log management apparatus, log management method, program, and recording medium | |
| CN112187509A (en) | Multi-architecture cloud platform execution log management method, system, terminal and storage medium | |
| CN114371969A (en) | Page performance testing method and device, electronic equipment and storage medium | |
| CN113067878A (en) | Information acquisition method, information acquisition device, information acquisition apparatus, information acquisition medium, and program product | |
| CN117395236A (en) | HTTP proxy service method and system | |
| HK1170089B (en) | Method, system and web server for monitoring performance of a web application program | |
| CN113778709A (en) | Interface calling method, device, server and storage medium | |
| US20080162687A1 (en) | Data acquisition system and method | |
| CN114238152B (en) | Testing method and device for service platform | |
| US20170012839A1 (en) | System Architecture Mapping | |
| JP2008203942A (en) | Log management apparatus, log management method, program, and recording medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PC | Patent ceased (i.e. patent has lapsed due to the failure to pay the renewal fee) |
Effective date: 20250317 |