From 1a253de98aac1edb8fa9903b742c11e3b84c1818 Mon Sep 17 00:00:00 2001 From: David Jimenez Barrantes Date: Mon, 6 Nov 2023 09:15:03 -0600 Subject: [PATCH] [RND-658] - Comparison of PostgreSQL and MongoDB performance (#312) * Postgresql stats * Results for mongodb --- .../mongodb/autocannon/fifth.txt | 94 +++++++++++++++++++ .../mongodb/autocannon/first.txt | 94 +++++++++++++++++++ .../mongodb/autocannon/forth.txt | 94 +++++++++++++++++++ .../mongodb/autocannon/second.txt | 94 +++++++++++++++++++ .../mongodb/autocannon/third.txt | 94 +++++++++++++++++++ .../mongodb/bulkload/raw-results.txt | 7 ++ .../postgresql/autocannon/fifth.txt | 94 +++++++++++++++++++ .../postgresql/autocannon/first.txt | 94 +++++++++++++++++++ .../postgresql/autocannon/forth.txt | 94 +++++++++++++++++++ .../postgresql/autocannon/second.txt | 94 +++++++++++++++++++ .../postgresql/autocannon/third.txt | 94 +++++++++++++++++++ .../postgresql/bulkload/raw-results.txt.txt | 7 ++ docs/performance-testing/RND-658.md | 52 ++++++++++ 13 files changed, 1006 insertions(+) create mode 100644 docs/performance-testing/RND-658-raw-data/mongodb/autocannon/fifth.txt create mode 100644 docs/performance-testing/RND-658-raw-data/mongodb/autocannon/first.txt create mode 100644 docs/performance-testing/RND-658-raw-data/mongodb/autocannon/forth.txt create mode 100644 docs/performance-testing/RND-658-raw-data/mongodb/autocannon/second.txt create mode 100644 docs/performance-testing/RND-658-raw-data/mongodb/autocannon/third.txt create mode 100644 docs/performance-testing/RND-658-raw-data/mongodb/bulkload/raw-results.txt create mode 100644 docs/performance-testing/RND-658-raw-data/postgresql/autocannon/fifth.txt create mode 100644 docs/performance-testing/RND-658-raw-data/postgresql/autocannon/first.txt create mode 100644 docs/performance-testing/RND-658-raw-data/postgresql/autocannon/forth.txt create mode 100644 docs/performance-testing/RND-658-raw-data/postgresql/autocannon/second.txt create mode 100644 docs/performance-testing/RND-658-raw-data/postgresql/autocannon/third.txt create mode 100644 docs/performance-testing/RND-658-raw-data/postgresql/bulkload/raw-results.txt.txt create mode 100644 docs/performance-testing/RND-658.md diff --git a/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/fifth.txt b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/fifth.txt new file mode 100644 index 00000000..26850c60 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/fifth.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.12, + samples: 160, + start: 2023-10-31T22:09:51.397Z, + finish: 2023-10-31T22:12:31.515Z, + errors: 186, + timeouts: 186, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 752, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 739 }, '201': { count: 13 } }, + latency: { + average: 2238.58, + mean: 2238.58, + stddev: 2289.75, + min: 402, + max: 9993, + p0_001: 402, + p0_01: 402, + p0_1: 402, + p1: 449, + p2_5: 474, + p10: 631, + p25: 1019, + p50: 1853, + p75: 4038, + p90: 6265, + p97_5: 8647, + p99: 9425, + p99_9: 9993, + p99_99: 9993, + p99_999: 9993, + totalCount: 752 + }, + requests: { + average: 4.7, + mean: 4.7, + stddev: 1.78, + min: 1, + max: 11, + total: 752, + p0_001: 1, + p0_01: 1, + p0_1: 1, + p1: 1, + p2_5: 2, + p10: 3, + p25: 4, + p50: 4, + p75: 5, + p90: 7, + p97_5: 9, + p99: 11, + p99_9: 11, + p99_99: 11, + p99_999: 11, + sent: 963 + }, + throughput: { + average: 1640.87, + mean: 1640.87, + stddev: 619.82, + min: 349, + max: 3844, + total: 262513, + p0_001: 349, + p0_01: 349, + p0_1: 349, + p1: 349, + p2_5: 698, + p10: 1047, + p25: 1396, + p50: 1396, + p75: 1745, + p90: 2443, + p97_5: 3141, + p99: 3839, + p99_9: 3845, + p99_99: 3845, + p99_999: 3845 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/first.txt b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/first.txt new file mode 100644 index 00000000..1df683fd --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/first.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.13, + samples: 160, + start: 2023-10-31T22:00:53.600Z, + finish: 2023-10-31T22:03:33.728Z, + errors: 216, + timeouts: 216, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 719, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 707 }, '201': { count: 12 } }, + latency: { + average: 2489.13, + mean: 2489.13, + stddev: 2073.29, + min: 321, + max: 9849, + p0_001: 321, + p0_01: 321, + p0_1: 321, + p1: 396, + p2_5: 439, + p10: 624, + p25: 996, + p50: 1621, + p75: 3248, + p90: 5703, + p97_5: 8378, + p99: 9104, + p99_9: 9849, + p99_99: 9849, + p99_999: 9849, + totalCount: 719 + }, + requests: { + average: 4.5, + mean: 4.5, + stddev: 2.34, + min: 1, + max: 12, + total: 719, + p0_001: 1, + p0_01: 1, + p0_1: 1, + p1: 1, + p2_5: 2, + p10: 2, + p25: 3, + p50: 4, + p75: 6, + p90: 8, + p97_5: 10, + p99: 12, + p99_9: 12, + p99_99: 12, + p99_999: 12, + sent: 960 + }, + throughput: { + average: 1568.85, + mean: 1568.85, + stddev: 816.26, + min: 349, + max: 4188, + total: 250991, + p0_001: 349, + p0_01: 349, + p0_1: 349, + p1: 349, + p2_5: 698, + p10: 698, + p25: 1047, + p50: 1396, + p75: 2095, + p90: 2793, + p97_5: 3491, + p99: 4191, + p99_9: 4191, + p99_99: 4191, + p99_999: 4191 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/forth.txt b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/forth.txt new file mode 100644 index 00000000..ef3efcab --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/forth.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.12, + samples: 160, + start: 2023-10-31T22:15:16.080Z, + finish: 2023-10-31T22:17:56.195Z, + errors: 83, + timeouts: 83, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 1636, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 1621 }, '201': { count: 15 } }, + latency: { + average: 1917.82, + mean: 1917.82, + stddev: 1789.87, + min: 281, + max: 9913, + p0_001: 281, + p0_01: 281, + p0_1: 289, + p1: 344, + p2_5: 396, + p10: 460, + p25: 628, + p50: 1302, + p75: 2573, + p90: 4426, + p97_5: 6917, + p99: 8787, + p99_9: 9710, + p99_99: 9913, + p99_999: 9913, + totalCount: 1636 + }, + requests: { + average: 10.23, + mean: 10.23, + stddev: 3.14, + min: 3, + max: 16, + total: 1636, + p0_001: 3, + p0_01: 3, + p0_1: 3, + p1: 5, + p2_5: 5, + p10: 7, + p25: 8, + p50: 9, + p75: 14, + p90: 15, + p97_5: 15, + p99: 15, + p99_9: 16, + p99_99: 16, + p99_999: 16, + sent: 1744 + }, + throughput: { + average: 3569.29, + mean: 3569.29, + stddev: 1094.38, + min: 1062, + max: 5584, + total: 571039, + p0_001: 1062, + p0_01: 1062, + p0_1: 1062, + p1: 1745, + p2_5: 1745, + p10: 2443, + p25: 2793, + p50: 3141, + p75: 4887, + p90: 5235, + p97_5: 5235, + p99: 5235, + p99_9: 5587, + p99_99: 5587, + p99_999: 5587 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/second.txt b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/second.txt new file mode 100644 index 00000000..ce624400 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/second.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.12, + samples: 160, + start: 2023-10-31T22:38:26.965Z, + finish: 2023-10-31T22:41:07.083Z, + errors: 265, + timeouts: 265, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 520, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 511 }, '201': { count: 9 } }, + latency: { + average: 2429.86, + mean: 2429.86, + stddev: 2216.1, + min: 335, + max: 9787, + p0_001: 335, + p0_01: 335, + p0_1: 335, + p1: 368, + p2_5: 429, + p10: 551, + p25: 908, + p50: 1438, + p75: 3316, + p90: 5847, + p97_5: 8860, + p99: 9427, + p99_9: 9787, + p99_99: 9787, + p99_999: 9787, + totalCount: 520 + }, + requests: { + average: 3.25, + mean: 3.25, + stddev: 2.25, + min: 1, + max: 12, + total: 520, + p0_001: 0, + p0_01: 0, + p0_1: 0, + p1: 0, + p2_5: 0, + p10: 1, + p25: 2, + p50: 2, + p75: 4, + p90: 7, + p97_5: 9, + p99: 10, + p99_9: 12, + p99_99: 12, + p99_999: 12, + sent: 810 + }, + throughput: { + average: 1134.62, + mean: 1134.62, + stddev: 784.89, + min: 349, + max: 4188, + total: 181525, + p0_001: 0, + p0_01: 0, + p0_1: 0, + p1: 0, + p2_5: 0, + p10: 349, + p25: 698, + p50: 698, + p75: 1396, + p90: 2443, + p97_5: 3151, + p99: 3491, + p99_9: 4191, + p99_99: 4191, + p99_999: 4191 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/third.txt b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/third.txt new file mode 100644 index 00000000..1b9cd3c4 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/mongodb/autocannon/third.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.15, + samples: 160, + start: 2023-10-31T22:22:01.327Z, + finish: 2023-10-31T22:24:41.479Z, + errors: 223, + timeouts: 223, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 701, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 690 }, '201': { count: 11 } }, + latency: { + average: 2422.18, + mean: 2422.18, + stddev: 2116.21, + min: 387, + max: 9986, + p0_001: 387, + p0_01: 387, + p0_1: 387, + p1: 440, + p2_5: 495, + p10: 580, + p25: 1039, + p50: 1471, + p75: 3211, + p90: 5606, + p97_5: 8432, + p99: 9541, + p99_9: 9986, + p99_99: 9986, + p99_999: 9986, + totalCount: 701 + }, + requests: { + average: 4.39, + mean: 4.39, + stddev: 2.1, + min: 1, + max: 11, + total: 701, + p0_001: 0, + p0_01: 0, + p0_1: 0, + p1: 1, + p2_5: 1, + p10: 2, + p25: 3, + p50: 4, + p75: 5, + p90: 8, + p97_5: 10, + p99: 10, + p99_9: 11, + p99_99: 11, + p99_999: 11, + sent: 949 + }, + throughput: { + average: 1529.49, + mean: 1529.49, + stddev: 732.46, + min: 349, + max: 3839, + total: 244704, + p0_001: 0, + p0_01: 0, + p0_1: 0, + p1: 349, + p2_5: 349, + p10: 698, + p25: 1047, + p50: 1396, + p75: 1745, + p90: 2793, + p97_5: 3491, + p99: 3495, + p99_9: 3839, + p99_99: 3839, + p99_999: 3839 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/mongodb/bulkload/raw-results.txt b/docs/performance-testing/RND-658-raw-data/mongodb/bulkload/raw-results.txt new file mode 100644 index 00000000..d65cac82 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/mongodb/bulkload/raw-results.txt @@ -0,0 +1,7 @@ +Bulk load - raw results: + +00:03:28.872 +00:03:28.379 +00:03:27.527 +00:03:28.848 +00:03:27.330 diff --git a/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/fifth.txt b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/fifth.txt new file mode 100644 index 00000000..4510b4e0 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/fifth.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.12, + samples: 160, + start: 2023-10-26T20:07:10.799Z, + finish: 2023-10-26T20:09:50.917Z, + errors: 0, + timeouts: 0, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 14699, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 14674 }, '201': { count: 25 } }, + latency: { + average: 271.52, + mean: 271.52, + stddev: 24.87, + min: 173, + max: 447, + p0_001: 173, + p0_01: 180, + p0_1: 207, + p1: 224, + p2_5: 229, + p10: 242, + p25: 254, + p50: 271, + p75: 287, + p90: 299, + p97_5: 324, + p99: 344, + p99_9: 426, + p99_99: 426, + p99_999: 447, + totalCount: 14699 + }, + requests: { + average: 91.87, + mean: 91.87, + stddev: 7.36, + min: 73, + max: 110, + total: 14699, + p0_001: 73, + p0_01: 73, + p0_1: 73, + p1: 73, + p2_5: 75, + p10: 83, + p25: 86, + p50: 92, + p75: 97, + p90: 101, + p97_5: 105, + p99: 108, + p99_9: 110, + p99_99: 110, + p99_999: 110, + sent: 14724 + }, + throughput: { + average: 32064.15, + mean: 32064.15, + stddev: 2563.81, + min: 25477, + max: 38390, + total: 5130076, + p0_001: 25487, + p0_01: 25487, + p0_1: 25487, + p1: 25487, + p2_5: 26303, + p10: 28975, + p25: 30015, + p50: 32111, + p75: 33855, + p90: 35263, + p97_5: 36671, + p99: 37695, + p99_9: 38399, + p99_99: 38399, + p99_999: 38399 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/first.txt b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/first.txt new file mode 100644 index 00000000..5fffc8d1 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/first.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.11, + samples: 160, + start: 2023-10-26T19:23:01.919Z, + finish: 2023-10-26T19:25:42.030Z, + errors: 0, + timeouts: 0, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 14624, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 14599 }, '201': { count: 25 } }, + latency: { + average: 272.95, + mean: 272.95, + stddev: 19.22, + min: 182, + max: 487, + p0_001: 182, + p0_01: 183, + p0_1: 214, + p1: 237, + p2_5: 241, + p10: 253, + p25: 262, + p50: 272, + p75: 282, + p90: 292, + p97_5: 310, + p99: 333, + p99_9: 481, + p99_99: 482, + p99_999: 487, + totalCount: 14624 + }, + requests: { + average: 91.4, + mean: 91.4, + stddev: 4.44, + min: 75, + max: 103, + total: 14624, + p0_001: 75, + p0_01: 75, + p0_1: 75, + p1: 81, + p2_5: 82, + p10: 85, + p25: 89, + p50: 92, + p75: 94, + p90: 97, + p97_5: 100, + p99: 100, + p99_9: 103, + p99_99: 103, + p99_999: 103, + sent: 14649 + }, + throughput: { + average: 31900.15, + mean: 31900.15, + stddev: 1545.31, + min: 26300, + max: 35947, + total: 5103901, + p0_001: 26303, + p0_01: 26303, + p0_1: 26303, + p1: 28271, + p2_5: 28623, + p10: 29679, + p25: 31071, + p50: 32111, + p75: 32831, + p90: 33855, + p97_5: 34911, + p99: 34911, + p99_9: 35967, + p99_99: 35967, + p99_999: 35967 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/forth.txt b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/forth.txt new file mode 100644 index 00000000..12c2b48f --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/forth.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.11, + samples: 160, + start: 2023-10-26T19:59:51.733Z, + finish: 2023-10-26T20:02:31.840Z, + errors: 0, + timeouts: 0, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 14637, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 14612 }, '201': { count: 25 } }, + latency: { + average: 272.67, + mean: 272.67, + stddev: 38.68, + min: 178, + max: 695, + p0_001: 178, + p0_01: 178, + p0_1: 210, + p1: 225, + p2_5: 233, + p10: 250, + p25: 259, + p50: 267, + p75: 277, + p90: 290, + p97_5: 346, + p99: 490, + p99_9: 660, + p99_99: 695, + p99_999: 695, + totalCount: 14637 + }, + requests: { + average: 91.49, + mean: 91.49, + stddev: 8.81, + min: 50, + max: 115, + total: 14637, + p0_001: 50, + p0_01: 50, + p0_1: 50, + p1: 54, + p2_5: 59, + p10: 85, + p25: 90, + p50: 93, + p75: 95, + p90: 98, + p97_5: 103, + p99: 110, + p99_9: 115, + p99_99: 115, + p99_999: 115, + sent: 14662 + }, + throughput: { + average: 31929.25, + mean: 31929.25, + stddev: 3072.83, + min: 17450, + max: 40135, + total: 5108438, + p0_001: 17455, + p0_01: 17455, + p0_1: 17455, + p1: 18847, + p2_5: 20591, + p10: 29679, + p25: 31423, + p50: 32463, + p75: 33183, + p90: 34207, + p97_5: 35967, + p99: 38399, + p99_9: 40159, + p99_99: 40159, + p99_999: 40159 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/second.txt b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/second.txt new file mode 100644 index 00000000..b9e31ef3 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/second.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.12, + samples: 160, + start: 2023-10-26T19:32:00.140Z, + finish: 2023-10-26T19:34:40.263Z, + errors: 0, + timeouts: 0, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 15464, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 15439 }, '201': { count: 25 } }, + latency: { + average: 258.15, + mean: 258.15, + stddev: 15.48, + min: 187, + max: 506, + p0_001: 187, + p0_01: 187, + p0_1: 219, + p1: 231, + p2_5: 236, + p10: 243, + p25: 250, + p50: 257, + p75: 265, + p90: 273, + p97_5: 285, + p99: 293, + p99_9: 484, + p99_99: 501, + p99_999: 506, + totalCount: 15464 + }, + requests: { + average: 96.65, + mean: 96.65, + stddev: 4.25, + min: 66, + max: 105, + total: 15464, + p0_001: 66, + p0_01: 66, + p0_1: 66, + p1: 88, + p2_5: 88, + p10: 93, + p25: 94, + p50: 97, + p75: 100, + p90: 101, + p97_5: 104, + p99: 104, + p99_9: 105, + p99_99: 105, + p99_999: 105, + sent: 15489 + }, + throughput: { + average: 33733.1, + mean: 33733.1, + stddev: 1473.98, + min: 23159, + max: 36645, + total: 5397061, + p0_001: 23167, + p0_01: 23167, + p0_1: 23167, + p1: 30719, + p2_5: 30719, + p10: 32463, + p25: 32831, + p50: 33855, + p75: 34911, + p90: 35263, + p97_5: 36319, + p99: 36319, + p99_9: 36671, + p99_99: 36671, + p99_999: 36671 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/third.txt b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/third.txt new file mode 100644 index 00000000..f5b33684 --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/postgresql/autocannon/third.txt @@ -0,0 +1,94 @@ +{ + title: undefined, + url: 'http://127.0.0.1:3000', + socketPath: undefined, + connections: 25, + sampleInt: 1000, + pipelining: 1, + workers: undefined, + duration: 160.13, + samples: 160, + start: 2023-10-26T19:43:31.267Z, + finish: 2023-10-26T19:46:11.395Z, + errors: 0, + timeouts: 0, + mismatches: 0, + non2xx: 0, + resets: 0, + '1xx': 0, + '2xx': 15210, + '3xx': 0, + '4xx': 0, + '5xx': 0, + statusCodeStats: { '200': { count: 15185 }, '201': { count: 25 } }, + latency: { + average: 262.43, + mean: 262.43, + stddev: 16.21, + min: 179, + max: 503, + p0_001: 179, + p0_01: 183, + p0_1: 209, + p1: 230, + p2_5: 235, + p10: 245, + p25: 254, + p50: 262, + p75: 270, + p90: 279, + p97_5: 289, + p99: 300, + p99_9: 478, + p99_99: 503, + p99_999: 503, + totalCount: 15210 + }, + requests: { + average: 95.07, + mean: 95.07, + stddev: 3.81, + min: 75, + max: 106, + total: 15210, + p0_001: 75, + p0_01: 75, + p0_1: 75, + p1: 84, + p2_5: 87, + p10: 90, + p25: 93, + p50: 95, + p75: 97, + p90: 99, + p97_5: 102, + p99: 105, + p99_9: 106, + p99_99: 106, + p99_999: 106, + sent: 15235 + }, + throughput: { + average: 33179.75, + mean: 33179.75, + stddev: 1322.1, + min: 26300, + max: 36994, + total: 5308415, + p0_001: 26303, + p0_01: 26303, + p0_1: 26303, + p1: 29327, + p2_5: 30367, + p10: 31423, + p25: 32463, + p50: 33183, + p75: 33855, + p90: 34559, + p97_5: 35615, + p99: 36671, + p99_9: 37023, + p99_99: 37023, + p99_999: 37023 + } +} diff --git a/docs/performance-testing/RND-658-raw-data/postgresql/bulkload/raw-results.txt.txt b/docs/performance-testing/RND-658-raw-data/postgresql/bulkload/raw-results.txt.txt new file mode 100644 index 00000000..de19a10e --- /dev/null +++ b/docs/performance-testing/RND-658-raw-data/postgresql/bulkload/raw-results.txt.txt @@ -0,0 +1,7 @@ +Bulk load - raw results: + +00:01:33.570 +00:01:33.881 +00:01:33.208 +00:01:32.180 +00:01:38.753 diff --git a/docs/performance-testing/RND-658.md b/docs/performance-testing/RND-658.md new file mode 100644 index 00000000..4141b840 --- /dev/null +++ b/docs/performance-testing/RND-658.md @@ -0,0 +1,52 @@ +# RND-658 - Comparison of PostgreSQL and MongoDB performance + +## Virtual Machine setup + +It's escentially a **t2.2xlarge** on AWS: + Platform: windows Server 2022. + Number of vCPUs: 8. + Storage: SSD with 80Gb. + Memory: 32 Gb. + +## Procedure + +For PostgreSQL and for MongoDB we'll be running the bulk load script and Autocannon tool. +For the bulk load script, we'll be capturing the total time taken. And for Autocannon we'll be capturing: + + 1. Successful responses: 2xx. + 2. Non-successful responses: Non-2xx. + 3. AVG latency. + 4. AVG Request. + 5. AVG Throughput. + +## PostgreSQL + +### Bulk Load tool for PostgreSQL + +AVG time: 1:34:318 + +### AutoCannon for PostgreSQL + +For Autocannon we have set 25 connections. + +Ran the tests/profiling/AutocannonSchools.ts script for 160 seconds with 25 connection. + +| | 2xx | Non-2xx | AVG Latency | AVG Request | AVG Throughput | +|------------------|----------|------------|-------------|-------------|----------------| +| 25 Connections | 14926.8 | 0 | 267.544 | 93.296 | 32561.28 | + +## MongoDB + +### Bulk Load tool for MongoDB + +AVG time: 03:28:191 + +### AutoCannon for MongoDB + +For Autocannon we have set 25 connections. + +Ran the tests/profiling/AutocannonSchools.ts script for 160 seconds with 25 connection. + +| | 2xx | Non-2xx | AVG Latency | AVG Request | AVG Throughput | +|------------------|----------|------------|-------------|-------------|----------------| +| 25 Connections | 895.6 | 0 | 2319.514 | 5.414 | 1888.624 |