【问题标题】:How to decide which EC2 instance to use for Jenkins running 20 concurrent builds?如何决定 Jenkins 使用哪个 EC2 实例运行 20 个并发构建?
【发布时间】:2018-11-06 14:16:15
【问题描述】:

基本上我想知道,哪个EC2实例可以处理多少并发Jenkins构建?

如果我需要详细说明问题,请告诉我。

【问题讨论】:

  • 不要使用 ASG 和 LB
  • 谢谢。我对aws很陌生。调查您的建议。

标签: amazon-web-services jenkins amazon-ec2 virtual-machine


【解决方案1】:

没有完美的答案。使用负载均衡器设置自动扩展组是“按书本”的方式(下面的选项 #2) - 这两个工具可以在 EC2 区域中找到,并允许您根据需要启动多个 EC2 实例,并在不再需要它们时自动“杀死它们”。

几个选项:

  1. 选择计算机能力最强的 EC2,看看它如何处理您的 20 项工作。如果事情进展缓慢或无法处理,请启动具有更强计算能力的新实例。

    • 优点:简单且经济高效(最有可能)
    • 缺点:最初确定需要多少 CPU 可能会很耗时
  2. 设置负载平衡器和自动扩展组确实将您的工作负载分配到多个实例并根据需要进行扩展。

    • 优点:保证处理您的工作量
    • 缺点:更贵(很可能)

对于 Jenkins,我使用 AWS EC2 插件:

https://wiki.jenkins.io/display/JENKINS/Amazon+EC2+Plugin

如果您选择选项 1,则可以安装该插件,您可以确定处理工作所需的适当 CPU 数量,保存 EC2 的“图像”并将其配置为作为'spot instance' 当你需要运行你的工作,并在空闲 x 分钟后自动杀死自己。这条路线具有成本效益,并且您可能会为您的 AMI(机器映像)添加任意数量的 CPU,因为使用“现货实例”可以节省大量资金。

再次强调,具有负载均衡器的自动扩展组可在多个节点之间分配工作,并根据需要(自动)扩展是正确的方法,但在您掌握 AWS 之前,尝试起来可能更容易选项 #1 与 EC2 插件。如果您确实使用自动缩放组和负载均衡器,请监控设置几周并确保您不会意外启动大量不必要的实例(发生在我身上,使我的账单增加了很多)。

这个博客有一些关于 AWS EC2 的非常好的信息:

https://www.edureka.co/blog/ec2-aws-tutorial-elastic-compute-cloud/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    相关资源
    最近更新 更多