Skip to content

Commit

Permalink
Merge pull request #1933 from input-output-hk/jpraynaud/enhance-trans…
Browse files Browse the repository at this point in the history
…action-prover-benchmark

Enhance Cardano transaction prover benchmark
  • Loading branch information
jpraynaud authored Sep 13, 2024
2 parents a248dd9 + 4ccc70f commit ebb4030
Show file tree
Hide file tree
Showing 5 changed files with 231 additions and 4 deletions.
1 change: 1 addition & 0 deletions mithril-test-lab/benchmark/aggregator-prover/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
benchmark.csv
33 changes: 29 additions & 4 deletions mithril-test-lab/benchmark/aggregator-prover/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,32 @@

This tool will run a set of benchmarks (based on [Apache Benchmark](https://httpd.apache.org/docs/2.4/programs/ab.html)) on the aggregator route of an aggregator given a list of transactions. It will produce a CSV file with results of the benchmarks.

First set enviroment variables:
First set environment variables to benchmark:

- the `pre-release-preview` network

```bash
# Aggregator endpoint
export AGGREGATOR_ENDPOINT=https://aggregator.pre-release-preview.api.mithril.network/aggregator

# Transactions file to prove
export TRANSACTIONS_FILE=transactions-preview.txt

# Transactions proved per request range definition
export TRANSACTIONS_PER_REQUEST_MIN=0
export TRANSACTIONS_PER_REQUEST_MAX=50
export TRANSACTIONS_PER_REQUEST_STEP=10

# Apache benchmark total request sent per benchmark
export AB_TOTAL_REQUESTS=500

# Apache benchmark concurrency level range definition
export AB_CONCURRENCY_MIN=50
export AB_CONCURRENCY_MAX=50
export AB_CONCURRENCY_STEP=50
```

- or the `testing-mainnet` network

```bash
# Aggregator endpoint
Expand All @@ -12,9 +37,9 @@ export AGGREGATOR_ENDPOINT=https://aggregator.testing-mainnet.api.mithril.networ
export TRANSACTIONS_FILE=transactions-mainnet.txt

# Transactions proved per request range definition
export TRANSACTIONS_PER_REQUEST_MIN=1
export TRANSACTIONS_PER_REQUEST_MAX=3
export TRANSACTIONS_PER_REQUEST_STEP=1
export TRANSACTIONS_PER_REQUEST_MIN=0
export TRANSACTIONS_PER_REQUEST_MAX=100
export TRANSACTIONS_PER_REQUEST_STEP=10

# Apache benchmark total request sent per benchmark
export AB_TOTAL_REQUESTS=1000
Expand Down
1 change: 1 addition & 0 deletions mithril-test-lab/benchmark/aggregator-prover/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.1
100 changes: 100 additions & 0 deletions mithril-test-lab/benchmark/aggregator-prover/transactions-preprod.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
bb6249eda23a30470d0cd1a43e1f0b0ed05e590a310b6de62536d4fb64fb01a4
0b7cfdbd747325f831c4d1a21b9c59d415de9f4d024f773d18690337db927793
8c809d4512b965dd382c9c08297f298ed96c66871437c4758441d8edad14e905
ed4dcf78127c117f343982e8df013f4e4ee465d42bd17a611abc08aa0b954e33
a30adec1f68bb3bc36569dab645847d061eeab6860408e1de952cef0812b137b
2ee2eaec514a8187163737c8381e9df2dacdfecd10f1aa29c667fd9d233f72b6
5e6fe13d5e756c640b050df3d4cf5994dfef6b0b3f4953fc5a1c69a9035de6d8
5409bd634b2fa015e8c2f033a2f2dab6c06ed7b03e88d309cfdb8b6574e31363
d2940b36668eae2121105465750a1075371422b80281c1d18697e6078b5707e7
b7c625d953f20a1f1fb70f8966dc235e59b04d58e3b5fb17f4c47fcc525094cf
dbe61db97a7167566c5b09ed1f8b364c31989476be302be71d90c7997e86e8e6
95cd2070c7997e9a6391fec9e322f0f0747d121bd71e718fe1d1e8a8363a274d
f743a42964ed7e1a3635b70c20e8e3448eb52bf49f7a93b471ab5a941376c76e
064ce75dce82720f5e36188619ebd05327d0378962d15f716721c26065e526d8
bf404ba7a8d8848a4949936893782db99eff7f6bc919ea1114425ce4f817b520
00cf9341271a8f3615a1d3746a34967573e2fbab2906a67f5b91441dea4de74a
9571bdbadfd07835789cdcf2db9788ff0e9bae0f8150fab811cd68abd6237895
2dda32424d352143cbc945b9a0fe0c464d805abd54cd30a9cc08b81a0aa0117e
9501e877933b78d7b190094cc9fb9fd54716e553a568d3f3eead2c46d244a42f
52cc1d4a4cc3eccc9b9de9d7009992d61f8ad94c13837fd9deb49a0d259686c5
ff85f3ad82cf5b0d14e8662eb243286119f7efd0f3a71158a9c562a48e61a76f
eab8f2031ca1c1260d610b0ed63f8d72cb870f2b36c95ed25c60dc2267f7770e
c353f01c31fbd57060534463d6d38d38bfd291a26954fbbe7cb0e87a22bc214a
0d22407ab591e82033d71f254c97ecdbcec1694267e3716b8539ddaf6a4934d7
8b44fba7f2c689cb1e5d01e410879f183cb99db6abd9682ab1e054b31bfc2235
462e4bcc2889c61b5adba8438b92e0fa170c3b39b1b80c9c441764293e563466
4a615588d5b82886ca528b408c13ca9c3514b555c7e53f34fcd616e03b4d1f82
55c01c210d5b6fa4d75d57fa8db21c00f20727f50225ee95d93a457bd0516f69
8f793ec00ca1369c32ed7aeca47d2a4d82cc8ed193296e24330780c3623e55fa
a616f9fc4be792b203fce9caddb42e1ab482b7b4bfd2fec6e7ebd3b6f7159d0f
0a87666672e83e8a274da1235f8401f4653704b987730e41dcc86c5b19e96f3b
4a53882c2639df06d66e57ea47f2a1dc96deae94d2449b2ea59945b937c0e93b
73a5d3cf24e24897a9518104edacef91476998e25541a1731e6bdd299511f40f
f41e413a9715abf626eda9410a7a397f724d80854f71ff88671e6b8637f5aa47
c7ac458d8aaff15e1c02c6e478370ae329673dd8e3992ec43bb57fb421005e49
68c7c1d8db812f04bc67e93bd9081702f4bf4f89071ae2eaae874cfb362d6a0b
8434c7b187d9b1b428acd8bcc390e882cdffbe1b626b3511fd4a9f9b0b20de9d
ec98310942015a68c93a545d814e26d798bc384fd04c84a3a209224a44c5fd05
85dda6fabbdcfb2a0a15194a40152c739b5946993373d3f56f7bfdc238d6c62a
b7e84de21cc63a89a054f836681dd49d2a1cb5f8dde059914c1c75add3f4b35c
c091a6e85118545761cbd67410998558c9f00be482754ceffb28dc9aa0aa8830
e9d765dcc142f75af8bd529d5ca51981eca5589a9e11662ef7981e1b1ca37031
4129e561cc36f81d0c7ade0e7d86aa129138a418087f724640ce7b481fbe3237
4171f24d86cc9295508034ca9a1070e27454fbe0e542cca92f17d48c8796c064
a402633c181f6ba5893925056533c4085dd893491959de7bb45dc827ffc54586
9f8d4782714b093a8d6bfb722dd5e53993c9f79c6d60ce21eb7ae3c68043ec0a
008a186b96b27ae0be9a370e94cf7276416a4d2b9e1caf40cedf1e2ab55fa7fb
edf1b447e49783146e13e72d9a66e3efbcb2a7d27e012981b18464013451131b
84ddc98f5def746ff5b298ffc3672d1ce0d78cefd8508f538cc97a83fda07479
0000000000000000000000000000000000000000000000000000000000000000
d72032d16ada2500bec05205564078b44892c9c5b4562f79c8a9ca58bfca7f3a
d51d8d5b2cd156473587439d119f2c817e9d550658543f521b840f0867c412a6
a69bce0cd35c0692a51c22b6381002eec2a6ec96f302b2fedf26d1dfbc94dd33
26a1851276e86d7bdb84463976f51387d850a0cf858c56195636941b3f9c7816
28d63c7a7889698fb4f35520095931ead637556778e8c089c1e45a050a344c63
aedfce505943c51370a295eb7200228c1a24bbf77784480740f773dce72e1c78
0baab530ae957fcab535d693cac82835e8317d6030986c5b233c3a96a27b42bd
2fed65fe1d3e6fb832213d471f28cd5d480f0a70309f50d1455ea2f617d5daf5
4dee3ff4a51a19a33052acef7f40bfd6214b8cd480fdca3d2c2dcaf8738c6130
ab4e81a6262c961a6edae021cc9548c31c5b6073b647d63542fa4c3cfca386a5
99eb2c2176478b2aa07c1d0561870551e0cef40730c9d9e3931e982279be5e78
8266452fd31f340527e18e374d95f69a1b21acd25fd3eb0e6fe5a4005359797c
8fb233639f44d146c26c1c04df9bfb7cafd5de6f021a8ccdc2cc5ffc584f256d
d16fab2eeea29a0487b5fde4b1c971e8b15ca710c3e6543a33d4ec5726a1fdbd
ee6bd4aae3622d20593282e90a57456a72a20d08e53279a049993fcbf94fc2bd
6186aa9cacb15b996b2ce1e372b6affb398ded5a974335179612caefc409e687
dd516cc27b315e0dc258fa7ede05155f04f55ce8fea8410d1594ff1578e051f5
a706f2d219222db96e836f20e7b84eb478aa91915d3cd271ede23e2f00ada298
4ea9277727675e7b8f9cb385e1e2f1988b2b6bcf9f02e159909e18ec694d8386
f7f9f5ec50fa9130b726f3a16896175468b2e46aaeae5aef0a12532f114a5fe4
3b40b9da049e17474cbc06704381f3527294e055baed80335919c3d197e21f72
b217bd6f748be891b18abc95121555570b757a246b483a537f68ab83a87f30d4
79610ebb0dc145f7c387e3d00d2f5e4f63cf3fc2c692f4b8d4081e3f8ddea3e9
1f8a2132162e1ee5d35c3e6426a37841303687095b1efe56cb7aa4a254e43525
6d22f60f6a9728ee4e9223f8e3fbcbc8cffdf2b3547de2b810f556b9adde7d81
95193b15d28950224cff5a6d22bf3d886add75bbc5e3e91669e2be343d2bb1da
29a1c2f355d48317a55507de121f355608c76e2141d428907c6b1cf80140dac5
920c46fb233e1bb90126d6cd8b6505da1ee743b20975e69140be33e1e9cc683d
ed6ab7fc89ceda2cf8972c2e1dbf800c5b90e6e1ef8efd8868a930d13f26c2d6
99d2c111161268e2c7b67e23d903ac40c502ffe7c74fddd0e0cb209f4b4473e6
8ef6269cac110e9de596b356efd96b2303931d06cb2dd71e0242910f6efb21a4
cc0be20033606c60b3b0edc1627cba2d32d8030a669028ec5274e226465aa498
8aee9eed68507d8f24e8ffde977a3a7fc2ec2f9b7821681ed95b3aa2c3696dca
03a238aa5dd758d0eb354be1b19a51a4d3ec69b906e474b5ec181885e7c9a69e
a8c504c4c2e9643e652f82f9ded71ce724c52f1290ea9dd8281a2a049fa95e8a
7f0c4b53ddd70f9bd42c6be84bcd6e7b014b1deb2ca354255a50797581058589
01f6d9d6e91271f0ec7950d10ab716a0232cf58928af93b6580652fdbf9b345d
18ea54a69cea68facbf001254f8f5250edb6334f0da959912367498b69b58c03
d136769e9e0c7e3a21d6111620a8a6c88daa29d2eb870538288b3daf77223335
9be60ffe1d719d9ce7655690791b6d15dc374e7bc6384c4c3f5da0a9a8bdf9c7
47b450278837f2a34c43b3433f60d7c1f6e4c0c47873d400bed6074a1f285a5e
c4aacadbcfeae1211e8f57c94d1055b3116322168bae78e5bf2dd4de6eabef68
7e615fb4bb39234be33748e0926a186f04ec6756fe366713afc5c3f416d2fb83
86bf10061e992259bba8ffca4010fd92708408397a6bdb93d40cb4f1be318e70
47490c863bbaf22e0cb01b36451728ba82297c35d00d08aef7f928d5a55ff11c
a2795fdf43464ce29b2b8a4566c3cd5697bbc4e65dceffaffef002ccfbd3c0aa
4689cd3e2b7b0dccd103707e16fe9c436a18474b6a3ff6f3250b63e19d0b03a7
ec61b5bfa25c1ff20c6b5a792c2159e5d6ad57db570e5810dcd50a2e35cfd76d
8439d41c4cf82ce172feaae2e888b55d4fa3a938ca79b92e908e88227695e65d
1111111111111111111111111111111111111111111111111111111111111111
100 changes: 100 additions & 0 deletions mithril-test-lab/benchmark/aggregator-prover/transactions-preview.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
7643b7f9ec85e3b5063ac4bf48b1c1855cd2dde2b153cace53c7c5760dd0d2ce
5f4377edd86ae48c9adf46f5cbc54d71872f2294392691aafff0b82efe62df72
c120a2a8820cb8c08443e83e245b54b057738f8f267df44c5ebabc37428a509c
d9f4b846760ca739d8367e3713fdf6527fb48783de75d9fa76480b8d305c7ce0
89eebfb98cca45c28a3419a325de7a881cabd76e98662b08c94d96f07515e3eb
1410fc6b00ffa092c06695b51508c8681a547e7741ed8fb42b1c6758985818db
60762027b48dac015c0ae345ca021b958d6414f56b00eeb7893c99cbe5a5f9c8
81a12e8649320e9a7b0f3456fad01917f5522418c373e73d83adeb167c39a7b2
06e3521ac1cf183c0de6527597842e1cae3db72bc75ff2e8fd04e3ab3bfd8394
666afbef780e5d9ea564318f899f0f4af5d23381bb87ef7d63dd36b479e64fc6
f02af1e8cbb5f4495ee4fec505c2c97c9b8945fa8e73e3a5f4a9dc4a32c4a147
daac0deed0871315bfcb3f648f552542fb62b5dd92b0f565482b5f959659248c
a2d295810ba57dc23aac468e16809c0744be64366c3b7aa80e93e18831d23929
472f2e8b2ed5965d8899118dc6eabc5d366d96f34cf6941ebd702ca9de88c265
457aadf2609cd44d022707d7b9c648aa145d4f6e91e45f59777cec0b5d005b59
b220f72c50e2f2d250c7012ce5046edf9392babd8514a6741fad6d61b2fe414b
78fbf739e2737ded638b20fe134dd8abb051ab46dcfb0d5c1836632ff54eb9e0
917da9c0dbf52c59cfccbe5daeca094fa36f52e8c75c6776baa4040617c49828
c2fdb4e413bcc9e2cf6199ca380e824493a11d8889ca145ef38abe6e6e016897
328c288c7703ed05bcd71fed028689f102c8a873ec5475a04b4a50fe67657d8f
217e8b12a80ae139c05f65e6a9b0f83954558d8b85c0d9c5bad76c0225eab5b4
40cebe503aa0137aff67d92c3c117bee57d5e0bb250848091aa9455a8169a900
69201bb5dddac18009f5ac84234c9fedd2eb7ba286896a834b7a76ac625060de
6bc1784073e1415e689a74be112859ae708d5b92e9682a87df93e657dbdb04c7
db8910aedf9b197dfcef5ed5659dc559e948a6cefddf14fa3b1ef06f084a872f
6c9519f933a6aed578444c4ee57d838a751db2eb143b131d418acbe5606043b1
b61f8bb8a255543da3e2a4ece5e92a473187a7cb3fcf28061738eaa9dd9cb3d9
6f48e97d6208fefd6b28c8310ec3874008035292365f1ac3f253873b6e2611a3
d8c380f06ebca14514e8eb64ca148e1785163b61246ac0bfd02ab06662c7b5c7
d886777356822d6249b31097e2d346764da6caf55c25d73d4ad23ebe2cc2b65c
705293303b91c76ec6564edfb23602111bfa795034a7b8c91c3aa11adf6415dc
ec66798c1f76b5307c11440f8b1fb6123333737ab40f4fe620e3a8e4cb4f61b8
91c857894a912ebcc2b49242d64606f4f43b19e1ae45f2dcb47469dd15d6d72d
512a60984f74c9bd6edaf76631f3111f936745440ffcf5651c68e5b439037236
6eacf9f6ae0f5e0016791f4442d6449da3b59d6402d6c5a3715db8f8548c1c19
787803d13b5d9efce6351ac4bcbf29437f7b3704531daef82f6d7190e0c71165
826161793894a2b4c5d556fdfa9758ad31aee8e4dc23c4569e101e822278086b
07b3603fbaeebec791a10bfc0fb7975cf6932b103335446d6337429af1c451c7
5479600d2487ad549b74f428a6f302884eb8dc06ff0ac2b4436c4e9e353d0dc4
3ad483743ee3f58fbed2257979b88ee231250aae99734c0af65c870199b7487e
1f7dbc899a898ceb4274bbc33b31ca5f0de497753c6c6795fa34838fc252de9b
937c5eb555c5daa34090e39c70e7799388272015750633aa8869bf68f2586e95
9a22863eb46f211953317ad9a1b405a6c5c037c106d29ed4fc8719557ebc6e52
25cc958ba5769cee05ef971092661584ba4b0940a27edaeb9c43e87a8918d00a
1b2733817de6d94e14469a7af0d674b76a323f169d128643ec1d62f13a6e5afe
1dccc75ac346b6b7a30c13510fd29b90edb4cff0daddd05721cdac173c6c75e1
826c70d4300eb7813524d982aece05d65058261c1a6cb5ba029c1a0881cd71da
fdb05b02abce8da870a5f337903ca95b661e439a18d751e79cf3bbb82ca79e36
a217588822b1d431f80d9bb3443807d79d1184307631a98f00872f3ee984e4c5
0000000000000000000000000000000000000000000000000000000000000000
22329abbb4fbfe69d4b96e49acf2777e75378e65f62664b2e5930351ffcca155
12e93dee7c4338c662e55bab7fb6318b4a0a5075001354b472515ddc363153cb
f4778c573a00a884e768b207a837d36dc02c5a03ab575320e59a7505ab038378
c544d51c7dbed577bcd1d124482d22b03468e7b6f6249ed81ed5c60c73832184
b7ba62c099b09931d46406c4194be241bb5b03c6a935d347eb90a4d355598340
46c15fd0bac8ed7724851e92074db50c6879fe12a3e3352ae0eb92ea2e42815c
476b70373def274898ff32a95b6c00eecaff6db1937aec328d055121f84e39b8
0a29693d3937f6ff2188ee10ca09bacc60e88e1b9c58ae065a37b4bdb59baa33
d3838ae745db22d17904f590f64aa5229344ac3050a8dedfeee2e37a72ebc01d
5ffe70bf61e44e8c9c1acf3a7f94894955a4444d4743504e87962e62eda81149
1090b88452116e9207d0b792db755654490cac46ce61366ab133d809767dd2d3
afbe387bc170d5ca273e0cd4e2d504dd0d739e927ef44a586744d42e80f428a3
7ecc681ad1740bf15f5baeba9ff3d2a3b40c6bca7bdd6acd404e31241dc3f129
35e64f4746ff3b73b27a57af9810473505b109acdd626381db7bda51a4f0198d
7da3e71037048f8d641fe0106374f837e4e2e5dc67c2f257dd19212f07f139fb
8f12fd20d0db86b165871abe3277a3427a81b94c40e5ea3417d52eb6cfa95826
64cb3f7f7592b638d6d98b23e23913da7da0e0dedf0ce34d1653745f125c11fe
c43e809de628f7c1ba41a44f188ed3872bb1f97aa101271e35424a8e1d95bea9
40f32c2acdcf7f7ba394262c628eba390c3a2f086e16d2ec2de4a0aa074d8d3d
1345a22c3d5c767bdce7dae28db7b1fb403a0e9eed84ecaadb328d85ce2febd9
6afe318fd1d2197582764d3092be8cff854e4739c25603633ad105da0dcf8116
9e65deb5226851b6caa7659c5db4b559f2ff9f4c0eeeee7b25625409987753c1
22215237af6b21875ccef5c69acf893ed51e9f7c32a24c99c8a82c406c66ac75
5c34aa17917356de32b2062e9ce58e39e2e61b57a0a19cd44a0cf09c3fd85661
650add3bb96a42b9f93a61a71673552774294f20b1c01b4b7cbbafbd636ef361
d52ac5f1338cfc5b490daa6e32303b10218324013618dc00508765edf6c5228f
f52e1bd3d91911354b2ae1c1d59fd3557ab82c70560e41ff3992246f4b02cdc0
9d43b1f3a652bd1d0197fe46767e31dd339913d6dff1e494b54984428220b43d
8e77dcafe7a46392ded3906a7ef929a476530d3f5337ddb6d5c42544cfcb0376
ec818bf7fab486582254df69f100321e84c00f1c2be03fa9ce94297269b709f3
e04e3654f85246db4748f5c5fc25e441640d0d580a5bd328a8d33f888f3ca7b0
cbd035acbc54f458bef1f1a37b541bd711c388a8ba96155c432703008685f5b6
cf131536122c13bcceea0e58b9692199d118a41b3623a4ff1d0ddd6ec89a66a0
86216a8717724c3ee2c1df6508495a9eebbea969589e6e8a81375f191c0601f5
19b33f427fb2ac856dea89e4d9b3df2ede81fb3b29f4c0b36c368c405aa8bd0d
7f310828ec17b3cbbdea7a46eec4df029e219a058bc8d46504416e5bf6dd59e5
b64f636dfe9a6c162374f47d67f66749c0c639cf6b9c0b7f7029c2fd39f7629e
3ad015e388cd1c3fc1e8d2b2cd890d137dee3dccdc7d5f76f3a45b14afda6dc4
62a98e06987c470f0df3923bb1f972bc12a943ae3bb7ac4601e499c446ee91e8
998618ae9555f72963591811da43143f63b35830800ae9d5349264d031317eee
c61e22ac4a79a02b28ed36217369ff6959465790a4fe9e66738b7a820e174fcd
ececf9a67080aba8accce6db170e8999fa8a49ff42d635a13e995e91a2f0a36f
ef8fd82ee2e1005ed55013a458bb474765c18dc0dd450901a97d7f2bf7d88c73
7936af1d89b8016176548a38d974b2251e2e71494e7f583800e902b25906f5d4
9a4734188c796c9338cac5a484c2d89977367831b47916068aab4d86937f90d8
b649fd27f38a0ba005836da54df4d68cd598027b3f59b7d65bb766e5ab979f08
40141ea799d33407c51b697f7c6c3de393df893e0cecf6cfab0375c6925e8491
c5871289de492d77ddf0a9bb6e0d9da6c053bd313b639144cf1fcf9603c7fa74
da872ad668673d60ddbbbbc43dde47886a796e50ef4dd970e444057b8f8f24ed
1111111111111111111111111111111111111111111111111111111111111111

0 comments on commit ebb4030

Please sign in to comment.