• 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

  • 相关阅读:
    美好的一天
    Spark【RDD编程(三)键值对RDD】
    基于java的医院微信小程序
    Spring学习笔记13 Spring对事务的支持
    这个面试官居然问我G1垃圾收集器
    一文搞懂ES6基本全部语法
    细说react源码中的合成事件
    linux学习
    部署安装yapi
    精密空调别再这样管理了,太麻烦啦!
  • 原文地址:https://blog.csdn.net/remottshanghai/article/details/136792349