• NetSuite多脚本性能研究


    在项目中,随着复杂度的提升,客制脚本以及各类SuiteAPP的应用,导致某个对象上挂载的脚本大量增加,最终导致了性能问题。表现在保存单据时时间过长,严重影响人机界面的用户感受。基于此问题,我们开展了NetSuite性能研究。此文是其中一项研究。重点关注UE脚本的开销问题。

    本研究的思路是通过试验来揭示UE的调度规律,以找到最佳代码实践。所以,我们设计了一个试验:

    •制作3个UE。
    •前两个UE分别执行一个特定的逻辑工作。第三个UE合并执行前两个UE的逻辑。在代码头、尾分别记录执行时间。
    •比较“分别”执行和“合并”执行的时间。

    这个试验的目的是研究:

    1. 某个脚本运行时,是否会存在调度的最低成本。

    2. 将多脚本合并是否会带来性能提升。

    于是我们建立了三个脚本,1_UE, 2_UE分别执行特定的SO字段赋值逻辑,3_UE是前两个的代码合集。

    然后,通过观察脚本执行顺序带来的影响。执行顺序有两个:

    • 1、2、3,也就是先执行独立逻辑的脚本,再执行合并逻辑的脚本
    • 3、1、2,也就是先执行合并逻辑的脚本,再执行独立逻辑的脚本

    最后得到的试验数据是:

    最后的试验结论:

    1. 脚本调度存在250-290毫秒的最低开销。

    2.代码合并有影响,但是不大。数据库缓存是性能差异的决定因素。也就是说,代码效率高低是由数据库的Cache机制影响的。这印证了SAFE中所说的“Avoid Loading the Record for Each Search Result”。提升Cache的效率,是用户交互时的重要原则。

    如果有任何关于NetSuite的问题,欢迎来谈。邮箱:service@truston.group

  • 相关阅读:
    DM数据守护集群搭建
    Linux mkdir命令:创建目录(文件夹)
    Docker SpringBoot项目连接本地数据库
    JVM判断对象是否存活之引用计数法、可达性分析
    Nginx+Tomcat实现动静分离
    Mac下使用nvm,执行微信小程序自定义处理命令失败
    【07】请你谈谈单例模式的优缺点,注意事项,使用场景?
    Redis的学习
    130.Impala基准测试
    JUC笔记(二) --- Java线程
  • 原文地址:https://blog.csdn.net/remottshanghai/article/details/136792349