There is a range of plausible contract expiry scenarios that we want to test the performance impact of.
The load parameters are:
expiriesPerSec - How many contracts are expiring per second.
autoRenewFrac - What fraction of expiring contracts will be auto-renewed instead of permanently removed.
storageUsageDist - The distribution of the expiring contracts' storage usage.
assocTokenDist - The distribution of the expiring contracts' association tokens.
ownedNftsDist - The distribution of the expiring contracts' owned NFTs.
Solution
To validate performance impact, run a mixed load test with ledger.autoRenewPeriod.minDuration=100 and autorenew.gracePeriod=0 with all load parameters set to unrealistically challenging values:
Problem
There is a range of plausible contract expiry scenarios that we want to test the performance impact of.
The load parameters are:
expiriesPerSec
- How many contracts are expiring per second.autoRenewFrac
- What fraction of expiring contracts will be auto-renewed instead of permanently removed.storageUsageDist
- The distribution of the expiring contracts' storage usage.assocTokenDist
- The distribution of the expiring contracts' association tokens.ownedNftsDist
- The distribution of the expiring contracts' owned NFTs.Solution
To validate performance impact, run a mixed load test with
ledger.autoRenewPeriod.minDuration=100
andautorenew.gracePeriod=0
with all load parameters set to unrealistically challenging values:expiriesPerSec=5
.autoRenewFrac=0.6
storageUsageDist=Mult([100, 10k], [0.99, 0.01])
assocTokenDist=Mult([10, 1000], [0.99, 0.01])
ownedNftsDist=Mult([10, 1000], [0.99, 0.01])
Alternatives
No response