Getting issue list via REST api has huge performance issues regardless number of fields requested or expand values

XMLWordPrintable

    • 5.02

      We discovered that REST API performance that returns issues based on the JQL filter is extremely slow, making it impossible to use if you want to export more than a few issues.

      We have a project where we need to export the entire brief-list of issues (~20.000) in few seconds. Now this takes > 30 minutes ~ 1800 seconds

      • brief list = key, issuetype, summary and components.

      Because REST was useless, we implemented our own plugin that does exactly this in 5 seconds, which is more than 300x times faster.

      We didn't make any special tricks in order to get this performance so I guess that way REST API is implemented is the core problem.

      curl -n -o rest-hp-6.json  -H "Content-Type: application/json" --data '{"jql":"project = HP","startAt":0,"maxResults":1000,"fields":["id","key","components","issuetype"],"expand":[]}'  "https://jira.example.com/rest/api/2/search"
      

      Clearly there is something that increases the export time so much:

      get 100 issues : ~3 seconds
      get 500 issues : ~ 27 seconds
      get 1000 issues: ~55 seconds
      get 2000 issues: ~111 seconds

      Based on this I would say that the performance for more than 200-300 is ~18 issues/second, which is extremely slow for a high-end machine, and obviously that's not a limit imposed by the load of the sever or database.

      It's important to note that I did some testing regarding enabling or disabling gzip compression and it seems that it has no effect regarding timing.

            Assignee:
            Oswaldo Hernandez (Inactive)
            Reporter:
            Sorin Sbarnea (Citrix)
            Votes:
            17 Vote for this issue
            Watchers:
            27 Start watching this issue

              Created:
              Updated:
              Resolved: