您的应用程序,办事器是否提供了适当的需求速率?你怎么知道?您百分之百地确定您的最新功能未触发机能降落或内存走漏吗?请通过办事器压力测试来定期查抄应用程序的机能。可是你应该使用哪种工具呢?在这篇博文中,我们将盘货用于负载和机能测试的几个开源工具。虽然市面上有许多的办事器压力测试工具,但这些工具并不必然适合我们的需要。有些仅限于HTTP协议,有些很多多少年没有更新,有些则不敷机动,无法提供参数化,关联,断言和分布式测试功能。为了利便使用,我将把这一点简化为5个开源的办事器压力测试工具,我们将在本文中对其举行审查,我们将介绍每个工具的首要功能,显示简朴的负载测试场景,并显示示例陈诉。 测试场景和基础设施为了举行比力,我们将使用来自20个具有100,000次迭代的线程的简朴HTTPGET哀求,每个工具城市尽快发送哀求。办事器端(被测试的应用程序):CPU:4xXeonL5520@2.27GHz内存:8GB操作体系:MicrosoftWindowsServer2008R2x64应用程序办事器:IIS7.5.7600.16385客户端(负载天生器):CPU:4xXeonL5520@2.27GHz内存:4GB操作体系:64位UbuntuServer12.04加载测试工具:TheGrinder3.11Gatling2.3.0Tsung1.7.0JMeter3.3Locust0.81.TheGrinderGrinder是一个基于Java的免费负载测试框架,可在BSD气概的开源允许下使用。它由PacoGomez开辟,由PhilipAston维护。多年来,社区还贡献了很多改进,修复和翻译。Grinder包括:Grinder节制台:此GUI应用程序节制各种Grinder署理并及时监控成果,节制台可用作编辑或开辟测试套件的基本交互式开辟情况(IDE)。Grinder署理:每个都是无头负载天生器,可以有多个工人来创建负载Grinder的主要特点:TCP署理将收集运动记载到Grinder测试剧本中。随着署理程序实例数目的增长而扩展的分布式测试。Python或Closure的强盛功能,与任何JavaAPI相联合,用于创建或修改测试剧本。机动的参数化,包括动态创建测试数据以及使用外部数据源(如文件和数据库)的能力。后处置惩罚和断言,可完全会见测试成果以举行关联和内容验证。支撑多种协议。2.GatlingGatling是一个免费的开源机能测试工具,首要由StephaneLandelle开辟和维护。Gatling有一个基本的GUI,仅限于测试记载器。可是,可以使用易于读/写的特定于域的语言(DSL)开辟测试。Gatling的首要特点:HTTP记载器。用于测试开辟的富有表示力的自诠释DSL。基于斯卡拉。使用异步非壅闭方法天生更高负载。完全支撑HTTP(S)协议,也可用于JDBC和JMS负载测试。用于数据驱动测试的多个输入源。强盛而机动的验证和断言体系。周全的信息负载陈诉。3.TSUNGTsung(以前称为IDX-Tsunami)是本次评测中唯逐一款非基于Java的开源机能测试工具。Tsung依靠于Erlang,以是你需要安装它,Tsung于2001年由NicolasNiclausse建议,他最初实现了分布式负载–Jabber(XMPP)的测试解决方案。几个月后,增长了对更多协议的支撑,而且在2003年,Tsung可以或许执行HTTP协议负载测试。今天,它是一个功能齐备的机能测试解决方案,支撑现代协议,如websockets,身份验证体系和数据库。Tsung的首要特点:固有的分布式设计。基于多线程的底层Erlang架构模仿了中端开辟职员计较机上的数千个虚拟用户支撑多种协议。支撑HTTP和Postgres的测试记载器。可以通过多种协议网络负载天生器和被测应用程序的操作体系的怀抱尺度。动态场景和混淆举动,机动的负载方案许可您在单个测试中界说和组合随便数目的负载模式。后处置惩罚和相关。用于数据驱动测试的外部数据源。嵌入式易读的负载陈诉,可在加载时代网络和显示。Tsung没有为测试开辟或执行提供GUI,以是你必需使用shell剧本。4.JMETERApacheJMeter 是本次评测中唯一的桌面应用程序,它具有效户友好的GUI,使测试开辟和调试加倍容易。可供下载的最早版本的JMeter日期为2001年3月9日。从那时起,JMeter已被普遍接纳,此刻是SilkPerformer和LoadRunner等专有解决方案的盛行开源替换品。JMeter具有模块化布局,此中焦点通过插件扩展,这意味着全部实现的协议和功能都是由ApacheSoftwareFoundation或在线贡献者开辟的插件。JMeter的首要特点:跨平台,JMeter可以在任何带有Java的操作系统上运行。可扩展性,当您需要比单个呆板可以创建的更高的负载时,JMeter可以以分布式模式执行,这意味着一个主JMeter机器节制多个长途主机。多协议支撑。以下协议都支撑开箱即用:HTTP,SMTP,POP3,LDAP,JDBC,FTP,JMS,SOAP,TCP。采样器周围的前处置惩罚器和后处置惩罚器的多种实现,这提供了高级配置,拆卸参数化和相关功能。各种断言来界说尺度。多个内置和外部侦听器,可视化和阐明机能测试成果。与首要构建和连续集成体系集成,使JMeter机能测试成为整个软件开辟生命周期的一部门。5.Locust 基于Python的开源框架,它使用纯Python语言编写机能脚本。该框架的首要独特之处在于它是由开辟职员开辟的,Locust的目的是Web应用程序和基于Web的办事,可是,假如您认识Python剧本,则可以测试险些任何您想要的内容。除此之外,值得一提的是,Locust有一种完全差别的模仿用户的方式,完全基于事务方法和gevent协程作为此过程的支柱,此过程甚至可以在平凡笔记本电脑上模仿成千上万的用户,甚至可以执行具有很多步骤的非常复杂的场景。Locust 首要特点:跨平台,因为Python可以在任何操作体系上运行。因为基于事务的实现,在通例呆板上具有高可扩展性。权限断言能力,仅受您本身的Python常识的限定。很好的基于Web的负载监控。基于代码的脚本实现,可以利便地与版本节制一路使用。可伸缩性,由于您可以运行与很多署理一路分发的Locust。可以或许使用纯Python代码实现自界说采样器来测试险些全部内容。特点比力表每个测试工具提供的首要功能的对比表相关文章推荐根办事器是什么? 在将域名转换为IP地址时,根域名办事器(也称为DNS根办事器或简称根办事器)负责基本功能:它相应域名体系根区域[…]...没有钱怎么创业?年青人的创业指南 创业是一个艰巨的决定,没有钱创业更是难上加难,很多人只是为了进修若何开展营业而阅读启动指南。然而,只有少数有抱[…]...IOT!成为物联网专业人士所需的技术列表 我们分享了需要成为IOT物联网专业人士所需要拥有的十大技术,对于在IOT物联网探求职业的结业生来说,这些长短常[…]...制造业面对的三大挑战及解决方法 领先的制造业企业面对着数字化和新客户期望的不确定性,制造业是全球经济中紧张的财富缔造部分之一,占全球劳动力的很[…]...什么是云计较,云计较是什么意思? 云计较是指通过互联网(“云”)提供计较办事,如:办事器,存储,数据库,收集,软件,阐明,人工智能等,以提供更快[…]...开源办事器压力测试工具盘货
我要评论