Microsoft Dynamics AX 性能优化解决方案
一、方案背景
Microsoft Dynamics AX 是功能强大的企业ERP系统,虽然Microsoft 已推出基于云的现代化 ERP 平台 Dynamics 365 Finance and Operations,提供了更高的性能和持续更新,用来替代Dynamics AX。在考虑升级到Dynamics 365之前,还有很多企业依然使用 Dynamics AX,性能问题可能成为瓶颈。
Dynamics AX 系统随着数据量增长、数据量越来越多,用户增加以及业务复杂性提升,比较常见出现的情况:系统速度越来越慢,时不时就阻塞,或系统卡的完全动不了,严重影响工作效率。此时需要做性能优化。
基于我们在行业多年的Microsoft Dynamics 系统优化经验的最佳实践,以下是针对 Dynamics AX 的性能优化解决方案,涵盖代码规范性优化策略、数据库优化策略、AOS服务端优化策略、服务器与网络性能优化策略等全方位进行优化,提升系统响应速度、降低延迟并优化用户体验。
二、方案内容
1、代码规范性优化策略
1.1、数据库操作优化
1) 明确指定查询字段:避免不必要的字段查询使用fieldList 或 select 时明确指定所需字段,
减少数据传输量,提供查询效率。
2) 减少不必要关联:优先使用 existsJoin 替代 join 避免不必要的表关联数据加载。
3) 优先使用批量插入:批量代替逐条处理使用 RecordInsertList 或 RecordSortedList 批量插入数据。
4) 优先使用批量更新:批量操作update时应使用update_recordset语句。
1.2、代码逻辑优化
1) 减少数据库交互次数:避免循环内的数据库操作将查询移到循环外部,从而减少数据库交互次数
2) 避免客户端和服务器端频繁交易
3) 避免大量使用Display方法。
4) 避免在Active方法中写大量While Select语句, 避免在Display方法中使用While 套 While。
5) 避免使用低效的嵌套循环:使用join关联查询 或 query方式进行查询。
亦可使用 Map 或 Set 或 list容器方式替代嵌套循环查找。