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.kler.cn/a/272769.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

zookeeper快速入门五:用zookeeper实现服务注册与发现中心

系列: zookeeper快速入门一:zookeeper安装与启动-CSDN博客 zookeeper快速入门二:zookeeper基本概念-CSDN博客 zookeeper快速入门三:zookeeper的基本操作 zookeeper快速入门四:在java客户端中操作zookeeper-CSDN博客…

【数字孪生】Nginx发布数字孪生三维建模模型服务及调用方法

【数字孪生】Nginx发布数字孪生三维建模模型服务及调用方法 一、需求二、实施步骤2.1 准备模型文件2.1.1 3D tiles模型2.1.2 3D Tiles标准文件格式 2.2 配置nginx server块2.2.1 Nginx能干啥 2.3 访问 三、实现效果 一、需求 利用三维渲染引擎Cesium加载3D tiles模型。 二、实…

基于Linux内核的socket编程(TCP)的C语言示例

原文地址&#xff1a;https://www.geeksforgeeks.org/socket-programming-cc/ 服务端&#xff1a; #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <unistd.h>#…

常用的 C# 第三方开发库

C# 的第三方开发库丰富多样&#xff0c;涵盖了各种领域&#xff0c;包括图形界面、数据处理、网络通讯、游戏开发等。以下是一些常用的 C# 第三方开发库&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。…

.Net使用ElasticSearch

文章目录 前言主体内容一.Kibana中ElasticSearch的基础操作1.GET&#xff08;查询&#xff09;1.POST&#xff08;新增&#xff09;1.PUT&#xff08;修改&#xff09;1.DELET&#xff08;删除&#xff09; 二.在.Net中&#xff0c;对ElasticSearch进行基础操作1.DotNet连接Ela…

(黑马出品_高级篇_03)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_高级篇_03&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术——多级缓存 今日目标1.什么是多级缓存2.JVM进程缓存2.1.导入案例2.1.1.安装MySQL2.1.1.1.准备目录2.1.1.2.运行命令2.1.1.3.修改配置 2.1.1.4.…

ICBatlas数据库-转录组免疫检查点阻断疗法数据

ICBatlas: A Comprehensive Resource for Depicting Immune Checkpoint Blockade Therapy Characteristics from Transcriptome Profiles 介绍&#xff1a;在线ICBatlas (hust.edu.cn) 检查点阻断 &#xff08;ICB&#xff09; 疗法为多种癌症类型提供了显着的临床益处。目前…

使用BBDown下载bilibili视频的方法

一款命令行式哔哩哔哩下载器. Bilibili Downloader. 下载地址 https://github.com/nilaoda/BBDown 功能 番剧下载(Web|TV|App) 课程下载(Web) 普通内容下载(Web|TV|App) 合集/列表/收藏夹/个人空间解析 多分P自动下载 选择指定分P进行下载 选择指定清晰度进行下载 下载外挂字幕…

sentinel黑白名单权限控制

黑白名单权限控制 规则配置 规则创建 创建一个 AuthorityRule 规则对象三个关键要素 setStrategy: 黑白名单类型setResource: 规则和资源的绑定关系setLimitApp: 限制的来源 调用 AuthorityRuleManager.loadRules()加载规则 监听器实例化和管理 AuthorityPropertyListener…

物联网协议模块快速选择实用入门

本文针对非物联网通讯专业的开发者提供快捷入门介绍&#xff0c;从而迅速进入开发阶段。涉及具体性能参数有不严谨处&#xff0c;还请结合实际项目考量。 按传输距离分类综合特性对比运营方式对比场景应用案例 按传输距离分类 综合特性对比 运营方式对比 场景应用案例

在Docker上传我们自己的镜像(以springboot项目为例)

首先确定好在我们的centOS服务器上已经安装并配置好docker 配置自己的springboot镜像并运行 获取springboot的jar包 maven clean--》mavenue package --》复制target目录下生成的jar包 在服务器选择一个文件夹上传jar包&#xff0c;我这里选用的文件夹叫做/opt/dockertest…

Gin 框架中实现路由的几种方式介绍

本文将为您详细讲解 Gin 框架中实现路由的几种方式&#xff0c;并给出相应的简单例子。Gin 是一个高性能的 Web 框架&#xff0c;用于构建后端服务。在 Web 应用程序中&#xff0c;路由是一种将客户端请求映射到特定处理程序的方法。以下是几种常见的路由实现方式&#xff1a; …

【C语言】linux内核软中断

一、什么是软中断&#xff1f; 内核中的软中断&#xff08;Softirqs&#xff09;和任务下半部&#xff08;Tasklets&#xff09;是Linux内核中用于在中断上下文之外处理中断服务的一种底层机制。这些机制解决了不能在中断服务例程&#xff08;ISR&#xff09;中执行耗时操作或…

主播美颜技术原理与应用探究:美颜SDK的前沿技术解析

美颜SDK的出现和不断进步&#xff0c;起到了举足轻重的作用。本文将深入探讨主播美颜技术的原理与应用&#xff0c;以及美颜SDK的前沿技术解析。 一、美颜技术的背后原理 美颜技术的实现并非简单的图像处理&#xff0c;而是涉及到计算机视觉、图像处理、人工智能等多个领域的综…

python for循环打印字符串、指定区间范围数字以及打印区间数字内的奇数和偶数

1.一串字符&#xff0c;循环打印&#xff1a; 源码&#xff1a; strings"Python" n0 print("字符长度为&#xff1a;"str(len(strings))) for a in strings: nn1 print ("第"str(n)"位是&#xff1a;"a)打印结果&#xff1a…

docxTemplater——从word模板生成docx文件

官网文档&#xff1a;Get Started (Browser) | docxtemplater 官网在线演示&#xff1a;Demo of Docxtemplater with all modules active | docxtemplater 源码&#xff1a;https://github.com/open-xml-templating/docxtemplater 不仅可以处理word&#xff08;免费&#xf…

Jetson orin nano 8G设置ROS下launch文件开机自启动脚本文件

一、新建xxx.sh文件&#xff0c;将以下文件复制&#xff0c;需要根据自己的工作空间修改 ###gmapping with abot### gnome-terminal --window -e bash -c "source ~/cwkj_ws/devel/setup.bash;roslaunch robot_bringup px4.launch; exec bash" \ --tab -e bash -c &…

废狗的Python连接MySQL之旅

我想本地用python连接mysql中的表&#xff0c;但是我不会。。。。 MySQL 安装mysql MySQL下载与安装-CSDN博客 安装可视化界面navicat 链接&#xff1a;https://pan.baidu.com/s/1esCF7W1Xwh1kIiw0OmKtjg 提取码&#xff1a;f4s0 开启mysql服务 net start mysql //开启 …

美区PayPal绑visa卡注意事项

很多小伙伴都有绑定paypal的需求&#xff0c;但是如果你是绑定美区的paypal这里有几点建议&#xff1a; 1、建议使用US的网络环境注册 2、使用美区的账号 3、使用美区的visa卡 三者统一才可以绑定成功&#xff0c;点击获取可以绑定美区paypal的visa卡&#xff0c;办理简单

Web渗透各种漏洞原理

SQL注入漏洞原理 参数是用户可控的&#xff0c;也就是前端传入后端的参数的内容是用户可以控制的&#xff1b;参数被带入数据库进行查询&#xff0c;也就是传入的参数被拼接到SQL语句中&#xff0c;并且被带入到数据库进行查询&#xff1b; xss漏洞原理 由于程序员在编写代码…
最新文章