CN112015637A - Application performance management system and method - Google Patents

Application performance management system and method Download PDF

Info

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
Application number
CN202010743761.1A
Other languages
Chinese (zh)
Inventor
刘芬
代荡荡
冯浩
徐焕
龙霏
王敬靖
王逸兮
彭祥礼
余铮
朱小军
廖荣涛
查志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Information and Telecommunication Branch of State Grid Hubei Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Information and Telecommunication Branch of State Grid Hubei Electric Power Co Ltd
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 State Grid Corp of China SGCC, Information and Telecommunication Branch of State Grid Hubei Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202010743761.1A priority Critical patent/CN112015637A/en
Publication of CN112015637A publication Critical patent/CN112015637A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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

Application performance management system and method
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.
CN202010743761.1A 2020-07-29 2020-07-29 Application performance management system and method Pending CN112015637A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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