Project

General

Profile

Actions

Task #1649

closed

Incompatible roles - check performance

Added by Radek Tomiška over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Radek Tomiška
Category:
Roles
Target version:
Start date:
05/14/2019
Due date:
% Done:

100%

Estimated time:
Owner:

Description

Check performance for incompatible roles algorithm, when 500+ roles are in one request.

Actions #1

Updated by Radek Tomiška over 5 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Radek Tomiška to Vít Švanda
  • % Done changed from 0 to 90

I checked resolving roles and added another little improvement to call batch select for incompatible roles per one directly assigned role:
https://github.com/bcvsolutions/CzechIdMng/commit/8820fa548675bab8ea772ff3522b8349f2b1b6c9

Together with improvement, which I've made recently together with role request detail optimization here:
https://github.com/bcvsolutions/CzechIdMng/commit/f02b6af4b3ad3f317b54397e85a0fc0d0f403992

now check for incompatible roles takes 0,4s instead previous 3s on request with 1000 concepts locally on PostgreSql.

Test is created - its possible to use on different environments (local MS Sql tested with the same numbers as PostgreSql).

Could you do a feedback, please?

Note: Now it's obvious, when database has high latency on some environment, then any additional select can slow whole app rapidly. We need to focus to reduce selects in all places and use embedded objects in dtos, @Formula, fetch mode in entities, cache etc.

Actions #2

Updated by Vít Švanda over 5 years ago

  • Status changed from Needs feedback to Resolved
  • % Done changed from 90 to 100

It works nicely. Thanks for that.

Actions #3

Updated by Vít Švanda over 5 years ago

  • Assignee changed from Vít Švanda to Radek Tomiška
Actions #4

Updated by Radek Tomiška over 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF