10 slowest controllers due to SQL queries
Per https://gitlab.com/gitlab-org/gitlab-ce/issues/33726 the list of the 10 slowest controllers (and their issues) is as follows:
1. `DashboardController#activity.json`: https://gitlab.com/gitlab-org/gitlab-ce/issues/27375
1. `Dashboard::ProjectsController#index`: https://gitlab.com/gitlab-org/gitlab-ce/issues/27376
1. `Projects::MergeRequestsController#index`: https://gitlab.com/gitlab-org/gitlab-ce/issues/27168
1. `Explore::ProjectsController#index`: https://gitlab.com/gitlab-org/gitlab-ce/issues/27390
1. `Projects::IssuesController#index`: https://gitlab.com/gitlab-org/gitlab-ce/issues/27165
1. `Projects::JobsController#show`: https://gitlab.com/gitlab-org/gitlab-ce/issues/34512
1. `Projects::Boards::IssuesController#index.json`: https://gitlab.com/gitlab-org/gitlab-ce/issues/34510
1. `Projects::CommitsController#show`: https://gitlab.com/gitlab-org/gitlab-ce/issues/34509
1. `Projects::IssuesController#show`: https://gitlab.com/gitlab-org/gitlab-ce/issues/27164
1. `Projects::PipelinesController#index.json`: https://gitlab.com/gitlab-org/gitlab-ce/issues/34514
This is based on the following criteria:
* 500 requests or more per 24 hours
* 95th percentile greater or equal to 200 ms
* Controllers used for atom feeds (ending in `.atom`) are excluded since these aren't very important for the time being
* Order: highest SQL percentage relative to total request time
The full table based on these criteria is:
| Action | Amount | Percentage of Request Time ▼ | Mean | 95th Percentile | 99th Percentile |
|:------------------------------------------------|:-------|:---------------------------|:----------|:----------------|:----------------|
| `DashboardController#activity.json` | 523 | 90.8% | 205.56 ms | 320.73 ms | 4.94 s |
| `Dashboard::ProjectsController#index` | 646 | 88.4% | 84.35 ms | 1.12 s | 1.42 s |
| `Projects::MergeRequestsController#index` | 769 | 87.7% | 196.60 ms | 423.91 ms | 3.20 s |
| `Explore::ProjectsController#index` | 508 | 85.7% | 2.52 s | 4.46 s | 4.70 s |
| `Projects::IssuesController#index` | 3 K | 82.6% | 142.80 ms | 268.66 ms | 2.41 s |
| `Projects::JobsController#show` | 2 K | 45.0% | 116.38 ms | 225.13 ms | 632.62 ms |
| `Projects::Boards::IssuesController#index.json` | 1 K | 27.9% | 184.49 ms | 467.34 ms | 563.96 ms |
| `Projects::CommitsController#show` | 2 K | 22.6% | 249.68 ms | 615.66 ms | 985.30 ms |
| `Projects::IssuesController#show` | 6 K | 21.6% | 129.33 ms | 224.53 ms | 698.95 ms |
| `Projects::PipelinesController#index.json` | 1 K | 17.2% | 231.19 ms | 306.54 ms | 459.13 ms |
| `Projects::MergeRequestsController#show` | 3 K | 15.3% | 211.71 ms | 356.44 ms | 874.99 ms |
| `Projects::MergeRequestsController#diffs.json` | 2 K | 2.2% | 134.65 ms | 237.29 ms | 335.76 ms |
| `Projects::CommitController#show` | 3 K | 2.1% | 115.91 ms | 203.94 ms | 242.12 ms |
cc @ernstvn
issue