Story #13110

[WebDAV] WebDAV performance enhancements

Added by Tom Morris about 1 year ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

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 /usersNew

History

#1 Updated by Tom Morris about 1 year ago

  • Description updated (diff)

#2 Updated by Tom Morris about 1 year ago

  • Target version set to To Be Groomed

#3 Updated by Tom Morris about 1 year ago

  • Description updated (diff)

#4 Updated by Tom Morris about 1 month ago

  • Description updated (diff)

#5 Updated by Tom Morris about 1 month ago

  • Related to Feature #13272: [keep-web] read/write support for /by_id and /users added

#6 Updated by Tom Morris about 1 month ago

  • Subject changed from [WebDAV] Cleanup writable WebDAV loose ends to [WebDAV] WebDAV performance enhancements

Also available in: Atom PDF