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

Performance problems related to MusicBrainz web service requests

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved:

                  Packages

                  Version Package