praeclarum / FuGetGallery

An alternative web UI for browsing nuget packages
https://www.fuget.org
MIT License
683 stars 121 forks source link

Cache files locally #152

Closed MarkPflug closed 2 years ago

MarkPflug commented 3 years ago

This restores the work that @praeclarum did in #144, which were undone when I added the download optimizations. The local caching should still provide a performance improvement. Caching of the zip archive table of contents, while the payload is very small, avoids 3 HTTP round trips required to discover the location of the TOC.

I'm slightly worried about what the behavior will be when the local disk eventually fills up. I think the behavior of the code will be fine, it should revert to pulling over HTTP. The full disk might lead to other issues though.

These bits can be previewed at https://pfluget-test.azurewebsites.net/ which is running in the smallest free Azure service plan. First hit might be slow, as the service will likely need to start up.

praeclarum commented 2 years ago

Sorry it's taken me so long to get to this.

This looks great!!! I'm so excited. I share your fears about the ever-filling disk. My hope is that because we are only using the temp directory, and because this server fails over at least once a week, the hard drive probably won't ever fail. Mark my words.

echoix commented 2 years ago

I think the disk full situation has arrived 😢, see #163.

I stumbled here since I wanted to search a package and didn't work (first time here). In fact most packages can't display anything at all now...