Long-running operation - June test

A "long-running" test refers to a type of test that is designed to evaluate the system's behavior under sustained use over a long period of time. These tests can be used to identify problems that might not be apparent in short-term testing scenarios.

Among other things, long-running tests are often used to identify memory leaks, resource leaks, or degradation in system performance over time. If a system runs perfectly for an hour but starts having issues after several hours or days, a long-running test would help identify such problems.

In particular, we want to measure CPU and memory usages of Dolos compared to the Haskell node. The main goal of Dolos is to provide a lightweight alternative (with substantially reduced features) for data access use-cases. To perform the comparison, both implementations were hosted under the equivalent conditions:

  • same hardware
  • both fully-synced to the Preview network
  • similar client request profile (1 chain-sync consumer)

CPU Usage

In this analysis we compare CPU usage. It is expressed as shares of a vCPU (~core). 1 share represents 1/1000 of a vCPU. Each bucket represent the average of shares utilized by each process in a 30-minute period. The information was gathered after continuous operations throughout a 2-day period.

TimeDolosHaskell
2023-06-19 08:30:002.11222
2023-06-19 09:00:001.87222
2023-06-19 09:30:002.00231
2023-06-19 10:00:002.01243
2023-06-19 10:30:001.98240
2023-06-19 11:00:002.48241
2023-06-19 11:30:002.16226
2023-06-19 12:00:002.23240
2023-06-19 12:30:002.12241
2023-06-19 13:00:002.42236
2023-06-19 13:30:002.11232
2023-06-19 14:00:002.00231
2023-06-19 14:30:002.06278
2023-06-19 15:00:002.38248
2023-06-19 15:30:001.97224
2023-06-19 16:00:002.00161
2023-06-19 16:30:002.25236
2023-06-19 17:00:001.90234
2023-06-19 17:30:001.98236
2023-06-19 18:00:001.92227
2023-06-19 18:30:002.18232
2023-06-19 19:00:002.06231
2023-06-19 19:30:002.25242
2023-06-19 20:00:002.09239
2023-06-19 20:30:002.25250
2023-06-19 21:00:002.05230
2023-06-19 21:30:001.96229
2023-06-19 22:00:002.06226
2023-06-19 22:30:002.22237
2023-06-19 23:00:002.34234
2023-06-19 23:30:002.36238
2023-06-20 00:00:002.16238
2023-06-20 00:30:002.46236
2023-06-20 01:00:002.26241
2023-06-20 01:30:002.21242
2023-06-20 02:00:001.89226
2023-06-20 02:30:002.53252
2023-06-20 03:00:001.93226
2023-06-20 03:30:002.06232
2023-06-20 04:00:002.37240
2023-06-20 04:30:002.65250
2023-06-20 05:00:002.12233
2023-06-20 05:30:002.41329
2023-06-20 06:00:002.36231
2023-06-20 06:30:002.80273
2023-06-20 07:00:002.22226
2023-06-20 07:30:002.04217
2023-06-20 08:00:002.50238
2023-06-20 08:30:002.24228
2023-06-20 09:00:002.51230
2023-06-20 09:30:002.31235
2023-06-20 10:00:002.15225
2023-06-20 10:30:002.36231
2023-06-20 11:00:002.91232
2023-06-20 11:30:002.83239
2023-06-20 12:00:002.64238
2023-06-20 12:30:002.76231
2023-06-20 13:00:002.88256
2023-06-20 13:30:002.79233
2023-06-20 14:00:002.35222
2023-06-20 14:30:002.12223
2023-06-20 15:00:002.69230
2023-06-20 15:30:002.30228
2023-06-20 16:00:002.37232
2023-06-20 16:30:002.45241
2023-06-20 17:00:002.63230
2023-06-20 17:30:003.08239
2023-06-20 18:00:002.72225
2023-06-20 18:30:002.40222
2023-06-20 19:00:002.61229
2023-06-20 19:30:002.60231
2023-06-20 20:00:002.43235
2023-06-20 20:30:002.62229
2023-06-20 21:00:002.19220
2023-06-20 21:30:002.62232
2023-06-20 22:00:002.76232
2023-06-20 22:30:002.01244
2023-06-20 23:00:002.30231
2023-06-20 23:30:002.22252
2023-06-21 00:00:002.79234
2023-06-21 00:30:002.33233
2023-06-21 01:00:002.31229
2023-06-21 01:30:002.56222
2023-06-21 02:00:002.71237
2023-06-21 02:30:002.51248
2023-06-21 03:00:002.54236
2023-06-21 03:30:002.25233
2023-06-21 04:00:002.89242
2023-06-21 04:30:002.35229
2023-06-21 05:00:002.65236
2023-06-21 05:30:002.18222
2023-06-21 06:00:002.64227
2023-06-21 06:30:003.03239
2023-06-21 07:00:002.26229
2023-06-21 07:30:003.81268
2023-06-21 08:00:002.90262
2023-06-21 08:30:002.85247

Memory Usage

In this analysis we compare memory usage. It is expressed as total amount of data (KB, MB, GB). Each bucket represent the average of memory utilized by each process in a 30-minute period. The information was gathered after continuous operations throughout a 2-day period.

TimeDolosHaskell
2023-06-19 08:30:0020.3 MB2.18 GB
2023-06-19 09:00:0020.4 MB2.18 GB
2023-06-19 09:30:0020.7 MB2.18 GB
2023-06-19 10:00:0020.9 MB2.18 GB
2023-06-19 10:30:0021.1 MB2.18 GB
2023-06-19 11:00:0021.1 MB2.18 GB
2023-06-19 11:30:0021.2 MB2.18 GB
2023-06-19 12:00:0021.4 MB2.18 GB
2023-06-19 12:30:0021.7 MB2.18 GB
2023-06-19 13:00:0021.9 MB2.18 GB
2023-06-19 13:30:0021.9 MB2.18 GB
2023-06-19 14:00:0022.2 MB2.18 GB
2023-06-19 14:30:0022.3 MB2.18 GB
2023-06-19 15:00:0022.5 MB2.18 GB
2023-06-19 15:30:0022.8 MB2.18 GB
2023-06-19 16:00:0023.0 MB2.18 GB
2023-06-19 16:30:0023.5 MB2.18 GB
2023-06-19 17:00:0024.1 MB2.18 GB
2023-06-19 17:30:0024.7 MB2.18 GB
2023-06-19 18:00:0025.3 MB2.18 GB
2023-06-19 18:30:0026.0 MB2.18 GB
2023-06-19 19:00:0026.6 MB2.18 GB
2023-06-19 19:30:0027.3 MB2.18 GB
2023-06-19 20:00:0027.8 MB2.18 GB
2023-06-19 20:30:0028.5 MB2.18 GB
2023-06-19 21:00:0028.9 MB2.18 GB
2023-06-19 21:30:0029.5 MB2.18 GB
2023-06-19 22:00:0030.1 MB2.18 GB
2023-06-19 22:30:0030.6 MB2.18 GB
2023-06-19 23:00:0031.2 MB2.18 GB
2023-06-19 23:30:0032.0 MB2.18 GB
2023-06-20 00:00:0032.5 MB2.18 GB
2023-06-20 00:30:0033.2 MB2.18 GB
2023-06-20 01:00:0033.8 MB2.18 GB
2023-06-20 01:30:0034.5 MB2.18 GB
2023-06-20 02:00:0034.7 MB2.18 GB
2023-06-20 02:30:0034.8 MB2.18 GB
2023-06-20 03:00:0035.1 MB2.18 GB
2023-06-20 03:30:0035.1 MB2.18 GB
2023-06-20 04:00:0035.3 MB2.18 GB
2023-06-20 04:30:0035.1 MB2.18 GB
2023-06-20 05:00:0035.5 MB2.18 GB
2023-06-20 05:30:0035.8 MB2.18 GB
2023-06-20 06:00:0036.0 MB2.18 GB
2023-06-20 06:30:0036.1 MB2.18 GB
2023-06-20 07:00:0036.5 MB2.18 GB
2023-06-20 07:30:0036.6 MB2.18 GB
2023-06-20 08:00:0036.9 MB2.18 GB
2023-06-20 08:30:0037.1 MB2.18 GB
2023-06-20 09:00:0037.0 MB2.18 GB
2023-06-20 09:30:0037.2 MB2.18 GB
2023-06-20 10:00:0037.5 MB2.18 GB
2023-06-20 10:30:0037.5 MB2.18 GB
2023-06-20 11:00:0037.6 MB2.18 GB
2023-06-20 11:30:0038.1 MB2.18 GB
2023-06-20 12:00:0038.1 MB2.18 GB
2023-06-20 12:30:0038.2 MB2.18 GB
2023-06-20 13:00:0038.5 MB2.18 GB
2023-06-20 13:30:0038.5 MB2.18 GB
2023-06-20 14:00:0038.8 MB2.18 GB
2023-06-20 14:30:0039.0 MB2.18 GB
2023-06-20 15:00:0039.2 MB2.18 GB
2023-06-20 15:30:0039.2 MB2.18 GB
2023-06-20 16:00:0039.3 MB2.18 GB
2023-06-20 16:30:0039.6 MB2.18 GB
2023-06-20 17:00:0039.7 MB2.18 GB
2023-06-20 17:30:0039.7 MB2.18 GB
2023-06-20 18:00:0039.9 MB2.18 GB
2023-06-20 18:30:0040.2 MB2.18 GB
2023-06-20 19:00:0040.1 MB2.18 GB
2023-06-20 19:30:0040.3 MB2.18 GB
2023-06-20 20:00:0040.5 MB2.18 GB
2023-06-20 20:30:0040.7 MB2.18 GB
2023-06-20 21:00:0040.7 MB2.18 GB
2023-06-20 21:30:0040.8 MB2.18 GB
2023-06-20 22:00:0040.9 MB2.18 GB
2023-06-20 22:30:0041.1 MB2.18 GB
2023-06-20 23:00:0041.1 MB2.18 GB
2023-06-20 23:30:0041.2 MB2.18 GB
2023-06-21 00:00:0041.4 MB2.18 GB
2023-06-21 00:30:0041.5 MB2.18 GB
2023-06-21 01:00:0041.8 MB2.18 GB
2023-06-21 01:30:0041.8 MB2.18 GB
2023-06-21 02:00:0041.9 MB2.18 GB
2023-06-21 02:30:0042.3 MB2.18 GB
2023-06-21 03:00:0042.2 MB2.18 GB
2023-06-21 03:30:0042.5 MB2.18 GB
2023-06-21 04:00:0042.7 MB2.18 GB
2023-06-21 04:30:0042.2 MB2.18 GB
2023-06-21 05:00:0042.7 MB2.18 GB
2023-06-21 05:30:0043.1 MB2.18 GB
2023-06-21 06:00:0043.4 MB2.18 GB
2023-06-21 06:30:0043.5 MB2.18 GB
2023-06-21 07:00:0043.7 MB2.18 GB
2023-06-21 07:30:0016.3 MB2.18 GB
2023-06-21 08:00:0016.7 MB2.18 GB
2023-06-21 08:30:0017.1 MB2.18 GB