云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_微软云平台_新用户

小七 141 0

使用CloudBees加速器对网站进行压力测试

上个月,我有幸被选中在DevOpsEnterpriseSummit(DOE14)上介绍一个关于CloudBees Accelerator测试加速的会议。当我准备内容的时候,我突然意识到我可以做的不仅仅是测试加速,所以我将演示改名为"如何使用CloudBees Accelerator加速任何东西"很有趣,我很喜欢谈论这个话题。在演示过程中,我提出了使用CloudBees Accelerator作为对web站点进行压力测试的方法。我发现的最明显的例子是医疗保健.Gov这让奥巴马政府非常震惊。这些问题最终得到解决,数百万美国人已经通过这个网站注册了健康保险,但很明显,设计这个网站的承包商如果在上线前对网站进行了压力测试,就会为每个人节省很多麻烦。想想看——我们设计网站的频率,知道在第一天,当你上线的那一刻,成千上万的用户会"点击!"把它变成网络空间的一个烟坑?当我完成演讲后,一位与会者问我是否有网站压力测试的例子。我说我没有,但像一个优秀的海军陆战队队员一样,我也说过我会找到一个。果然,我做到了。这是一个简单的方法,它没有解决所有负载测试的可能性和需求,但是它简洁地演示了技术。步骤-逐步示例:Acme实验室(网站)他们自称是"自1972年以来免费软件的提供者"。他们的一个产品叫做http泳load(\u加载)并附带完整的源代码。产品是这样描述的:"http_load并行运行多个http获取,以测试web服务器的吞吐量。然而,与大多数这样的测试客户机不同,它在单个进程中运行,因此不会使客户机陷入困境。它也可以配置为进行https获取。"您给它一个文件,其中包含可能被获取的URL列表、指定如何启动连接的标志(按速率或模拟用户数),以及一个指定何时退出(在给定的获取次数或给定的运行时间之后)。对于校验和、限制、随机抖动和进度报告,也有一些可选的标志。要配置测试,您只需要一个文本文件,其中包含在测试过程中要敲打的URL。例如,我将这两行放入一个名为url.file文件:您可以用它做更复杂的事情,例如每次实例化每个测试时使用一个简单的PERL程序生成随机配置文件。为了运行它,我选择了一个简单的测试配置(httpˉload可以做的远不止这些,但是我非常尊重"K.I.S.S.")。下载软件并执行"emakeinstall"编译并安装二进制文件和主页面之后,我按如下方式运行它这个:它在里面转身给了我这个小东西报告:现在,让我们继续讨论加速。它很好,我们只需调用一个URL列表就可以做到这一点,但是如果我们真的想在一个网站上附加一个虎钳夹呢?要做到这一点,你需要一大群机器,对吧?或者更好的办法是,在你最喜欢的云服务器提供商上建立一个虚拟机大军,并对它们进行配置,使它们已经设置了加速器代理,自动在集群管理器中注册自己,做好最坏的打算?在我的例子中,我在我的笔记本电脑上的一个虚拟机上有四个代理,所以我写了一个小的Makefile让emake排列测试并启动它们,每个测试一个探员:因为每个人测试设置为在10秒内每秒运行5次http回迁,测试在串行模式下需要40秒才能完成。然而,如果你用CloudBees加速器的emake在集群模式下启动这个系统,那么所有测试只需10秒左右就可以运行,再加上排列导弹并将其发射到空中的工作需要一点开销。将其扩展到您的VM场,您就拥有了一个非常有效、高效且易于扩展的负载测试平台。任务完成了!有什么好的为:一些例如,您可能会问,与JMeter或LoadRunner等更复杂的工具相比,这有什么优势。首先,这允许您非常容易地将测试分散到多个主机上,而不必在一个主机上执行所有操作。对你们中的一些人来说,这将获得更大的价值,并给你们另一个理由,向你们的老板展示建立CloudBees加速器建立农场是多么好的主意。这也将与免费使用的CloudBees加速器Huddle一起工作,使小型团队能够访问强大的测试机制。另一个需要考虑的非常重要的一点是,您的团队很可能已经开发并使用了许多自行开发的工具,但这些工具很可能缺少两个重要方面:自动化和可伸缩性。electronic commander可以为您提供自动化,而上述技术将为您提供可扩展性。*图片来源:Gisela Giardino在Flickr上的Dare。