Uploaded image for project: 'CritiqueBrainz'
  1. CritiqueBrainz
  2. CB-162

Performance problems related to MusicBrainz web service requests

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: High High
    • None
    • None
    • None
    • None

      Most pages need to load data from MusicBrainz. Stuff like release group info is need everywhere reviews are displayed. There are places which need artist info or search, but these are not as frequent as release groups.

      This dependency causes significant slowdown on pages that need to load a lot of data. Since there is no way to load multiple entities in one request from the web service, we have to make a lot of requests just to show several reviews. This is what happens when there's one user; under significant load website might become completely unusable.

      Current solution is to cache responses from MusicBrainz for 12 hours. Though, in practice it doesn't work very well. For example, if cache is empty and multiple users might try to load different pages of review browsing section (https://critiquebrainz.org/review/?page=330). We have over 330 pages with 27 reviews each (that would require making at least 27 separate requests to the web service).

      Wrapper for python-musicbrainzngs and other code related to this issue is located at https://github.com/metabrainz/critiquebrainz/blob/master/critiquebrainz/frontend/apis/musicbrainz.py

      So far I couldn't find a good solution for this issue. Any suggestions and ideas are welcome.

            Unassigned Unassigned
            roman Roman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Version Package