digital-asset / daml

The Daml smart contract language
https://www.digitalasset.com/developers
797 stars 199 forks source link

JSON API multi-user performance testing #10155

Closed cocreature closed 3 years ago

cocreature commented 3 years ago

Currently our JSON API performance tests focus on the performance of individual queries.

We should also test how performance is impacted by having ~300 concurrent users and which parameters in akka-http or in our own code, e.g., database connection pool size can help.

akshayshirahatti-da commented 3 years ago

As part of the Multi user performance tests the following changes was carried out


> Number of requests                                  1000 (OK=1000   KO=-     )
> Min. response time                                   487 (OK=487    KO=-     )
> Max. response time                                  4631 (OK=4631   KO=-     )
> Mean response time                                  2462 (OK=2462   KO=-     )
> Std. deviation                                       787 (OK=787    KO=-     )
> response time 90th percentile                       2507 (OK=2507   KO=-     )
> response time 95th percentile                       3002 (OK=3002   KO=-     )
> response time 99th percentile                       3637 (OK=3637   KO=-     )
> response time 99.9th percentile                     4126 (OK=4126   KO=-     )
> Mean requests/second                               3.906 (OK=3.906  KO=-     )
---- Response time distribution ------------------------------------------------
> t < 800 ms                                             7 (  1%)
> 800 ms < t < 1200 ms                                  67 (  7%)
> t > 1200 ms                                          926 ( 93%)
> failed                                                 0 (  -%)

query using hashed key field

> Number of requests                                  1000 (OK=1000   KO=-     )
> Min. response time                                   206 (OK=206    KO=-     )
> Max. response time                                  2893 (OK=2893   KO=-     )
> Mean response time                                  1074 (OK=1074   KO=-     )
> Std. deviation                                       348 (OK=348    KO=-     )
> response time 90th percentile                       1100 (OK=1100   KO=-     )
> response time 95th percentile                       1330 (OK=1330   KO=-     )
> response time 99th percentile                       1577 (OK=1577   KO=-     )
> response time 99.9th percentile                     1832 (OK=1832   KO=-     )
> Mean requests/second                                8.85 (OK=8.85   KO=-     )
---- Response time distribution ------------------------------------------------
> t < 800 ms                                           217 ( 22%)
> 800 ms < t < 1200 ms                                 422 ( 42%)
> t > 1200 ms                                          361 ( 36%)
> failed                                                 0 (  -%)

Things not covered as part of this issue.