dandi / dandi-archive

DANDI API server and Web app
https://dandiarchive.org
13 stars 11 forks source link

Idea: Establish set of core benchmarks for backend #1148

Open yarikoptic opened 2 years ago

yarikoptic commented 2 years ago

Inspired by #1134 although not sure how feasible/easy would be to reach such a rich state of the "benchmark DB" to see the effect.

Whenever https://github.com/dandi/dandi-archive/issues/771 also mentions benchmarks for the end-to-end setup, here I wonder if we could gain some basic benchmarks for typical operations such as "list of dandisets", "get metadata for an asset" etc and react on changes to backend which make benchmarks going slower.

Wanted to mention the solution we use in DataLad:

waxlamp commented 2 years ago

This is not a bad idea but I would say it is rather low priority at the moment. Agreed, @yarikoptic? In the meantime, perhaps we could work up a list of endpoints that are performance sensitive in some way.

Part of why I think this is of lesser importance is simply that we've never noticed the poor performance of the dandisets endpoint before. That fact means that the low performance of the endpoint wasn't significantly impacting anyone's use cases. We should still strive for eliminating any deadweight losses in performance, but at this stage it doesn't seem like going to the effort of installing performance monitoring would be worthwhile.