aws 性能_AWS上的应用程序自动扩展–选项和对性能的影响

aws 性能

至关重要的是扩展软件应用程序,以避免由于网站的客户群或需要处理大型数据集的应用程序等导致的工作负载增加而导致性能瓶颈的情况。云服务提供商通常是访问其他应用程序的最佳方法随需应变的资源,可根据应用程序的负载变化来放大或缩小。

1.什么是可伸缩性?

可伸缩性是解决方案可以通过添加计算和存储资源的一种有能力的方式来处理增加的工作负载或事务的特性。 如果您当前的解决方案可同时支持100万用户,那么具有高度可扩展性的软件将通过添加额外的资源而对数十亿用户有效。 为了处理更多负载,有两种类型的缩放比例:垂直缩放比例和水平缩放比例

1.1垂直缩放(或向上缩放)

在这种类型的扩展中,您将添加更多具有容量增加的高级硬件,例如更多的RAM,强大的处理器等,以增加应用程序的负载。 垂直扩展的问题在于,容量可以增长多少始终存在限制。 由于硬件成本,这种类型的缩放非常昂贵,并且花费时间来获得新的硬件。 如果要快速扩展应用程序以增加负载,则这种扩展类型不是一个好选择。

1.2水平缩放(或横向扩展)

在这种类型的扩展中,可以将更多服务器添加到现有容量中,以增加应用程序的负载。 应用程序增加的负载通过负载均衡器分布在群集中的所有服务器上。 如果您想快速增长软件并且成本不高,则这种类型的扩展是最佳选择。

通过配置更改即可轻松扩展Cloud Environments中的应用程序,配置更改会根据性能监控指标自动将其他服务器添加到群集中。

通过配置更改即可轻松扩展Cloud Environments中的应用程序,配置更改会根据性能监控指标自动将其他服务器添加到群集中。 在本文中,我们将讨论可用于在AWS Cloud Environment中自动缩放AWS EC2 Auto Scaling组的不同Autoscaling选项。

2.什么是自动缩放?

自动缩放是云计算环境中的一项功能,当使用情况指标达到配置的阈值时,该功能会自动从实例群集中添加或删除虚拟机等计算资源。 自动缩放或动态缩放功能可确保将新的计算资源无缝地添加到群集中,以满足需求峰值,并在需求下降时终止实例。

在AWS上自动扩展
AWS自动扩展

3.为什么需要自动缩放?

无论应用程序上的负载如何,自动缩放都有助于获得更好和一致的性能。 自动缩放还可以通过在需求减少时自动终止资源来帮助降低成本。

使用自动缩放,您可以配置在满足需求阈值时要添加或删除的服务器数量。 另外,您可以配置可以添加到群集的最大服务器数量。 不应将任何数据存储在属于Autoscaling组的实例上,而是将数据持久保存到分布式存储系统中。

4.自动缩放组件

请按照此处概述的步骤从AWS Console创建Autoscaling Group。 以下是自动缩放的主要组成部分。

EC2实例 :EC2是Amazon Web Services(AWS)云环境中用于运行应用程序的虚拟服务器。 EC2实例是从AMI(Amazon Machine Images)创建的。

Auto Scaling Group(ASG) ASG是具有相似特征的EC2实例的集合,并且是从同一AMI创建的。 使用自动缩放功能,可以根据负载从动态缩放组中动态添加或删除实例。 Autoscaling组通过执行定期的运行状况检查来维护所需的实例数。 如果发现任何不正常的实例,ASG会终止该不正常的实例并启动新实例。

启动配置 :启动配置是ASG用于启动EC2实例的模板。 在启动配置中,您需要指定AMI Id,实例类型,密钥对,安全组等。您可以使用相同的启动配置来创建多个自动伸缩组。

伸缩标准伸缩标准配置指示ASG有关何时以及如何伸缩。

5. AWS上不同类型的Auto Scaling?

以下是AWS云环境上可用的三种不同类型的自动扩展选项:

5.1React式自动缩放

在“ React式缩放”中 ,您定义缩放标准以根据需求的变化进行缩放。 根据平均CPU消耗或EC2实例的内存使用情况(基于Cloud Watch指标)等,对Auto Scaling组(ASG)中的Amazon EC2实例进行缩放。例如,如果您不希望ASG的CPU使用率超过80%,您可以设置缩放标准以在达到此阈值时自动缩放。 当达到配置的阈值时,将添加新的EC2实例或从ASG中删除现有的EC2实例。

5.2主动自动缩放

主动式自动缩放是一种机制,它基于对ASG流量周期性峰值的历史观察,调度EC2实例以实现可预测的负载变化。 例如,如果您的视频应用在黄金时段(例如6pm – 9 pm)使用率较高,则可以安排自动缩放以在6 pm之前添加其他实例,并在9 pm之后终止其他实例。

要创建主动式自动伸缩组,您需要创建一个计划操作,该操作应在该操作应生效的开始时间,最小,最大和所需容量上进行。 计划操作告诉ASG在指定时间执行横向扩展或纵向扩展操作。

请按照以下步骤创建主动或计划自动缩放。

5.3预测性自动缩放

在AWS re:Invent 2018即将发布之前,AWS推出了AWS EC2最受期待的功能Predictive Scaling 。 借助Predictive Scaling EC2实例,可以在流量变化之前扩展容量。

预测性自动缩放基于训练有素的机器学习(ML)算法,该算法可与时间序列数据一起使用。 这项经过训练的ML算法可根据您实际EC2使用情况中的数据以及从AWS观察中得出的数十亿个数据点来预测预期的流量和EC2使用情况。 该模型至少需要一天的历史数据才能开始进行预测; 每24小时进行一次重新评估,以创建下一个48小时的预测。 ML模型会随着时间的推移而变得更好,因为它可以从Autoscaling组生成的实际使用情况数据中学习。

只需单击即可启用预测性自动缩放。 通过主动扩展,可以避免EC2资源的过度配置,这将减少EC2成本。 可以按预测比例设置缓冲区,因此新启动的实例可以在准备好在预测时间处理流量之前进行预热。 使用预测缩放功能没有任何成本。 预测性自动缩放有助于优化EC2成本,非常适合负载峰值为周期性的应用。

配置预测伸缩计划:

在AWS上进行自动扩展-预测性扩展配置
预测缩放配置
来源: AWS Blog

您可以同时使用预测缩放和动态缩放。 预测性伸缩有助于进行预测,而动态伸缩则有助于基于云监视指标进行横向扩展。 您可以根据预先填充的指标或自定义指标进行预测。

基于CPU使用率指标的样本预测。

在AWS上自动扩展-CPU利用率
预测扩展:CPU利用率
来源: AWS Blog

注意 :预测性自动缩放在美国东部(弗吉尼亚北部),美国东部(俄亥俄州),美国西部(俄勒冈),欧洲(爱尔兰)和亚太地区(新加坡)地区可用

6.总结

自动缩放是一项强大的功能,可以在应用程序负载变化时解决应用程序中的性能瓶颈。 当对应用程序的需求较少时,通过终止Autoscaling组中的实例,还可以帮助节省成本。 预测性自动缩放功能可通过利用历史性的车队使用指标来帮助预测前方的负载并相应地缩放车队,而无需人工干预。

翻译自: https://www.javacodegeeks.com/2019/02/application-auto-scaling-on-aws-options-and-impact-on-performance.html

aws 性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中月日年这种怎么转换成年月日_最“热乎”的Java社招面试经历分享(共40个面试题)...

面试时间:2020年10月12日1、final finally finalize的区别2、synchronized关键字的作用以及在什么时候使用,concurrent包里面其它的锁。3、有遇到过死锁的问题吗?(死锁的原理和解决方法)4、hashmap的实现原理,hashmap和hashtable的…

(案例)使用Cookie保存用户最后一次访问的时间

文章目录需求分析示例代码需求 1.访问一个Servlet,如果获取不到上一次访问的时间,则提示:您好,欢迎访问。 2.如果可以获取上一次访问的时间,则提示:您好,欢迎回来,您上次访问时间为…

aws lambda使用_使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存

aws lambda使用快速提供内容对于任何网站或应用程序具有更好的客户体验都是必不可少的。 如果您将网站或应用程序托管在AWS Cloud中,那么无论从何处访问应用程序,都可以以较低的延迟快速提供内容。 AWS提供了CloudFront服务,用于将内容缓存在…

android+阴影+xml,Android 阴影视图 ShadowViewHelper

软件介绍ShadowViewHelper 是 Android 的阴影布局。xml:android:id"id/activity_main_shadow_view_b"android:layout_width"wrap_content" android:layout_height"wrap_content"android:layout_gravity"center"android:layout_marginT…

docker-compose观察实时日志_基于 Flink SQL CDC 的实时数据同步方案

整理:陈政羽(Flink 社区志愿者) Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的数据同步方案,基于 F…

android dialog 字体,android – 为AlertDialog的MultiSelectItems设置自定义字体(字体)

AlertDialog.Builder使用AlertController.AlertParams构建对话框.我检查了AlertDialog.Builder #create()调用AlertController.AlertParams #application()如果设置了项目,则创建ListView并分配适配器(AlertParams#createListView()).我基于createListView源创建了自定义适配器…

困难是成功路上的垫脚石_Java是开发的垫脚石。 学习吧!

困难是成功路上的垫脚石Java是全世界使用最广泛的编程语言之一 。 尽管也有很多其他编程语言,但是没有什么可以比Java更好的了。 Java是用于开发移动应用程序,游戏,Web应用程序,桌面应用程序和许多其他令人兴奋的事物的出色语言之…

python 3.6.5 shell_Linux 安装 Python3.6.5

1. 安装依赖环境 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 2. 下载 Python 3.6.5 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 3. 创建安装…

你真的会用Mac中的Finder吗?

参加:https://zhuanlan.zhihu.com/p/144139903

用c语言实现mfc系统,MFC实现学生选课系统

本文实例为大家分享了MFC实现学生选课系统的具体代码,供大家参考,具体内容如下先上效果图:主要功能:输入学号,从数据库中查找学号,若找到相匹配的学号,则显示数据库中姓名、学历、导师&#xff…

spring 构造函数注入_Spring构造函数依赖注入示例

spring 构造函数注入欢迎使用Spring构造函数依赖注入示例指南。 基于构造器的依赖注入是Spring 依赖注入的一种 。 依赖注入的另一种类型是Setter注入和字段注入。 有关Spring依赖注入的更多信息: Spring二传手注射的例子 Spring田间注入 依赖注入–构造函数与现…

python用pip安装numpy mac_Mac下python安装numpy,pandas,matplotlib

numpy是数据分析的库,我的目的是分析股票的数据,Pandas 有两种自己独有的基本数据结构Series (一维)和 DataFrame(二维),它们让数据操作更简单了。它也是 Python 的一个库,所以&…

IntelliJ IDEA for Mac工件包(artifact)中 Web facet resources 的模块名称有误,如何修改?

在工件管理界面中,如果某个工件包中 Web facet resources 的模块名称有误,如下图所示: 你可以在项目根目录下的 .idea/artifacts 目录下找到以工件名称命名的 xml 文件,找到其中含有 facet 属性的 element 标签,更正…

html dom 修改,HTML DOM - 修改

创建新的 HTML 元素如需向 HTML DOM 添加新元素,您首先必须创建该元素(元素节点),然后把它追加到已有的元素上。实例This is a paragraph.This is another paragraph.var paradocument.createElement("p");var nodedocument.createTextNode(&q…

python数据处理常用函数_Python常用数据处理函数

java多线程处理 package com.copyFile; import java.io.BufferedReader;import java.io.File;import java.io.FileReader;im ... [Android] RelativeLayout, LinearLayout,FrameLayout Android RelativeLayout 属性 // 相对于给定ID控…

redis nosql_NoSql数据库:Cassandra,Mongo,Redis数据库比较

redis nosql1.什么是NoSql数据库? NoSql(不仅是Sql)数据库是可水平扩展,持久存储半结构或非结构化数据并具有灵活模式的非关系数据库。 这些数据库支持多种数据模型,例如键值,文档,列族&#xf…

SVN更新数据和提交数据的几个疑问

有以下几个问题: 1.我检出一份副本到本地,修改了几个文件,然后我提交到SVN服务器中,此时服务器是如何更新有关的数据的呢?是不是把原来旧的文件数据删除了,保存最新提交的数据呢? 2.假设我修改…

html转pdf后 框会消失,html或其它文件转pdf弹出打开保存框

第一步:下载wkhtmktopdf软件,安装在指定的目录,如:C:\htmlToPdf\wkhtmltopdf,第二步:把安装好的wkhtmltopdf文件目录加到环境变量Path路径中,public void convertFile(){HttpURLConnection con …

SVN常见问题解答

参加:https://subversion.apache.org/faq.zh.html