CN112015637A - Application performance management system and method - Google Patents
Application performance management system and method Download PDFInfo
- Publication number
- CN112015637A CN112015637A CN202010743761.1A CN202010743761A CN112015637A CN 112015637 A CN112015637 A CN 112015637A CN 202010743761 A CN202010743761 A CN 202010743761A CN 112015637 A CN112015637 A CN 112015637A
- Authority
- CN
- China
- Prior art keywords
- management
- performance
- application
- probe
- performance data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 239000000523 sample Substances 0.000 claims abstract description 41
- 238000012544 monitoring process Methods 0.000 claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims abstract description 17
- 238000003745 diagnosis Methods 0.000 claims abstract description 12
- 238000007405 data analysis Methods 0.000 claims abstract description 8
- 230000000007 visual effect Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims abstract description 5
- 238000007726 management method Methods 0.000 claims description 104
- 238000004891 communication Methods 0.000 claims description 8
- 238000010835 comparative analysis Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007634 remodeling Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention provides an application performance management system and a method, wherein the system comprises an AI probe, an AI management server and an AI management console; the AI probe is installed on a Java virtual machine of a monitored application server and is used for collecting performance data of a service system; the AI management server is used for receiving various performance data sent by the AI probe, processing the various performance data, storing the processed data in a file and a database, and providing visual graphic display information; the AI management console is used for monitoring performance data collected by the AI probe in real time through an AI management interface based on a browser, and realizing performance management of the J2EE application program through application of performance data analysis, fault diagnosis, code level problem positioning, alarm prompting and historical performance comparison analysis tasks. The invention can realize the performance management from the front-end user browser to the back-end application server and the database server.
Description
Technical Field
The invention relates to the technical field of enterprise IT management and operation and maintenance, in particular to an application performance management system and method.
Background
Nowadays, the operation environment of enterprises is more and more complex, and business innovation and IT remodeling become important power sources for the enterprises to keep increasing. The innovation requires that enterprises change the business through a new operation mode, combine the new operation mode with a new technology and realize more agile business through a technical means. Meanwhile, IT systems of enterprises also need to adapt to the needs of business innovation through continuous remodeling.
With the development of business, the IT system of the enterprise is increasingly complex. The complicated association relationship among the network, the server and the software application system leads IT management and operation and maintenance personnel to be incapable of quickly and accurately positioning the root cause of problems when facing the problems of slow application, system interruption and the like reflected by the end user, and leads the management and maintenance of the enterprise data center to face unprecedented challenges.
In a traditional IT operation and maintenance mode, components are taken as management objects, and IT assets such as networks, servers, storage, middleware, databases and the like are monitored from bottom to top. Due to the lack of uniform business and IT views, the block monitoring mode cannot measure the IT service quality from the business perspective and cannot realize end-to-end user experience and application management. The Application Performance Management (APM) concept is proposed to solve these problems and meet the requirements of business development.
From the appearance of the APM concept at the end of the 90 s to today, the development of application performance management software can be roughly divided into three stages: the first stage is network centric, with the network speed equal to the application speed. Support for monitoring, fault discovery, bandwidth management, data analysis, and Service Level Agreement (SLA) is provided. The second stage is centered on the IT component, and realizes the health monitoring of the IT component and the availability monitoring of the infrastructure. IT components include networks, hosts, storage, operating systems, middleware, databases, etc. The third stage is to use the application system as the center and highly complex transactions as the core to realize the end-to-end life cycle management facing to the user and the application.
The globally known consulting company Gartner defines five functional dimensions for the APM technology market: (1) monitoring the end user experience; (2) discovery and visualization of runtime application topology; (3) user-defined service analysis; (4) monitoring the depth of the application component; (5) and (6) analyzing the IT operation.
However, at present, there is no APM product that can completely implement the above five functional dimensions, and IT is impossible to implement a new top-down IT management mode with application management and user experience as the core.
Disclosure of Invention
Aiming at the defects in the prior art, the invention provides an application performance management system and method, which can really realize the application performance management of the above five functional dimensions, realize a new top-down IT management mode, perform automatic correlation analysis on a front-end browser, network transmission, application processing, middleware performance and database performance, and help a user to identify, distinguish and solve the problems of influencing the performance and usability of business application.
An application performance management system and method, including AI probe, AI management server and AI management console;
the AI probe is arranged on a Java virtual machine of a monitored application server and is in communication connection with the AI management server, and the AI probe is used for collecting performance data of a service system;
the AI management server is used for receiving various performance data sent by the AI probe, processing the various performance data, storing the processed data in a file and a database, and providing visual graphic display information;
the AI management console is in communication connection with the AI management server and is used for monitoring the performance data collected by the AI probe in real time through an AI management interface based on a browser and realizing the performance management of the J2EE application program through applying performance data analysis, fault diagnosis, code level problem positioning, alarm prompting and historical performance comparison and analysis tasks.
Further, the performance data of the business system comprises related performance information of the Java virtual machine, state information of a J2EE application server running on the Java virtual machine, JSP/Servlet, EJB, performance information of objects and methods in the Java Bean, and SQL statement performance information on JDBC.
Further, the AI probe transmits the collected various performance data to the AI management server through an HTTP protocol.
Further, the AI management server provides user authority management, and when a user performs application system performance monitoring and fault diagnosis through the AI management console, request data meeting the authority requirement is sent to the AI management console according to the authority of the user.
An application performance management method is carried out by adopting the system, and the method comprises the following steps:
step one, an AI probe collects performance data of a service system and transmits the collected various performance data to an AI management server;
secondly, the AI management server receives various performance data sent by the AI probe, processes the various performance data, stores the processed data in a file and a database, and provides visual graph display information;
and thirdly, the AI management console monitors the performance data collected by the AI probe 1 in real time based on an AI management interface of the browser, and the performance management of the J2EE application program is realized by applying tasks such as performance data analysis, fault diagnosis, code level problem positioning, alarm prompt, historical performance comparative analysis and the like.
Further, the performance data of the business system in the first step includes related performance information of the Java virtual machine, state information of a J2EE application server running on the Java virtual machine, performance information of objects and methods in the JSP/Servlet, EJB, Java Bean, and SQL statement performance information on JDBC.
Further, in the first step, the AI probe transmits the collected various performance data to the AI management server through the HTTP protocol.
Further, the AI management server in step two provides user authority management, and when the user performs application system performance monitoring and fault diagnosis through the AI management console, the request data meeting the authority requirement is sent to the AI management console according to the authority of the user.
The invention can realize the performance management from the front-end user browser to the back-end application server and the database server, and the platform can effectively monitor and analyze the performance information of each transaction link in the distributed IT environment; the end-to-end performance analysis of the platform can monitor and record threads executed in specific time under the condition of not influencing user experience; the method can help the client to discover the performance bottleneck of the code level, uncover the defects of the application program stack (virtual machine, application server, integrated middleware and the like), reduce the CPU utilization rate and improve the response time of the service.
Drawings
FIG. 1 is a schematic diagram of an embodiment of an application performance management system according to the present invention;
FIG. 2 is a schematic diagram of an application management overview interface of the present invention.
Detailed Description
The technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings.
Fig. 1 is a schematic structural diagram of an application performance management system according to an embodiment of the present invention, which includes an Application Instrumentation (AI) probe 1, an AI management server 2, and an AI management console 3.
The AI probe 1 is installed on a Java virtual machine of a monitored application server and is in communication connection with the AI management server 2, the AI probe 1 is used for collecting performance data of a service system, the performance data of the service system comprises relevant performance information of the Java virtual machine, state information of a J2EE application server running on the Java virtual machine, performance information of objects and methods in JSP/Servlet, EJB, Java Bean and SQL statement performance information on JDBC, and the collected various performance data is transmitted to the AI management server 2 through an HTTP protocol.
For an enterprise application system, in most cases, it must be an integration of various systems developed by multiple programming languages. IT operation and maintenance personnel are very concerned about the availability, the timely response and the resource consumption of the system, such as the consumption of CPU, memory, various I/O, network bandwidth, etc. The performance bottleneck points of these problems can be generally summarized as external services (such as third party API), resource reading and writing, and code exception. If a complete snapshot record can be kept in time when these problems occur, then sufficient evidence will be provided for solving the problems, and the problems will become very easy to solve.
For a Java application system, a Java virtual machine itself provides a corresponding performance monitoring means and tool, and often after a problem occurs, such as memory leak or overflow, a dump snapshot of a heap is derived through a jmap command, and the occupation situation of an object is analyzed by using a corresponding command jhat or other corresponding third-party memory analysis tools.
For example, when the response is slow, jstat monitor command or jconsole, visualvm, visualization tools of jdk, may be used to analyze the garbage collection type and the garbage collection frequency of the Java virtual machine to determine whether the garbage collection is caused. And possibly analyzing the thread dump snapshot, and taking the stack snapshot of the thread through jstack to analyze whether true deadlock, slow response caused by dead loop, high resource load and the like exist. When problems occur, many developers may blindly use these tools to heuristically locate the problem, and in most cases, the heuristics go back and forth. Because these analysis tools are primarily focused on Java unilateral analysis, such as the system calling a third party API, if the third party API has a problem, it cannot be monitored. Also access to resources like files, DB is not monitorable. Moreover, only advanced developers who are familiar with the mechanism of the Java virtual machine can better use and understand the tools, and for most common Java developers, the problems only make the developers unhandled.
Bottleneck points such as external services (such as third party API), resource reading and writing and code exception can be directly, quickly and effectively found out through code level monitoring. Calling the third-party API, the resources are accessed, and the codes are thrown out to be abnormal unpredictably, so that the common problems can be completely monitored by embedding the AI probe, the real-time snapshot record can be realized, and the accident problem site can be quickly restored once the problems exist. After problems are found through Java monitoring, the method can also assist in further positioning by utilizing a monitoring tool built in the virtual machine.
Taking monitoring of AI probes in main stream languages such as Java, NET, PHP, etc., as an example, the monitoring generally includes: looking at the 10 elements which execute the slowest, including the number of element executions, the duration and the occupied duration percentage; viewing HTTP request parameters including response state of the request, link pages, specific request parameters and a return result; checking detailed tree information of the code execution stack, wherein the detailed tree information comprises the calculation time, the total time consumption and the called times of each method, and the slowest method of the special identifier can be directly seen; viewing the total time consumption sequencing related to the SQL sentences, including the total SQL execution time consumption, the execution times and the specific query sentences; a third party API call. By embedding a plurality of AI probes in the Java virtual machine, it is very small, only 1.5M, from the installation package itself. Under the conditions of not installing the AI probe and installing the AI probe, the application is respectively operated, and through test comparison, the difference value of the CPU utilization rate, the difference value of the memory consumption and the difference value of the TPS are all within 5 percent, so the normal use of the system is not influenced after the AI probe is installed.
The AI management server 2 is used for receiving various performance data sent by the AI probe 1, processing the various performance data, storing the processed data in a file and a database, and providing information such as visual graphic display. The AI management server 2 is further configured to receive performance data from the front-end browser, match and correlate the performance data from the AI probe 1 and the front-end browser in real time, pre-judge a potential performance risk, and generate an alarm. The front-end browser communicates with the application server through the Web server.
The AI management server 2 also provides user authority management, and when a user performs application system performance monitoring and fault diagnosis through the AI management console 3, the AI management server can send request data meeting the authority requirement to the AI management console 3 according to the authority of the user. The AI management server 2 can be a high-performance all-in-one machine provided by Beijing blue-sea communication technology Limited (Blueware), already comprises a preconfigured server, and can work only by completing the steps of putting on the shelf, connecting a power network cable and configuring an IP.
The AI management console 3 is in communication connection with the AI management server 2, and is configured to implement real-time monitoring on performance data collected by the AI probe 1 through an AI management interface based on a browser, and implement performance management on the J2EE application program through tasks such as application performance data analysis, fault diagnosis, code level problem location, alarm prompt, historical performance contrastive analysis, and the like.
The embodiment of the invention also provides an application performance management method which is carried out by adopting the system and comprises the following steps:
step one, the AI probe 1 collects performance data of a service system and transmits the collected various performance data to the AI management server 2 through an HTTP protocol.
The AI probe 1 is pre-installed on a Java virtual machine of a monitored application server and is in communication connection with the AI management server 2, and the performance data of the service system comprises related performance information of the Java virtual machine, state information of a J2EE application server running on the Java virtual machine, performance information of objects and methods in JSP/Servlet, EJB, Java Bean and SQL statement performance information on JDBC.
And step two, the AI management server 2 receives various performance data sent by the AI probe 1, processes the various performance data, stores the processed data in a file and a database, and provides information such as visual graphic display.
And thirdly, the AI management console 3 monitors the performance data collected by the AI probe 1 in real time based on an AI management interface of the browser, and realizes the performance management of the J2EE application program by applying tasks such as performance data analysis, fault diagnosis, code level problem positioning, alarm prompt, historical performance comparative analysis and the like.
The invention relates to a platform-level solution for real user experience management and application performance management throughout the whole life cycle of an application system, which mainly comprises the following functions:
(1) application performance management for real user experience
And the performance experience of the user when accessing the application system is really recorded and displayed through the AI probe, wherein the performance experience comprises the basic information of a browser, the user IP, the page loading time, the application response time, the page flow, the performance index, the error information and the like.
(2) End-to-end application system performance management
In a complex IT environment of distributed deployment, performance information of each transaction link can be effectively monitored and analyzed from a front-end browser to a back-end application server and a database.
(3) Code level application performance diagnostics and fault location
The rapid performance diagnosis from the code class and method to the database statement level is realized through browser page analysis, transaction trace record analysis, SQL statement analysis and external service analysis.
(4) Deep profiling of critical traffic
The user may select key services for deep code profiling. And more service execution code detail information is obtained in the sampling period, so that the user is helped to carry out key service deep monitoring.
(5) IT operation decision analysis based on performance database
The application performance analysis report and the user experience analysis report can be generated in a user-defined mode according to historical performance data in the performance database, and quantitative basis is provided for leading business decision and system upgrading capacity expansion.
The invention can realize that the platform can effectively monitor and analyze the performance information of each transaction link in the distributed IT environment from the front-end user browser to the back-end application server and the database server; the end-to-end performance analysis of the platform can monitor and record threads executed in specific time under the condition of not influencing user experience; the method can help the client to discover the performance bottleneck of the code level, uncover the defects of the application program stack (virtual machine, application server, integrated middleware and the like), reduce the CPU utilization rate and improve the response time of the service. The invention realizes the omnibearing monitoring of the application system on performance and usability, and through the platform management interface, the user can find the fault in time, pre-judge the fault influence and position the fault reason, and the application system management overview interface is shown in figure 2.
The above description is only an embodiment of the present invention, but the scope of the present invention is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present invention are included in the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims (8)
1. An application performance management system, characterized by: the system comprises an AI probe, an AI management server and an AI management console;
the AI probe is arranged on a Java virtual machine of a monitored application server and is in communication connection with the AI management server, and the AI probe is used for collecting performance data of a service system;
the AI management server is used for receiving various performance data sent by the AI probe, processing the various performance data, storing the processed data in a file and a database, and providing visual graphic display information;
the AI management console is in communication connection with the AI management server and is used for monitoring the performance data collected by the AI probe in real time through an AI management interface based on a browser and realizing the performance management of the J2EE application program through applying performance data analysis, fault diagnosis, code level problem positioning, alarm prompting and historical performance comparison and analysis tasks.
2. The application performance management system of claim 1, wherein: the performance data of the service system comprises related performance information of the Java virtual machine, state information of a J2EE application server running on the Java virtual machine, performance information of objects and methods in JSP/Servlet, EJB, Java Bean and SQL statement performance information on JDBC.
3. The application performance management system of claim 1, wherein: the AI probe transmits the collected various performance data to an AI management server through an HTTP protocol.
4. The application performance management system of claim 1, wherein: the AI management server provides user authority management, and when a user monitors the performance of an application system and diagnoses faults through the AI management console, request data meeting the authority requirement are sent to the AI management console according to the authority of the user.
5. A method for application performance management, characterized in that it is performed by a system according to any one of claims 1 to 4, said method comprising the steps of:
step one, an AI probe collects performance data of a service system and transmits the collected various performance data to an AI management server;
secondly, the AI management server receives various performance data sent by the AI probe, processes the various performance data, stores the processed data in a file and a database, and provides visual graph display information;
and thirdly, the AI management console monitors the performance data collected by the AI probe 1 in real time based on an AI management interface of the browser, and the performance management of the J2EE application program is realized by applying tasks such as performance data analysis, fault diagnosis, code level problem positioning, alarm prompt, historical performance comparative analysis and the like.
6. The application performance management method of claim 5, wherein: the performance data of the service system in the first step includes related performance information of the Java virtual machine, state information of a J2EE application server running on the Java virtual machine, performance information of objects and methods in JSP/Servlet, EJB, Java Bean, and SQL statement performance information on JDBC.
7. The application performance management method of claim 5, wherein: in the first step, the AI probe transmits the collected various performance data to the AI management server through the HTTP protocol.
8. The application performance management method of claim 5, wherein: and step two, the AI management server provides user authority management, and when the user performs application system performance monitoring and fault diagnosis through the AI management console, the request data meeting the authority requirement is sent to the AI management console according to the authority of the user.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743761.1A CN112015637A (en) | 2020-07-29 | 2020-07-29 | Application performance management system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743761.1A CN112015637A (en) | 2020-07-29 | 2020-07-29 | Application performance management system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112015637A true CN112015637A (en) | 2020-12-01 |
Family
ID=73498990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010743761.1A Pending CN112015637A (en) | 2020-07-29 | 2020-07-29 | Application performance management system and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015637A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331766A (en) * | 2014-10-24 | 2015-02-04 | 华迪计算机集团有限公司 | Automatic health management based integrated service system |
CN107729208A (en) * | 2017-09-16 | 2018-02-23 | 广西电网有限责任公司电力科学研究院 | A kind of power transmission and transforming equipment monitoring device deep monitored system |
-
2020
- 2020-07-29 CN CN202010743761.1A patent/CN112015637A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331766A (en) * | 2014-10-24 | 2015-02-04 | 华迪计算机集团有限公司 | Automatic health management based integrated service system |
CN107729208A (en) * | 2017-09-16 | 2018-02-23 | 广西电网有限责任公司电力科学研究院 | A kind of power transmission and transforming equipment monitoring device deep monitored system |
Non-Patent Citations (3)
Title |
---|
凌云: "基于APM技术的电信企业网络性能管理系统的设计", 《电脑知识与技术》, vol. 14, no. 25, pages 2 - 3 * |
徐洁, 阳春华, 张祖平: "基于Java平台MVC模式的流程企业分析检测数据管理系统", 计算机工程与应用, no. 15 * |
李磊: "应用性能管理系统在电信集中 BSS 系统的应用", 《联通 IT 服务专栏》, pages 2 - 3 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101683321B1 (en) | Monitoring of distributed applications | |
US7640459B2 (en) | Performing computer application trace with other operations | |
US7954011B2 (en) | Enabling tracing operations in clusters of servers | |
US8464224B2 (en) | Integrated performance and load testing tool for application servers | |
US8028200B2 (en) | Tracing operations in multiple computer systems | |
EP1828903B1 (en) | A method and system for monitoring transaction based systems | |
Xu et al. | POD-Diagnosis: Error diagnosis of sporadic operations on cloud applications | |
US9015006B2 (en) | Automated enablement of performance data collection | |
US20080098359A1 (en) | Manipulation of trace sessions based on address parameters | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
US20080127109A1 (en) | Method and system for generating and displaying function call tracker charts | |
US7451206B2 (en) | Send of software tracer messages via IP from several sources to be stored by a remote server | |
US9577903B2 (en) | Monitoring activity on a computer | |
CN111382023A (en) | Code fault positioning method, device, equipment and storage medium | |
WO2016178661A1 (en) | Determining idle testing periods | |
CN113094238A (en) | Method and device for monitoring abnormity of business system | |
Winzinger et al. | Model-based analysis of serverless applications | |
KR101830936B1 (en) | Performance Improving System Based Web for Database and Application | |
Seifermann | Application performance monitoring in microservice-based systems | |
CN112015637A (en) | Application performance management system and method | |
CN112181759A (en) | Method for monitoring micro-service performance and diagnosing abnormity | |
CN113626288A (en) | Fault processing method, system, device, storage medium and electronic equipment | |
Rohr et al. | Trace-context sensitive performance profiling for enterprise software applications | |
CN117240695B (en) | Continuous performance parsing method and device based on eBPF, electronic equipment and storage medium | |
CN114090382B (en) | Health inspection method and device for super-converged cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |