metacatui
metacatui copied to clipboard
Improve performance
MetacatUI has a number of performance-related issues that either negatively impact the end-user experience or are otherwise problematic. The full set of issues that affect MetacatUI span multiple components of our systems including MetacatUI, Metacat, and our search indexes. This Epic is a place to group those together.
At a high level, there are a few main areas where performance is an issue:
- Bundling: MetacatUI makes many network requests where fewer, larger requests would be faster. e.g., Optimize the MetacatUI application JS #224
- Back-end API Design & Usage: MetacatUI sends many Solr queries in order to render various pages which can be slow due to how browser's schedule requests. e.g., Use Solr 7 features to minimize queries #1356
- Indexing: Indexing is slow enough that the user can get into problems with timing. e.g., Editing dataset before resource map indexes #610
- Packaging: Downloading large packages is slow and can take down a member node in certain circumstances. e.g., MNodeService.getPackage() takes too long for large packages #1167
- General Performance: MetacatUI suffers in terms of browser performance (ie layout shift). e.g., "More info" link missing from large datasets #1390
- Landing Pages: The majority of content on dataset landing pages is fulfilled by a call to the Metacat View Service and, for larger metadata records (e.g., many entities) this call can take 10-20 seconds which slows down total page load time. Provenance display can also take a long time to show up.