标题:
在 Bluemix 中快速执行应用程序负载测试和扩展(2)
[打印本页]
作者:
look_w
时间:
2018-11-16 13:04
标题:
在 Bluemix 中快速执行应用程序负载测试和扩展(2)
第 2 步. 向应用程序添加 Bluemix Autoscaling 功能现在负载测试结果表明需要应用扩展来处理更大量的并发用户,我们需要向应用程序添加可扩展性。在 Bluemix 中,可以简单地增加应用程序实例的数量,并从可用的 Bluemix 帐户配额中分配更多内存。但是,这是一个手动过程,需要管理员来执行此操作,而且可能导致两个重大问题。首先,应用程序管理员或操作团队将需要持续地监视应用程序和响应时间,以便分配额外的实例或内存。其次,用户负载下降时,额外的内存和实例所使用的不必要资源可能会被浪费掉,除非操作团队勤勉地精简这些资源。
借助 Bluemix 中提供的 Autoscaling 服务,可以避免这些问题。应用程序可依据可自定义的扩展策略,动态地添加内存和应用程序实例。Autoscaling 服务使您能够定义动态扩展规则,根据性能指标(比如内存使用和 JVM 资源使用)来 “扩展” 和 “精简” 应用程序实例数量和分配的内存。
确保足够的内存在添加 Autoscaling 服务之前,您可能想要检查您 Bluemix 帐户空间中可用的内存及应用程序实例和服务数量。基于您当前的使用情况和可用的帐户配额,Autoscaling 服务可能会限制您可添加的额外的应用程序资源量。要释放更多内存,可执行以下一个或多个操作:
通常,停止任何运行的应用程序可释放足够的内存。要停止任何应用程序,可以在 Bluemix 仪表板中选择您的应用程序。在 Application Overview 中,单击概述页面右上角的
Stop App
。
如果希望通过删除任何应用程序或应用程序服务实例来释放内存和资源,将它们用于自动扩展,那么可以在 Bluemix 仪表板中选择您的应用程序。在 Application Overview 中,单击概述页面右上角的
Delete App
。
在提示时,如果还希望删除任何绑定到该应用程序的服务,那么可以选择
OK
。如果提示删除您应用程序的任何路由,也可以按下
OK
。
如果不确定复苏实例是否已删除,那么可以在 Bluemix 仪表板中查看您 Bluemix 空间中的所有应用程序和服务。滚动到
Application Services
部分。要删除任何单个服务实例,可以单击
Delete Service
。
向应用程序添加 Autoscaling 插件
在浏览器中打开 Bluemix 仪表板,选择您的应用程序以打开应用程序概述。单击
Add a Service
。
找到 DevOps 节中的 Autoscaling 服务,单击
Autoscaling
的图标。
在
Add a Service
窗口的右侧,在
Space
提示符下,选择您部署的应用程序所在的 Bluemix 帐户空间中。在
App
提示符下,您部署的应用程序应已选择。保留
Selected Plan
选项作为默认值。单击
Create
。
在提示重新启动您的应用程序时,单击
OK
。
应用程序重新启动后,在 Bluemix 仪表板中单击它。应用程序概述现在应显示 Autoscaling 服务已绑定到该应用程序。
单击您的应用程序概述中的
Autoscaling
服务实例。Autoscaling 控制台将启动。从此控制台中,可以选择任何以下选项卡:
Policy Configuration
:可用于设置自动扩展策略的定义,它们将依据您指定的扩展规则而自动应用。
Metric Statistics
:可用于查看应用程序性能指标,比如内存使用。
Scaling History
:可用于查看您应用程序的服务自动应用的任何自动扩展操作。
单击
Policy Configuration
选项卡来创建扩展规则,定义要如何分配内存或应用程序实例,比如在超过内存阈值时分配额外的资源。有关更多信息,请查阅 “ 。”
单击
Enable
激活您创建的每条规则。
您可能需要重新启动应用程序。如果是这样,则需要等待它重新启动。
自动扩展服务激活后,返回到 Blazemeter 控制台并继续对应用程序执行负载测试。
在我的测试中,Blazemeter 中的持续负载测试表明,大约 17 个用户时响应时间非常长,然后会自行恢复,在下面可以看到。大约 22 个用户时,性能再次开始下降。我的自动扩展策略在此刻开始生效,能够更正总体应用程序响应时间。最终,甚至在应用程序负载中包含 30 个用户时,响应速度也是原来的 2 倍。
单击
Scaling History
选项卡,可显示任何自动应用的自动扩展操作。在我的 Blazemeter 测试场景中,尽管响应时间在 15 个并发用户时达到峰值,但应用程序能够在大约 19 个用户时恢复,而且我指定的资源使用阈值并未激活。但是,扩展历史表明,大约 25 个并发用户时会超过我的自动扩展规则中的一个阈值,然后会自动部署一个额外的应用程序实例。这种情况会在响应时间第二次显著增长时发生。(在以后的负载测试期间,还会部署一个额外的实例。)
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0