ballerina-platform / ballerina-lang

The Ballerina Programming Language
https://ballerina.io/
Apache License 2.0
3.54k stars 733 forks source link

[Bug]:Load test throughput is lower in 2201.9.0 RC1 compare to test pack #42606

Closed prakanth97 closed 1 week ago

prakanth97 commented 3 weeks ago

Description

For the below service

import ballerina/http;
import ballerina/lang.value;

service /wso2 on new http:Listener(9092) {
    resource function post stringDataDataBind(http:Request req) returns json|error? {
        // Get string get xml payload, then to record type and return record value.
        string xmlStr = check req.getTextPayload();
        record {|json...;|} val = check value:fromJsonStringWithType(xmlStr);
        return val;
    }
}

Test pack

Users 20 time (sec) 300                  
Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Std. Dev.
HTTP Request 278902 18 3 22 48 252 2 9214 0.00% 929.7 58215.3 119.75
TOTAL 278902 18 3 22 48 252 2 9214 0.00% 929.7 58215.3 119.75

RC 1 Pack

Users 20 time (sec) 300                  
Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Std. Dev.
HTTP Request 204930 24 5 12 26 246 4 46923 0.00% 683.1 42773.9 349.59
TOTAL 204930 24 5 12 26 246 4 46923 0.00% 683.1 42773.9 349.59
2201.8.6 Users 20 time (sec) 300                  
Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Std. Dev.
HTTP Request 131029 38 9 14 38 193 7 60010 0.01% 436.8 27346.7 842.17
TOTAL 131029 38 9 14 38 193 7 60010 0.01% 436.8 27346.7 842.17

JSON Payload : large_data.json

Steps to Reproduce

No response

Affected Version(s)

2201.9.0 RC1

OS, DB, other environment details and versions

No response

Related area

-> Runtime

Related issue(s) (optional)

No response

Suggested label(s) (optional)

No response

Suggested assignee(s) (optional)

No response

gabilang commented 1 week ago

It seems the above mentioned issue is not reproducible when comparing the results of 2201.9.0 RC2 and the earliest test pack. Actually the results I obtained shows slight improvements.

2201.9.0-RC2 Pack

Users: 20, duration: 300 sec, ramp-up period: 100 sec  

Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Std. Dev.
HTTP Request 274995 19 3 4 5 92 1 30020 0.00% 916.70500 57386.31
TOTAL 274995 19 3 4 5 92 1 30020 0.00% 916.70500 57386.31

2201.9.0 test pack

Users: 20, duration: 300 sec, ramp-up period: 100 sec

Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Std. Dev.
HTTP Request 269431 18 3 4 5 114 1 30021 0.02% 898.15423 56227.38
TOTAL 269431 18 3 4 5 114 1 30021 0.02% 898.15423 56227.38

@prakanth97 can you verify this again with RC2 or the latest RC pack?

gabilang commented 1 week ago

The issue is not reproducible with the latest RC packs. But observed some cases where we can improve the logics for a better performance (Created an issue for that https://github.com/ballerina-platform/ballerina-lang/issues/42609). Since there are improvements observed in the load test with the latest update-9 pack, closing this issue. Feel free to reopen if you have any concerns.

github-actions[bot] commented 1 week ago

This issue is NOT closed with a proper Reason/ label. Make sure to add proper reason label before closing. Please add or leave a comment with the proper reason label now.

      - Reason/EngineeringMistake - The issue occurred due to a mistake made in the past.
      - Reason/Regression - The issue has introduced a regression.
      - Reason/MultipleComponentInteraction - Issue occured due to interactions in multiple components.
      - Reason/Complex - Issue occurred due to complex scenario.
      - Reason/Invalid - Issue is invalid.
      - Reason/Other - None of the above cases.