Hi, I think those are very important and necessary.  I has created the
issue https://github.com/apache/incubator-shenyu/issues/2321  and list all
task.

On Tue, Nov 16, 2021 at 9:34 AM 周亚冬 <[email protected]> wrote:

>     Hello, I found some optimization points in the module of shenyu-admin,
> mainly accessing the database in multiple loops, which will bring bad
> performance overhead; better processing them, shenyu-admin should be able
> to do better.
>
>
>     as follows:
>
>
> 1.AppAuthServiceImpl
> 1)method enabled:batch operation can improve efficiency; check the
> parameters to evaluate whether publishEvent is needed, and reduce overhead.
>
>
> 2.DashboardUserServiceImpl
> 1)method delete:The data sets that need to be processed are queried in
> batches, and the conversion stream can efficiently process the data,
> collect the specified data and then operate in batches.
> 2)method findById:Query role information, you can query in batches.
>
>
> 3.MetaDataServiceImpl
> 1)method delete:Batch query and delete can reduce the overhead;check the
> parameters to evaluate whether publishEvent is needed, and reduce overhead.
> 2)method enabled:check the parameters to evaluate whether publishEvent is
> needed, and reduce overhead;Traverse and process data, batch query and
> update can reduce overhead
>
>
> 4.PermissionServiceImpl
> 1)method getResourceListByUserName:The query resource list can be queried
> in batches, reducing overhead
>
>
> 5.PluginHandleServiceImpl
> 1) method deletePluginHandles:Batch deletion can reduce overhead
> 2) method listByPage:buildPluginHandleVO uses database query, you can
> consider batch query requires data, unified traversal assembly; compared
> with frequent database overhead, if memory allows, the traversal cost is
> almost negligible
> 3) method list:Same as above
>
>
> 6.PluginServiceImpl
> 1)method enabled:Batch query and update can reduce database overhead
>
>
> 7.ResourceServiceImpl
> 1)method getMenuInfo;Whether the implementation logic of recursive call
> can be optimized, and the cost of evaluating complexity
> 2)method getDeleteResourceIds:Can the recursive logic be optimized: if the
> return value can be used to reduce the stacking overhead
>
>
> 8.RoleServiceImpl
> 1)method getTreeModelList:Can the recursive logic be optimized: if the
> return value can be used to reduce the stacking overhead
>
>
> 9.RuleServiceImpl
> 1)method buildRuleData:The method body includes database operations, which
> are called by the upper method. Can the method definition be optimized?
>
>
> 10.SelectorServiceImpl
> 1)method delete:Evaluate and optimize database operations as batch
> operations, and optimize the call logic of publishEvent
> 2)method buildSelectorData:The method body includes database operations,
> which are traversed and called by the upper method. Is it possible to
> consider method definition optimization?
>
>
> 11.ShenyuDictServiceImpl
> 1)method 1)deleteShenyuDicts:Optimize batch deletion
>
>
> 12.SyncDataServiceImpl
> 1)method syncPluginData:Optimize batch query
>
>
> 13.UpstreamCheckService
> 1)method fetchUpstreamData: Optimize batch query

Reply via email to