如何现代化Telia性能测试与Tricentis NeoLoad吗188金宝搏app苹果下载软件
听到Telia,瑞典最大的电信公司之一,他们如何使用Neoload性能测试。
负载和性能测试的软件交付过程仍然是一个至关重要的方面。188金宝搏官网登录app确保您的应用程序支持并发用户的预期数量防止品牌受损,生产系统故障,损失的收入。
有一个说在工程解决方案的形状是由形状的问题。翻译这个性能测试解决方案,有几种常见的设计元素,所有负载和性能测试解决方案。
性能测试操作基于定义通常被称为一个场景。与更传统的单元测试或功能测试有很公司标准关于什么是成功或失败,同时性能测试要求所有脚本执行期间,不断循环的测试。这将创建一个不同的用户行为的传播系统长时间,模拟生产负荷和允许团队观察被测系统,以确定是否执行预期。
然而,场景本身是高度可配置的,允许测试人员不同的用户数量,执行的速度,和许多其他因素。由于大量的可配置的元素,变得极具挑战性理解多少资源必须运行测试。
未能有足够的资源导致的引入人为的瓶颈。瓶颈是在系统负载生成不能服务速度比到达,导致预期的系统未能执行。人为的瓶颈就是这个故障点不存在于被测试的应用程序,但在负载和性能测试解决方案被采用。主要原因NeoLoad总是显示器控制器和负载测试期间发电机是确保任何性能问题不相关平台用于生成测试。
最常见的四个元素定义限制多少虚拟用户可以运行在一个给定的负载生成器是多少内存,CPU、网络带宽,需要磁盘I / O。
记忆也许是最容易量化。当用户进入一个虚拟的存在作为一个测试开始,它被分配一个特定的测试脚本执行。这个测试的范围,或用户通过应用程序的路径,有近100%的影响大小的虚拟用户的主机所需的内存。测试脚本的范围更大,更复杂的底层应用程序——大内存的虚拟用户需要运行的测试脚本从开始到结束。记住,一旦完成,虚拟用户将重启测试脚本,它遍历一遍又一遍地开一个一致的用户数量的持续时间测试。
你的供应商没有了解大小范围您计划构建性能测试脚本。供应商也不理解底层复杂的应用程序可能需要额外的内存动态内容,大图片,多个变量和其他逻辑,等等。
基于内存的人工瓶颈出现在以下两种方式之一:
确定需要多少处理能力运行虚拟用户不如线性的记忆。类似的因素,如应用程序的复杂性,对CPU的消耗影响更大的可见的应用程序组件(比如JavaScript通常需要执行的测试进展。但是,与记忆仍然相对线性,CPU是显著影响场景设计在你的场景的定义。
所有性能测试解决方案可以暂停执行模拟用户观察应用程序。当你作为一个用户导航到一个网页,即使你非常熟悉这个网站,一个基本的相互作用仍然需要你的鼠标移动到一个特定的地方,点击下一步。这个时间定位鼠标或数据输入字段思考时间。思考时间代表的区别现实的用户与系统的交互和蛮力执行共享许多特征的分布式拒绝服务(DDOS)攻击。
例如,想象一个仓库应用程序的员工使用hand-scanner扫描条形码印在产品,获取信息,如价格、数量、材料等等。怎么这样的用户与他们的软件?188金宝搏官网登录app他们会走到一个特定的项目,定位条形码,扫描代码,等待信息显示在他们的设备,然后阅读信息。思考时间添加到脚本代表时间散步和定位条形码,然后在交易时间查看信息。测试无需用户思考时间代表了工人短跑通道,向外“条形码扫描器”指出,扫描每一项他们冲过去。
驱动负载对系统没有用户思考时间意味着CPU执行持续居高不下,没有停顿,所有虚拟用户。这个地方在负载生成器的需求大大高于它如果有思考时间暂停测试,此时虚拟用户的CPU负载下降基本上为零。负载生成器的对可扩展性的影响是巨大的。
有趣的是,关键指标寻找为了决定你是否有一个人造的瓶颈不是CPU消耗,但CPU队列。它是可以接受的风险,但可以接受到你的负载生成器运行在100%的CPU消耗。然而,当一个请求需要执行但有足够的CPU周期,它导致一个CPU队列。在等待CPU周期处理请求你的性能结果仍在计时,并人为地夸大。
思考时间仅仅代表一个配置,可以产生巨大的影响对CPU的消耗你的负载生成器。我们作为软件供188金宝搏官网登录app应商,没有了解你计划如何运行你的测试。
你的负载生成器有网络连接,就像CPU可以成为饱和运行测试数据。从历史上看,我们发现网络容量大大超过了CPU和内存的容量,所以很少找网络饱和限制因素在您的测试。
尽管所有因素在场景设计适用于网络带宽,还有一些细节需要了解视图。像CPU,它不是网络带宽消耗是一个核心问题,但网络排队,完全相同的影响你的性能测试结果。然而,奇怪的行为可以在这里展示,10 g网卡插入一个千兆网络。这可能导致网络是完全饱和的情况下使用10%,自限制因素并不是可用的网卡(虚拟或物理)负载生成器,但网络连接。
虽然罕见,网络排队仍然是一个主要指标测试引入了人为的瓶颈和结果被人为地退化。
最佳实践后,你不应该做任何形式的读或写操作从文件作为一个性能测试的一部分。您的测试所需的测试数据文件管理由中央指挥和控制组件和加载到内存中,而不是迫使磁盘I / O操作。任何性能测试,包括磁盘读或写操作将立即表面人为的瓶颈。
磁盘也可以成为饱和时超过可用内存和操作系统恢复使用虚拟内存磁盘上的。虽然这确实导致瓶颈由于磁盘活动,它更妥善处理,确保足够的内存可用。
每个组织需要确定这script-by-script和scenario-by-scenario基础上。
记忆是最容易理解和整个场景仍然相对线性执行。确定内存消耗对于每一个测试脚本,创建一个测试脚本的情况下只使用。添加一定数量的用户,然后高原,然后加入一定数量的用户,然后再高原。
通过检查系统内存的高原,您可以确定内存微分与高度的准确性。在上面的例子中,一旦场景开始零虚拟用户运行3分钟。在这高原,样本可用的系统内存。当未来的高原5达到虚拟用户在9分钟,再次样本,然后又在21分钟,10个用户正在运行。这产生一个非常具体的指标线性应用的,无论负载生成器。
CPU是更难以理解。你的负载生成器是一个物理机器上运行?虚拟机?一个集装箱吗?对于那些管理程序平台,底层硬件,其他进程可能会运行在他们什么?执行能力之间的差异是英特尔酷睿19 - 10885 h 2.40 GHz 8核心处理器和一个英特尔酷睿i7 - 4790 k的4.00 GHz 4核心处理器的CPU消耗的一个独特的独特的应用程序的测试脚本?如何改变如果你修改的时间思考时间在你的场景吗?
不幸的是,理解这一点的唯一方法是通过经验分析。作为一个建议,首先小数量的虚拟用户,看负载生成器本身的测试执行。随着时间的推移,你将学习如何基础设施可以扩展来满足您的需求。
作为一个例子,你有五种不同的测试脚本在一个场景和希望运行500个用户测试,用户均匀地分布在这五个测试脚本(100用户)。你不确定你需要多少负载生成器,所以你选择两个第一。分析测试表明,执行期间在峰值负载从未移动CPU占用率在30%以上。下次你开始测试,运行一个负载生成器和观察CPU消耗一动不动的在60%以上。
这个过程并不是一成不变的。添加新组件的应用程序,应用程序更改你的存在是为了测试可以体验改变CPU消耗的测试脚本。可以设计新的测试脚本和场景。性能测试基础设施可能会接收到一个更强大的硬件升级。测试运行期间持续监控基础设施是至关重要的,以确保没有人工瓶颈引入您的测试。
网络约束镜子CPU,所以很少发生,几乎没有可以提供额外的细节超出了指导监控CPU消耗。什么是重要的认识到是,你可能饱和量较低的网络流量。插入网卡能够10 gb / s网络贩卖到速度达每秒100 mb的网络网络会导致人工瓶颈由于网络饱和,但是你的网卡在这个场景中只会显示1%的利用率。
重要的磁盘活动期间测试是罕见的,但如果你看到我推荐看的记忆——这是一个强烈的指示操作系统已超过可用的RAM和现在使用虚拟内存。如果你仍然有足够的内存,检查测试脚本是否有任何文件I / O操作嵌入和删除它们。
上浆性能基础设施可以看起来像一个艰巨的任务,但是通过简单的观察和纠正增量,可以快速优化这个环境。你的供应商可以而且应该能够提供一些过程指导,但最终应用程序和测试策略是唯一的你,将你的负载生成器大小和容量指标。