-
Notifications
You must be signed in to change notification settings - Fork 63
LW-11077 perf tests asset provider server #1412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LW-11077 perf tests asset provider server #1412
Conversation
|
23a30e5 to
9d22947
Compare
ginnun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Despite the failing tests, LGTM. I left a small comment.
contains id (the assetId), hasMetadata and hasOffchainMetadata info. 100K samples total. 50K without metadata. 50K with metadtata, out of which 350 with offchain metadata.
9d22947 to
9e97339
Compare
ginnun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work here!
I am planning to use this for testing the new BlockfrostAsserProvider implementation,
iccicci
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent! 🚀
9e97339 to
9ad6b0e
Compare
Context
TypeormAssetProvider does not use any in-memory cache.
We must benchmark it’s performance and possibly optimize before we deploy it to live-mainnet.
Proposed Solution
Prepare a large sample of mainnet asset IDs (e.g. 100k asset ids)
Some of them must have nft metadata (at least 30% of assets)
Some of them must have off-chain token metadata in the registry. Currently only 350 are included in the sample.
Each run queries (/get-assets) some # of assets from a big sample of possible asset IDs.
The number of each type of asset to include in the query is configurable.
Multiple test repetitions are possible
Important Changes Introduced