[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

GSoC weekly report of Distro Tracker Improvements (Week 10)



Hi,

This week I implemented a cache-based strategy for improving the performance of rendering distro tracker's package tables. I opened a Merge Request with my proposal [1].

My proposal changed distro tracker to use Redis as cache backend.
For each package, I'm caching a hash for which the keys reference the column type, and the values having the html to be rendered for that column and package. Thus, if a package appears in more than one table, we will reuse the same cache entry for them.

Although my proposal considerably improved the performance, Raphael Herztog suggested some design changes related to cache storing and cleaning. He mentioned that we want caching at two levels: one at the cell level and whose invalidation is managed properly by some code; one that expires relatively quickly at the row level. Also, I need to provide an efficient way to invalidate the cached data.

I'm currently working on this ;)

[1] https://salsa.debian.org/qa/distro-tracker/merge_requests/44
--
Arthur de Moura Del Esposte
Software Engineer


Reply to: