ee/spec/models/burndown_spec.rb is slow and generates a lot of queries

Baseline:

gitlab-ee master % PROFILE_FACTORIES=true ES be rspec --profile --order defined ee/spec/models/burndown_spec.rb

==> Setting up GitLab Shell...
    GitLab Shell setup in 0.374558 seconds...

==> Setting up Gitaly...
Checking gitaly-ruby bundle...
The Gemfile's dependencies are satisfied
Trying to connect to gitaly: .... OK
    Gitaly setup in 0.834943 seconds...
........................    Factory usage counts:
      name         total    avg   count
      issue      100.619  0.116     864
      project     82.454  0.093     888
      namespace   20.625  0.023     888
      milestone    1.775  0.074      24
      user          0.89  0.022      40
      group        0.364  0.015      24
      license      0.015  0.015       1



Top 10 slowest examples (89.44 seconds, 42.6% of total time):
  Burndown project milestone burndown behaves like burndown for milestone generates an array with date, issue count and weight
    10.02 seconds ./ee/spec/models/burndown_spec.rb:22
  Burndown group milestone burndown when nested group milestone behaves like burndown for milestone generates an array with date, issue count and weight
    9.36 seconds ./ee/spec/models/burndown_spec.rb:22
  Burndown group milestone burndown when nested group milestone behaves like burndown for milestone returns empty array if milestone start date is nil
    9.02 seconds ./ee/spec/models/burndown_spec.rb:32
  Burndown project milestone burndown behaves like burndown for milestone it counts until today if milestone due date > Date.today
    8.9 seconds ./ee/spec/models/burndown_spec.rb:44
  Burndown group milestone burndown when nested group milestone behaves like burndown for milestone sets attribute accurate to true
    8.88 seconds ./ee/spec/models/burndown_spec.rb:50
  Burndown group milestone burndown when non-nested group milestone behaves like burndown for milestone when one or more closed issues does not have a closed event sets attribute accurate to false
    8.76 seconds ./ee/spec/models/burndown_spec.rb:83
  Burndown group milestone burndown when nested group milestone behaves like burndown for milestone when all closed issues does not have closed events considers closed_at as milestone start date
    8.64 seconds ./ee/spec/models/burndown_spec.rb:61
  Burndown group milestone burndown when nested group milestone behaves like burndown for milestone it counts until today if milestone due date > Date.today
    8.63 seconds ./ee/spec/models/burndown_spec.rb:44
  Burndown project milestone burndown behaves like burndown for milestone when all closed issues does not have closed events considers closed_at as milestone start date
    8.62 seconds ./ee/spec/models/burndown_spec.rb:61
  Burndown group milestone burndown when nested group milestone behaves like burndown for milestone returns empty array if milestone due date is nil
    8.62 seconds ./ee/spec/models/burndown_spec.rb:38

Finished in 3 minutes 29.7 seconds (files took 18.97 seconds to load)
24 examples, 0 failures
Assignee Loading
Time tracking Loading