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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753164.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Grid)

网格容器,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅支持GridItem…

ubuntu下修改硬盘名字和开机挂载硬盘

操作系统 文章目录 操作系统查看信息挂载处理修改自动挂载硬盘权限设置 ubuntu下修改硬盘名字和开机挂载硬盘 查看信息 查看电脑上所有硬盘分区的卷标及uuid, sudo blkid /dev/sda1: LABEL“win7” UUID“40305E93305E9030” TYPE“ntfs” /dev/sda5: LABEL“so…

pta 7-29 删除字符串中的子串 C语言

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除…

docker yocto vscode

scode的docker插件怎么使用 vscode是一个基于VS Code的开发环境,它提供了一个Docker插件,可以帮助你在VS Code中使用Docker进行开发。下面是使用scode的Docker插件的步骤: 安装scode插件:在VS Code的扩展商店中搜索并安装scode插…

Web 开发模式演进过程

作为初学者,要了解 Web 开发模式的演进过程,并从这些演进过程中看到变化,这样有利于开发者的思路提升。 什么是 Web 开发 Web :网页,可以通过浏览器访问的资源 Web 开发:基于网页载体的软件开发&#xff…

mac下Appuim环境安装

参考资料 Mac安装Appium_mac电脑安装appium-CSDN博客 安卓测试工具:Appium 环境安装(mac版本)_安卓自动化测试mac环境搭建-CSDN博客 1. 基本环境依赖 1 node.js 2 JDK(Java JDK) 3 Android SDK 4 Appium&#x…

Verilog——综合和防真

2.1综合 Verilog 是硬件描述语言,顾名思义,就是用代码的形式描述硬件的功能,最终在硬件电路上实 现该功能。在Verilog描述出硬件功能后需要使用综合器对Verilog代码进行解释并将代码转化成实际 的电路来表示,最终产生实际的电路&a…

APP性能测试,你需要关注哪些指标?

一、Android客户端性能测试常见指标 1、内存 2、CPU 3、流量 4、电量 5、启动速度 6、滑动速度、界面切换速度 7、与服务器交互的网络速度 二、预期标准指定原则 1、分析竞争对手的产品,所有指标要强于竞品 2、产品经理给出的预期性能指标数据 3、符合业…

Android制作微信添加多个图片,放大图片

1.添加依赖 implementation com.github.bumptech.glide:glide:4.12.0 //裁剪图片等等 implementation androidx.recyclerview:recyclerview:1.1.0 //recycleview依赖 2.使用recycleview <androidx.recyclerview.widget.RecyclerViewandroid:id"id/recyclerView"…

【Python使用】嘿马头条完整开发md笔记第2篇:数据库,作用【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明&#xff0c;Pycharm远程开发&#xff0c;产品与开发&#xff0c;数据库1 产品介绍,2 原型图与UI图,3 技术架构,4 开发。OS…

【 React 】Real DOM 和Virtual DOM的区别?优缺点?

1. 是什么 Real DOM,真实DOM ,意思为文档对象模型&#xff0c;是一个结构化文本的抽象&#xff0c;在页面渲染出的每一个结点都是一个真实DOM结构&#xff0c;如下&#xff1a; <div id"root"><h1>Hello World</h1> </div>Virtual Dom,本质…

SSL证书过期不更新会有什么影响?怎么续签?

SSL证书如果不及时更新&#xff0c;可能会带来以下问题&#xff1a; 1.影响体验和信誉&#xff1a; - 如果你的网站SSL证书过期了&#xff0c;现在大部分浏览器都会提醒用户这个网站的安全证书已经失效。这就很可能让用户觉得你的网站不太安全&#xff0c;不敢继续浏览&#x…

node后端helmet中间件

认识helmet helmet 是一个 Node.js 的中间件&#xff0c;用于增强 Web 应用程序的安全性。它通过设置各种 HTTP 头来增加安全性&#xff0c;以防止一些常见的攻击。 作用 以下是一些 helmet 中间件可以帮助你处理的安全问题&#xff1a; 设置 HTTP 头部&#xff1a; helmet …

mysql判断一个字符串字段的长度是否为0

LENGTH(str) &#xff1a;返回字符串 str 所占用的字节数。 CHAR_LENGTH(str) &#xff1a;返回字符串 str 中字符的数量&#xff08;对于多字节字符集如UTF-8更为精确&#xff0c;因为它会按照字符而非字节计数&#xff09;。 如果字符串中都是单字节字符&#xff0c;或者不在…

Python接口自动化之接口依赖

一、场景说明 在面试接口自动化时&#xff0c;经常会问&#xff0c;其他接口调用的前提条件是当前用户必须是登录状态&#xff0c;如何处理接口依赖&#xff1f; 在此之前我们介绍过session管理器保存会话状态。如果接口请求需要携带token&#xff0c;那么又如果处理呢&#…

绿色再生·安卓4G智能远程操作巡视机器人小车

一、前言 1.1 项目介绍 【1】项目功能介绍 随着物联网技术与移动通信技术的快速发展&#xff0c;远程遥控设备在日常生活及工业应用中的普及度日益提高。无论是家用扫地机器人实现自主导航清扫&#xff0c;还是目前抖音平台上展示的实景互动小车等创新应用&#xff0c;都体现…

【探索AI】三十二-计算机视觉(七)实践项目与案例分析

实践项目与案例分析 图像分类项目:使用公开数据集CIFAR-10和ImageNet进行训练和评估概念及步骤代码实例目标检测项目:实现基于YOLO或SSD的实时目标检测步骤 1: 环境准备步骤 2: 数据集准备步骤 3: 模型选择与下载步骤 4: 编写代码加载模型步骤 5: 实时视频流处理步骤 6: 处理…

Device Tree (四) - device_node -> platform_device

一&#xff0c;调用到of_platform_populate的流程 kernel V5.10: start_kernel(void) ----setup_arch(&command_line); --------setup_machine_fdt(__fdt_pointer); /* D:\work\source_code\msm-kernel\msm_kernel\arch\arm64\kernel\setup.c */ --------unflatten_device…

Jasypt 配置文件加密的用法

Jasypt 是一个用于配置文件加密的 Java 库。它可以用来加密和解密配置文件中的敏感信息&#xff0c;如数据库密码、API 密钥等。 使用 Jasypt 加密配置文件的步骤如下&#xff1a; 引入 Jasypt 依赖 首先&#xff0c;在你的项目的构建文件中添加 Jasypt 依赖。如果使用 Maven&…

AI系统性学习04—文本嵌入模型

文本嵌入&#xff08;text embedding&#xff09;是自然语言中的一项重要技术&#xff0c;是将文本转换了固定长度的低密度集向量的表示。 文章目录 1、文本嵌入介绍1.1 介绍1.2 文本嵌入与文本向量1.3 应用场景1.4 常用的文本嵌入模型 2、M3E文本嵌入模型2.1 模型介绍2.2 模型…