Jenkins性能优化
jenkins性能优化
1、评估安装插件,插件数量过多,会导致界面加载慢;
2、添加slave节点;
01、禁止在master上构建性能耗费大的任务,可以使用标签的方式使其在slave上构建;
02、减少定时构建或轮询SCM构建时间或次数;实际生产中,这两个一般是不配置的;
3、提高磁盘IO性能;
4、可以用nginx增加缓存功能;
5、无论是master还是slave,执行器的数量不要大于CPU的核心数;
6、设置合适的保持构建天数和保持构建的最大个数;释放磁盘空间;
7、maven仓库设置成国内源
8、yarn设置为国内镜像
npm install -g yarn
npm install --registry=https://registry.npm.taobao.org
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
9、nodejs(npm)设置为国内镜像
临时设置:npm --registry https://registry.npm.taobao.org install xxx
全局设置:npm config set registry https://registry.npm.taobao.org
10、取消jenkins的定时清理工作空间任务
一些前端项目在构建时往往需要下载一些依赖库,在构建时,到yarn install步骤的时候会等很长一段时间,即使全局定义指定淘宝的仓库也一样,然后研发开始找事情,经过测试,在不删除工作空间的情况下,构建时会优先使用本地缓存,构建速度会大幅度提升,但是jenkins有定时清理工作空间的功能,需要关掉它;
cat jenkins.log|grep Workspace 查看jenkins日志,会发现,每天都会执行清理workspace的任务;
2021-08-22 00:51:19.309+0000 [id=1038] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Workspace clean-up
2021-08-22 00:51:19.321+0000 [id=1038] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Workspace clean-up. 9 ms
2021-08-23 00:51:19.309+0000 [id=1278] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Workspace clean-up
2021-08-23 00:51:19.328+0000 [id=1278] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Workspace clean-up. 18 ms
2021-08-24 00:51:19.308+0000 [id=1566] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Workspace clean-up
2021-08-24 00:51:19.315+0000 [id=1566] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Workspace clean-up. 5 ms
2021-08-25 00:51:19.309+0000 [id=1808] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Workspace clean-up
2021-08-25 00:51:19.334+0000 [id=1808] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Workspace clean-up. 24 ms
2021-08-26 00:51:19.309+0000 [id=2049] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Workspace clean-up
2021-08-26 00:51:19.314+0000 [id=2049] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Workspace clean-up. 4 ms
设置方法:Manage Jenkins ---> Script Console 执行命令:hudson.model.WorkspaceCleanupThread.disabled = true
注意:每次重启jenkins都要设置下;
JVM性能优化
JENKINS_JAVA_OPTIONS=”-Djava.awt.headless=true -Xms10240m -Xmx10240m -XX:MaxNewSize=1024m -XX:MaxPermSize=1024m”
1、-Xmx:使用的最大堆内存大小;表示java虚拟机堆区内存可被分配的最大上限,默认为物理可用内存的1/4或者1G,最小为2M;
2、-Xms:使用的最小堆内存大小;初始堆大小,表示java虚拟机堆区内存初始内存分配的大小;默认为物理可用内存的1/64,最小为1M;
开发过程中,通常会将-Xms 与-Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。
3、-XX:newSize:表示新生代初始内存的大小,应该小于-Xms的值;
4、-Xmn:至于这个参数则是对 -XX:newSize、-XX:MaxnewSize两个参数的同时配置,也就是说如果通过-Xmn来配置新生代的内存大小,那么-XX:newSize = 5、-XX:MaxnewSize = -Xmn,虽然会很方便,但需要注意的是这个参数是在JDK1.4版本以后才使用的
6、-XX:PermSize:内存的永久保存区域大小;表示非堆区初始内存分配大小(方法区)
7、-XX:MaxPermSize:最大内存的永久保存区域大小;表示对非堆区分配的内存的最大上限(方法区)
最大堆内存与最大非堆内存的和绝对不能够超出操作系统的可用内存
Jenkins性能优化的更多相关文章
- 01.SQLServer性能优化之----强大的文件组----分盘存储
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...
- 03.SQLServer性能优化之---存储优化系列
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概 述:http://www.cnblogs.com/dunitian/p/60413 ...
- Web性能优化:What? Why? How?
为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...
- Web性能优化:图片优化
程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...
- C#中那些[举手之劳]的性能优化
隔了很久没写东西了,主要是最近比较忙,更主要的是最近比较懒...... 其实这篇很早就想写了 工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率 其实这对大多数程序猿 ...
- JavaScript性能优化
如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...
- 02.SQLServer性能优化之---牛逼的OSQL----大数据导入
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 上一篇:01.SQLServer性能优化之----强大的文件组----分盘存储 http ...
- C++ 应用程序性能优化
C++ 应用程序性能优化 eryar@163.com 1. Introduction 对于几何造型内核OpenCASCADE,由于会涉及到大量的数值算法,如矩阵相关计算,微积分,Newton迭代法解方 ...
- Android性能优化之利用LeakCanary检测内存泄漏及解决办法
前言: 最近公司C轮融资成功了,移动团队准备扩大一下,需要招聘Android开发工程师,陆陆续续面试了几位Android应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来. ...
随机推荐
- this-4
ES6函数里的this指的是定义这个函数时外层代码的this,可以理解为:1.ES6箭头函数没有自己的this:2.ES6箭头函数的this是外层代码(定义时,非执行时,也就是词法作用域)this的引 ...
- p2p-tunnel 打洞内网穿透系列(三)TCP转发访问内网web服务
系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...
- 代码审计VauditDemo程序到exp编写
要对一个程序做系统的审计工作,很多人都认为代码审计工作是在我们将CMS安装好之后才开始的,其实不然,在安装的时候审计就已经开始了! 一般安装文件为install.php或install/或includ ...
- os、json、sys、subprocess模块
os模块 import os 1.创建目录(文件夹) os.mkdir(r'a') # 相对路径 只能创建单级目录 os.makedirs(r'a\b') # 可以创建单级和多及目录 2.删除目录 o ...
- 组织:ITU
国际电信联盟(International Telecommunication Union -- ITU)是联合国专门机构之一,主管信息通信技术事务,由无线电通信.标准化和发展三大核心部门组成,其成员包 ...
- Android 12(S) 图像显示系统 - GraphicBuffer同步机制 - Fence
必读: Android 12(S) 图像显示系统 - 开篇 一.前言 前面的文章中讲解Android BufferQueue的机制时,有遇到过Fence,但没有具体讲解.这篇文章,就针对Fence这种 ...
- 好客租房21-react组件的两种创建方式(函数组件)
1使用函数创建组件 函数组件:使用js的函数或者箭头函数创建的组件 约定1:函数组件名称必须以 开头 约定2:函数组件必须有返回值 表示该组件的结构 如果返回值为null 表示不渲染任何内容 2.1使 ...
- LowDB采坑记录(主要为lowdb3.0的Cannot find module和lowdb1.0 node不断自启动的问题)
bug1: Error [ERR_ MODULE_ NOT_ FOUND]: Cannot find module 在使用最新版LowDB(3.0)时,发现typescript中直接引用模块名(如以下 ...
- 为什么要使用TypeScript(Why Typescript?)
客观原因 静态类型. 在编译期即可进行静态类型分析, 减少JS运行时类型错误. 语法功能强大 对于大型项目具有更好构建机制,加入了类.接口.泛型.模块等概念. 兼容JavaScript 与现存的Jav ...
- JS:this关键字1
this 代表了当前的对象,哪个对象调用了this所在的函数,this就代表了哪个对象: 例1: function fn(){ var a = 1; console.log(this) } fn() ...