Jenkins性能调优
Jenkins的可扩展性存在很大局限性。但是大多数应用场景Jenkins的性能已经足够使用。虽然Jenkins配置很简单,但是也有一些方法帮助搭建和维护压力较大的Jenkins。如下有一些建议,包括Master配置、Slave配置、Job配置和一些多Master配置,可以帮助我们保持Jenkins高效运行。1,Jenkins Master Configuration
插件数量 插件会导致构建(因为hook)和UI(插件会添加界面元素到UI中)加载时的性能问题,不要添加过多的插件,一定要充分评估插件后再安装。
2.Job数量 当单个Master job数量达到1000+时 UI访问会开始有延迟 这时可以选择增加Jenkins Master数量来提升瓶颈,但是增加Jenkins Master等于拆分jenkins任务,目前还没有多Master Jenkins集群,近期未来预计也不会有。所以在不定制Jenkins的情况下,唯一能够实现负载在Master之间共享的,只能是搭建多个Master,分别支持不同的Job。3.禁止在Master上运行Job,Master上不应该运行Job,或者只能运行对Jenkins管理至关重要的内部轻量级任务(Jenkins备份、Job清理等),绝对不能运行业务Job。
减少在Master上轮询SCM 针对Git或者Perforce的SCM轮询需要为每个Job的每次轮询运行CLI程序。如果想要可靠的轮询,则应该运行在Master上,不建议在Slave上轮询,因为Slave是不可靠的。 建议使用push hooks代替轮询。
Git可以在大多情况下使用Gerrit Trigger的"Refupdate"事件来代替SCM轮询,针对Perforce,可以将轮询时间间隔设置的长一些。
至于Subversion则使用的是SVNkit而不是CLI程序,所以其不受影响。4.磁盘IO性能 为Job配置(启动时)和Build记录(延迟加载)使用更快的磁盘,Master采用SSD会很有帮助,分离配置、BUild记录、构件存储。可插拔的构件转移和存储会值得研究(JENKINS-17236)。
使用外部API/UI作为Jenkins前端
Jenkins并不擅长UI性能,UI插件会导致UI性能变的更糟。外部的UI面板或前端系统可以作为替代方案,引发性能问题的插件:Dashboard view plugin 会引发延迟加载问题 Nested View plugin会引发多次针对每个Job的权限重复认证问题,使用正则表达式过滤Job会变的更糟。可以尝试使用明确的Job list,而不是正则表达式。可以使用 Cloudbees Folders Plugin 代替,这个插件可能有效,但是需要评估。
HTTP缓存 使用快速的HTTP代理以缓存静态数据可以帮助提升性能,但是需要进一步平涂
使用Nginx除了代理端口转发之外,还可以缓存静态文件,比如图片、CSS等,即动静分离,是Web应用的常见方法 Servlet容器。
Jenkins 1.535版本之前的Winstone,1.535版本之后的Jetty8都是Jenkins内嵌的Web容器,比之于Tomcat,Jetty在持续的吞吐量和资源消耗方面由于Tomcat。但是最近的Jetty 8-9和Tomcat 7并没有明显的证据显示存在差距。5.Jenkins Slave Configuration
Slave数量
Jenkins开发团队与一个目标叫"X1K initiative",即保证Jenkins Master能支持所有Slave共1000个执行器的平滑运行,到目前为止,这依然是一个挑战。有时候当Slave在250台左右出现大量Slave连接在构建过程中中断的情况。有证据显示当Slave过百时,Jenkins会出现Slave连接丢失的情况。因为在Jenkins core 1.521和SSH Slave Plugin 0.27中针对Jenkins remoting做的线程使用改进不应该出现这样的问题,但是并没有得到证实。
单个Slave的执行器数量
超过Slave容量的情况下,增加执行器数量会因为崩溃、IO阻塞、RAM交换导致整体的吞吐量下降,合理配置 RAM, CPU cores and build 类型。关于RAM的配置,Slave的maximum memory setting配置需要能够支持最大了的Build。CPU应该足够使用,不会达到100%使用率。考虑IO时,IO会释放一些CPU时间,针对单线程的Build,每个CPU核心配置应少于1个执行器。考虑到IOPS限制,为了避免磁盘IO成为瓶颈,一般情况下,如果15分钟内,平均负载超过了CPU核心数量,则执行器数量应该降低。建议,每个Slave配置1个执行器以便实现隔离。基于云的Slave可以很方便的实现隔离,如果是基于专用硬件,可以通过轻量级容器实现同样的隔离。
6.最后就是定时清理Workspace 设置构建过期时间 清理老的构建任务 释放磁盘空间,job有时单个任务空间达到几个G也是导致jenkins加载缓慢的重要原因之一
便携存储新选择,从此和小U盘说拜拜奥睿科迅龙GV100创作声明本次评测产品来源自购,如有不足,请批评指正!曾几何时,U盘成为了大家习惯性使用的移动存储设备。随着U盘的发展,U盘也从曾经的128M到现在128G的存储。虽然容量也随着变大
三安光电,华天科技,长川科技,江淮汽车,牧原股份,天齐锂业牛新希望主营是猪肉。三安光电半导体。湖北宜化是磷化工。牧原股份猪肉。芯能科技是光伏概念。隆基股份光伏行业清洁能源的公司,也是国家重点支持的产业。有光伏建筑一体化项目,万物皆利好白酒。
借新能源东风!惠誉钴价未来23年有望维持上行通道借新能源东风!惠誉钴价未来23年有望维持上行通道华友钴业sh603799惠誉预计未来两年全球将有大量硫酸钴项目上线,但由于电池制造商的需求将远超供应,硫酸钴的价格在未来23年仍将保
新能源专属车险新手上路保费上涨AB面本报记者郭婧婷北京报道2021年12月27日,上海保险交易所正式上线新能源车险交易平台,并宣布首批挂牌人保财险平安产险国寿财险等12家保司,正式上线新能源汽车专属保险产品,自此新能
智能锁的保修期为什么那么短?智能锁的保修期,一般是机械部分两年,电子部分一年。而同等价值的手机的保修期也是一年。为什么同样花一两千块钱买锁,就觉得不划算,保修期太短,而买手机却没有这种感觉?说白了就是大家不觉
分析师M1MaxMacBookPro供货较M1Pro机型更紧张在近日一份致投资者的报告中,高盛分析师RodHall对iPhone13系列智能机以及M1ProM1Max系列MacBookPro笔记本电脑在假日购物季之后的供货状况发表了预测。首先
让小巨人助力新材料产业腾飞来源人民网人民日报海外版新材料是最新科技成果的物质化基础,是催生新一代信息技术新能源技术智能制造技术新一代生物技术等战略性新兴领域的先导,具有先进性支撑性多样性广泛性等特征,其研发
埃隆马斯克,这个硅谷狂人现实版钢铁侠是怎么炼成的?其实想具体了解马斯克这个人,主要是因为我买了新能源汽车的股票,想更多了解这个版块的背景知识。前段时间,马斯克在推特上搞了一个投票,让网友判断是否出售特斯拉的股票以缴纳税款,结果之后
笑看2021年互联网风云,2022年京东逆袭的开始1月5日,央视宣布和京东合作,成为2022年春晚独家互动合作伙伴。要知道,从2015年,先后有微信支付宝淘宝快手抖音等轮流坐庄。唯独少了京东,然而作为互联网巨头之一,这次用自己的实
postgresql建立索引一索引的类型PostgreSQL提供了多种索引类型BTreeHashGiST和GIN,由于它们使用了不同的算法,因此每种索引类型都有其适合的查询类型,缺省时,CREATEINDEX
不打烊!多家快递企业宣布2022年春节不休原标题近期多家快递企业宣布2022年春节不休,为年货等物资流通提供服务今年春节,快递不打烊!岁末年初,多家快递企业宣布2022年春节不打烊,满足春节期间的快递寄递需求。对消费者特别