Help Center/ CodeArts PerfTest/ Service Overview/ What Is CodeArts PerfTest?
Updated on 2024-05-17 GMT+08:00

What Is CodeArts PerfTest?

Distributed architecture and microservice technologies have made applications more complex. This complexity results in architecture decoupling and performance improvements. However, it also makes it harder to locate performance problems in the production environment, and the repair periods become longer. Performance tests in advance of application launches are therefore necessary.

CodeArts PerfTest provides performance test services for cloud applications that are built based on HTTP, HTTPS, TCP, UDP, HLS, RTMP, WebSocket, MQTT, or HTTP-FLV. CodeArts PerfTest quickly simulates service peaks with a large number of concurrent users. It allows you to define the contents and time sequences of packets and supports complex combinations of multiple transactions. After tests are complete, CodeArts PerfTest provides professional test reports to evaluate your service quality.

CodeArts PerfTest simplifies performance pressure tests, helping you focus more on services and performance problems, reduce costs, enhance stability, optimize user experience, and improve the business value of enterprises.

Figure 1 CodeArts PerfTest

Functions

CodeArts PerfTest provides tests for HTTP/HTTPS/TCP/UDP/HLS/RTMP/WebSocket/HTTP-FLV/MQTT applications with high user concurrency. It allows you to flexibly define multi-protocol packet contents, transactions, and test task models. You can view performance statistics, such as concurrency, RPS, and response time during or after testing. You can also create private test clusters or scale in or out resource groups to test at different scales.

Multi-protocol and high-concurrency performance tests

  • Quickly define standard HTTP/HTTPS/TCP/UDP/HLS/RTMP/WebSocket/HTTP-FLV/MQTT packet contents. You can send pressure test traffic to different tested applications through simple adjustments.

    Define any fields in HTTP/HTTPS/TCP/UDP/HLS/RTMP/WebSocket/HTTP-FLV/MQTT packets based on the requirements of tested applications. For example, you can configure methods such as GET/POST/PATCH/PUT/DELETE, and URLs, headers, and bodies of HTTP requests.

  • Define the behavior of virtual users for different test scenarios.

    Specify the interval for sending requests of the same user by setting the think time, or define multiple request packets in a transaction to set the number of requests initiated by each user per second.

  • Customize the validation for the response result to make the checkpoint for successful requests more accurate.

    CodeArts PerfTest allows you to configure checkpoints based on your service requests. After obtaining response packets, CodeArts PerfTest verifies their response code, header and body fields. Only response packets that meet the specified conditions are considered normal responses.

Defining test task models for complex scenario tests

  • You can test application performance by combining case scripts and pressure models for different high-concurrency scenarios.
  • Test cases can be reused. You can define their pressure model and parameters such as the duration, number of concurrent users, number of flapping, and surge times, to simulate complex scenarios with traffic peaks and troughs.
    Figure 2 Complex scenario tests

Providing professional performance test reports for easy understanding of application performance

  • CodeArts PerfTest collects application performance statistics from multiple aspects, such as RPS, number of concurrent users, response latency, number of access requests, response verification failures, and response timeout.
  • CodeArts PerfTest provides real-time and offline test reports for you to view and analyze test data at any time.

Managing private test clusters, isolating tenants' traffic, and providing on-demand use

  • You can create test clusters as required to isolate the traffic between tenants and complete pressure tests of the internal network (Huawei Cloud VPCs) and external network. After tests are complete, you can delete clusters at any time.
  • CodeArts PerfTest supports real-time scale-ins, scale-outs, and upgrades of test clusters.