プロジェクト

全般

プロフィール

Vote #77649

未完了

Speedup Project Settings with many members

Admin Redmine さんが約4年前に追加. 約4年前に更新.

ステータス:
New
優先度:
通常
担当者:
-
カテゴリ:
Performance_53
対象バージョン:
-
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
53
version_id:
0
issue_org_id:
23378
author_id:
118650
assigned_to_id:
0
comments:
3
status_id:
1
tracker_id:
3
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[New]

説明

Hi,
There is a .sort in _members.html.erb partial that take a lot of time for project that have more than 12s to execute, so I change for .order('roles.builtin, roles.position, users.firstname, users.lastname')

- members = @project.memberships.active.includes(:member_roles, :roles, :principal).to_a.sort
+ members = @project.memberships.active.includes(:member_roles, :roles, :principal).order('roles.builtin, roles.position, users.firstname, users.lastname')
Benchmark.measure { project.memberships.active.includes(:member_roles, :roles, :principal).order('roles.builtin, roles.position, users.firstname, users.lastname').to_a }

#

Benchmark.measure { project.memberships.active.includes(:member_roles, :roles, :principal).to_a.sort }

#

journals

Interesting. Reducing 12 sec to 0.6 sec is big improvement. How many members on the project?

Here is a diff made from the first post.

<pre><code class="diff">
Index: app/views/projects/settings/_members.html.erb
===================================================================
--- app/views/projects/settings/_members.html.erb (revision 15732)
+++ app/views/projects/settings/_members.html.erb (working copy)
@@ -1,5 +1,5 @@
<% roles = Role.find_all_givable
- members = @project.memberships.active.includes(:member_roles, :roles, :principal).to_a.sort %>
+ members = @project.memberships.active.includes(:member_roles, :roles, :principal).order('roles.builtin, roles.position, users.firstname, users.lastname')

<p><%= link_to l(:label_member_new), new_project_membership_path(@project), :remote => true, :class => "icon icon-add" %></p>
</code></pre>
--------------------------------------------------------------------------------
6K members
--------------------------------------------------------------------------------
I think SQL "users.firstname, users.lastname" order is not acceptable because AFAIK user sort is configurable.
source:tags/3.3.0/app/models/user.rb#L24
--------------------------------------------------------------------------------

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0