The fact that JIRA custom fields impact issue creation performance has been documented https://confluence.atlassian.com/enterprise/scaling-jira-461504619.html#ScalingJIRA-JIRAperformancetestingmethodology
I recently did an experiment to try and tease out this impact per-field to try and determine if all fields have equal impact. I think I have found that they do not.
My experimental procedure was:
- Take a snapshot of our production instance and restore it into a development environment.
- Delete some custom fields (see https://answers.atlassian.com/questions/43214384 for a fast way to do this in bulk).
- Run a script to create 50 issues via the REST api and measure the average time.
- Repeat #2 and #3 until there were no more custom fields.
After several rounds of the above using different approaches to choosing the sets in step #2, I narrowed down to these three fields having a large impact on average time for issue creation:
These are all of type com.pyxis.greenhopper.jira:gh-lexo-rank.
In a final round I simply deleted each one individually in step #2 and collected the following measurements:
| Stage | Average time in milliseconds to create issue |
| Beginning | 959 |
| After Rank removed | 782 |
| After Global Rank removed | 674 |
| After Ranking removed | 332 |
Is it already known that these fields have more impact? What computation is occurring during issue creation that interacts with these fields? Is there a way to avoid incurring that cost in a user-facing thread?