The component real-time performance analysis function depends on the component opening performance analysis plug-in to complete. Kato currently provides performance analysis plug-ins that support HTTP protocol and Mysql protocol by default for users to use.
Component Performance Analysis
We measure the performance of all types of components with three indicators:
Response time is also called delay. Components generally work at the application layer of network communication, such as http, mysql, redis, grpc, etc. The time it takes for a component to process a client request is the response time. If we measure it from the dimension of network packets, it is the time between the first packet of the request packet and the sending of the first packet of the response packet.
Throughput rate is also called communication volume, which is the number of times a component processes a request per unit time.
Errors have explicit errors (such as HTTP 500 errors) and implicit errors (such as HTTP returns 200 but the business is wrong). Here we mainly focus on visible errors. Each communication protocol has standard error types, such as mysql query Statement error. The error rate is normally closely related to the saturation of the component.
In summary, we have two ideas when implementing performance analysis. One is that in the ServiceMesh network, the agent will report three types of indicators according to different protocols. The second is the current method in which the performance analysis plug-in bypasses The way to monitor the network communication of the component, so as to directly analyze the above indicators of the component.
The performance analysis data is persistently stored in the Kato monitor component for client query. In the component monitoring page, in addition to displaying the monitoring historical data, we also display the request status of http and mysql in real time, such as the execution of the sql statement requested by mysql. This provides a direct guide for users to perform refined selection.
More Protocol Support
In the TODO list, we plan to support performance analysis of grpc protocol, redis protocol, and mongodb protocol.