Permission or scheme impact on performance?

We're trying to track down some performance issues that are causing the issue detail page to take several seconds to load. When enabling the profiling log and loading an issue, we get results like these below (abbreviated). I'm not that familiar with analyzing these profile logs yet, but it seems like permission checks of some sort are taking quite some time. I've seen some mentions of permission schemes being a potential performance issue, but not much detail on how to avoid it. We don't have many permission schemes, the majority of our projects use the same one and the vast majority of the permissions use role lookups, very few have groups. Any recommendations on next steps on finding more info or improving these times?

 

[atlassian.util.profiling.UtilTimerStack] [5611ms] - /browse/REQ-77
[0ms] - PermissionManager.hasPermission()
[4534ms] - IssueNavAction.execute()
[14ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[5ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[8ms] - PermissionManager.hasPermission()
[1ms] - PermissionManager.hasPermission()
[0ms] - PermissionManager.hasPermission()
[182ms] - PermissionManager.hasProjects()
.... 
[434ms] - Updating Pager for viewing issue:REQ-77
[0ms] - IssueIndexManager.getIssueSearcher()
[434ms] - Searching and sorting with Collector
[0ms] - IssueIndexManager.getIssueSearcher()
[368ms] - PermissionManager.getProjectObjects()
[0ms] - List.iterator()
[0ms] - Iterator.hasNext()
[0ms] - Iterator.next()
[0ms] - Iterator.hasNext()

.... 

[jira.web.filters.ThreadLocalQueryProfiler] RESULT GROUP: com.atlassian.jira.scheme.SchemeManager
[jira.web.filters.ThreadLocalQueryProfiler] 3172:21ms getSchemes [0,0,0,0,0...,0,0,0,0,0,0,0,0]
[jira.web.filters.ThreadLocalQueryProfiler] 3216:1034ms hasSchemeAuthority [0,1,0,1,0,0,...1,0,0,0,1,0]
[jira.web.filters.ThreadLocalQueryProfiler] com.atlassian.jira.scheme.SchemeManager: 6388 keys (2 unique) took 1055ms/5617ms : 18.782269% 527ms/query avg.
....
[jira.web.filters.ThreadLocalQueryProfiler] PROFILED : 11230 keys (82 unique) took 2839ms/5617ms : 50.54299% 0ms/query avg.

 

6.1.3, 60k issues, 1k projects, 202 custom fields, 54 workflows
VMware, 4 cpu, 8gb total ram, 2gb for jvm, MySQL on same machine

1 answer

Hi Philip,

 

I believe better late than never smile

Have a look at the link below, if it's not too late

https://confluence.atlassian.com/jirakb/understanding-jql-performance-740263450.html

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Thursday in Jira

Mission-critical battery manufacturer fulfills FAA software requirements with Commit Policy Plugin

EaglePicher Technologies is a leading manufacturer of battery systems for diverse industries like defense, aviation, space or medical. As they operate in highly regulated industries, keeping a clear ...

172 views 0 2
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you