Project

General

Profile

Actions

Idea #13110

open

[WebDAV] WebDAV performance enhancements

Added by Tom Morris about 6 years ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
Story points:
-
Release:
Release relationship:
Auto

Description

From https://dev.arvados.org/issues/12483#note-38

  • Cache filesystem objects in keep-web, instead of rebuilding from manifest on each request → less time, more RAM
  • Reduce memory use (e.g., pass keepclient pointer into storedSegment methods instead of keeping a copy in the struct)
  • Incremental loading (don't populate a dirnode until someone accesses it)
  • Cache/evict partial data blocks
  • Test/benchmark using a variety of webdav clients (Windows, linux davfs, OSX?)

From #13272:

Cache the filesystem layout, so a sequence of N webdav requests with the same token and same/overlapping paths don't need to retrieve the whole filesystem layout from API server N times
Use a single cache entry for any given {collection, token} tuple, regardless of whether it's accessed via /c=UUID/, /by_id/UUID/, /by_id/PDH/, /users/alice/foo/, etc.


Related issues

Related to Arvados - Feature #13272: [keep-web] read/write support for /by_id and /usersNewActions
Related to Arvados Epics - Idea #18342: Keep performance optimizationNew08/01/202305/30/2024Actions
Actions

Also available in: Atom PDF