当前位置: 首页 > news >正文

素材模板网站十大免费行情软件视频

素材模板网站,十大免费行情软件视频,wordpress mysql 被删,帝国网站管理 上一条 下一条 链接 信息id 信息发布时间解决 Jenkins 性能缓慢的问题 Docker中文社区 ​​ 计算机技术与软件专业技术资格持证人 2 人赞同了该文章 没有什么比缓慢的持续集成系统更令人沮丧的了。它减慢了反馈循环并阻止代码快速投入生产。虽然像使用性能更好的服务器可以为您争取时间#xff0c;但您最终必须投资…解决 Jenkins 性能缓慢的问题 Docker中文社区 ​​ 计算机技术与软件专业技术资格持证人 2 人赞同了该文章 没有什么比缓慢的持续集成系统更令人沮丧的了。它减慢了反馈循环并阻止代码快速投入生产。虽然像使用性能更好的服务器可以为您争取时间但您最终必须投资于维持持续集成工作流程的成本。 Jenkins 是目前最流行的 CI/CD 工具之一但随着时间的推移用户经常会遇到滞后和响应缓慢问题。在本指南中我将分享一些 Jenkins 性能问题的概述以及一些无需升级硬件即可显着提高性能的技巧。 1. 为什么 Jenkins 如此受欢迎的 CI/CD 选择 Jenkins 是一种基于 Java 的开源工具成千上万的开发人员在数十万次安装中使用它使其成为最受欢迎的自动化集成工具。这种广泛使用意味着很容易找到对 Jenkins 的支持和提示但这并不是它如此广泛使用的唯一原因。 Jenkins 为 CI 工作流程带来了许多有趣的范例包括 更快的部署。在所有开发人员提交他们的代码之后一次测试和部署构建的日子已经一去不复返了。使用 Jenkins 的自动化 CI/CD 管道无论何时开发人员提交代码它都会在一天中跨多个周期进行构建和测试。可扩展的主代理架构。在大规模管理分布式构建时Jenkins 可能是一个不错的选择。Jenkins 的主服务器是调度构建作业并将它们分配给代理以前是从属执行的主服务器。此模式允许您在一台或数百台服务器上运行 Jenkins 以加快构建速度。数以千计的插件作为一个开源平台Jenkins 为其他开发人员构建的持续集成提供了大量插件。这允许您扩展基本功能而无需在内部编写或维护大量额外代码。 2. 克服常见的 Jenkins 性能问题 随着时间的推移构建频率的增加、并行运行的多个作业以及构建复杂性的增加可能会导致 Jenkins 出现性能问题。您的体验可能会因您的使用场景而异但一些常见问题包括 每次运行时构建似乎都“卡在”特定步骤的“中断”。达到单个机器或主节点的内存限制。CPU 瓶颈会减慢构建的特定部分。插件或脚本中的错误或低效代码。由于这些问题可能是由多种根本原因引起的因此很难概括解决方案但 Jenkins 用户可能想要研究一些事情。以下是一些最通用的方法您可以提高 Jenkins 构建性能并限制上述问题的频率。 2.1 避免在管道中使用复杂的 Groovy 脚本 Jenkins Groovy脚本控制台在主节点上执行并直接使用主资源例如CPU和存储器。因此建议您减少管道中 Groovy 脚本的数量和复杂性转而可以直接使用在每个代理上运行的插件。 在 Jenkins 中要避免的最常见的 Groovy 方法是 JsonSlurper、Jenkins.getInstance 和 HttpRequest。Jenkins在其博客上有更多关于可扩展管道代码和要避免的操作的建议。 2.2 在主节点上保持最少的构建 Jenkins 的主节点位于应用程序运行的整个 CI/CD 流程的中心。因此主节点上的构建数量会显着影响资源使用。在主节点上保持较少的构建将为代理节点留出足够的 CPU 和内存来安排和触发作业。 您可以在工作中使用“限制项目可以运行的位置”选项。虽然 Jenkins 仍将在主节点上运行轻量级执行器但您的重量级执行器将在代理节点上运行。 将主节点视为 Jenkins 的大脑。与代理不同主节点不能被清除或替换。因此为确保最佳 CI/CD 功能请考虑对 Jenkins 进行一些性能调整并将主节点从不必要的任务中解放出来。这将为您提供足够的内存和 CPU 来有效调度和构建代理上的触发器。 2.3 不要过渡 Jenkins 主节点插件安装 DevOps 专业人员经常跨多个团队和项目工作以完成与 CI/CD 相关的任务。如果这是您的情况请注意不要给单个 Jenkins master 带来负担。相反创建多个主控。多个 master 将确保为 master 分配项目特定的资源并且您还将避免插件冲突。 此外不要设置可能在周期中的任何地方失败的长时间构建记住将构建分解为多个较小的作业。 2.4 轻松管理代理 在设置 Jenkins 时正确设置代理很重要。您希望确保在时机成熟时您可以轻松添加新代理或替换现有代理。为此请考虑为代理创建虚拟机镜像。您也可以考虑在 Kubernetes 或Amazon EKS等可扩展集群中的Docker 容器内运行 Jenkins。 使用具有通用性的代理也是一个好主意一个代理应该运行多个不同的作业并最大限度地利用资源。 2.5 删除构建历史 一段时间后Jenkins 构建可能会堆积起来磁盘消耗可能会失控。开发人员经常忽略 Jenkins 的Discard Old Builds选项。设置指标例如构建数量和保留构建和工件的天数位于 Jenkins Log Rotation 菜单下。 与其让旧版本累积并消耗文件系统开发人员可以启用Discard Old Builds并在 Jenkins 作业完成后享受自动资源使用清理。您还可以使用 G1 垃圾收集器来代替 Java 8 的默认Parallel GC因为前者是一种服务器风格的垃圾收集器具有较低的 GC 暂停时间。 也可以通过 Jenkins 命令行手动删除构建或者使用定期清理旧构建的cron 作业。您可以在此参考文章中找到丢弃旧构建数据的其他选项https://support.cloudbees.com/hc/en-us/articles/215549798-Deleting-Old-Builds-Best-Strategy-for-Cleanup-and-disk-space-management。 2.6 防止并行作业中的资源冲突 并行运行的作业可能需要独占访问端口或资源。这可能会导致冲突、构建失败并进一步减慢 Jenkins 流水线。例如如果您并行运行多个构建则它们在访问资源时很有可能发生冲突例如 Postgres 的数据库端口 5432。 Jenkins 提供Throttle Concurrent Builds插件来帮助调节 Jenkins 节点上的并发构建数量 //Throttleasingleoperation throttle([test_1]){ node(){ shsleep100 echoDone } } 2.7 控制堆大小 您想创建以性能为导向且永不会因内存泄漏或内存不足错误而失败的 CI/CD 管道吗注意堆大小。随着 Jenkins 构建数量的增长如果不注意默认堆大小可能会导致内存不足错误。 大多数现代 Java 应用程序在启动期间都使用最大堆大小配置。为了让 Jenkins 顺利运行请将最大堆大小属性降低到最大4 GB。您可以随时间增加堆大小具体取决于 Jenkins 构建。 要将堆大小设置为 4 GB /etc/default/jenkinsJAVA_ARGS-Xmx4096m 2.8 避免插件过载 Jenkins 拥有超过一千个可用插件为其用户提供了许多功能来增强他们的 CI/CD 管道。但是在向管道添加插件和外部服务时请牢记性能。将 Jenkins 与外部服务集成通常会减慢 Jenkins UI 并导致不利影响例如代理丢失或断开连接。 为了确定插件是否导致您的构建速度变慢您可以尝试在禁用所有或部分插件的情况下运行构建。逐渐添加每个返回以确定导致瓶颈的原因。找到导致性能问题的插件或插件组合后您有几个选择 通过搜索Jenkins Plugin Index找到替换插件。通过检查changelog来查看Jenkins 是否添加了对这个特性的原生支持。您可能必须升级 Jenkins 才能获得最新功能但这通常是提高性能的好主意。用自定义脚本替换插件记住这可能会引入新的性能问题。不过如果您安装一个复杂的插件但只使用一两个小功能脚本可能会更有效。如果您可以没有它请删除该插件。有时这是一个值得的权衡。 3.0 跟踪 Jenkins 性能 当您开始调整 Jenkins 性能时您可能有兴趣添加一个插件来帮助监控和提高性能。例如您可以利用Jenkins Monitoring 插件深入了解您的 CI/CD 管道包括 错误日志CPU、内存和平均系统负载图表关于 HTTP 会话和 HTTP 响应时间的报告构建时间和构建步骤的详细统计信息所有节点的聚合堆直方图 Jenkins 性能监控工具 这可以帮助您评估性能调整的有效性并在您继续改进 Jenkins 安装时为您提供指导。 4.0 总结 Jenkins 的响应能力问题很常见尤其是在处理较重的构建时。损坏的 Jenkins CI/CD 管道可能会拖延您的开发团队并创建不必要的依赖项。本文中讨论的技巧应该可以帮助您显着提高 Jenkins CI/CD 管道的性能。 本文转载自「云原生技术爱好者社区」原文 https://mp.weixin.qq.com/s/u34d-xTZZDs53ZLfqtilxQ版权归原作者所有。
http://www.sczhlp.com/news/181194/

相关文章:

  • 网站建设经典范例单页面竞价网站
  • 巨型飞机运输风力涡轮机叶片技术解析
  • CCPC2024女生专场 游记(VP)
  • Vue3水波纹指令:2025年Material Design交互新标准 - 实践
  • 优秀的个人网站树莓派wordpress博客
  • 沧州网站建设的公司遵义网站建设1w1h
  • 做卷子的网站高端品牌网站建设需要注意什么
  • 长沙雨花区建设局网站画册设计印刷
  • 网站点击换图片的效果怎么做佛山网站搭建公司
  • 一个网站绑定两个域名网站换ip注意
  • 高端定制网站设计公司专门做外卖的网站
  • 临沂企业网站建设优秀网站ui设计
  • 商城网站页面模板如何建立一个网站共享
  • 移动网站做微信小程序服装加工厂怎么找客户
  • 郑州大型网站制作c苏宁网站开发
  • 怎么用ps做简单网站今天重大新闻50字
  • 健身网站模板做电商必备的八个软件
  • 源码快速建站wordpress字体功能
  • wordpress 网站提速易语言怎么做无限打开网站
  • 注册网站获取网易邮箱安全码国外炫酷网站设计
  • 建设俄语网站wordpress主题 工作室
  • 网站建设项目实践网站设计的网站
  • iis7 发布asp网站404网站动态效果用什么软件做的
  • 如何做弹幕视频网站网站建设培训班多少钱
  • 基因网站开发WordPress标签图像
  • 凡科网怎么修改网站外网vp(永久免费)加速器下载
  • 专门做瑜伽的网站网络网站建设10大指标
  • 网站开发需求表模板网站设计报价.doc
  • 重磅福利,JetBrains 宣布 DataGrip 面向非商业用途免费!
  • 深圳网址网站建设公司十大博客网站