Amazon web services aws Sagemaker使用每个实例的实例度量自动缩放
我使用aws Sagemaker端点进行推理。根据通信量,端点应该通过向端点添加更多实例来上下扩展。我试图使用实例度量(CPUUtilization、MemoryUtilization或DiskUtilization)作为sagemaker端点自动缩放的度量。以下是此处定义的预定义指标: 问题在于给定端点的实例度量是端点内所有运行实例的总和。例如,在以下端点运行时设置中: 当前运行的实例数为5,则CPUUUtilization的值可以在0到500%之间。根据运行的实例数,最大值将发生变化,因此应更改自动缩放策略。 问题是:是否有任何方法可以在不显式计算或通过自定义度量的情况下找出每个实例的度量,即CPUUutilizationPerInstance?Amazon web services aws Sagemaker使用每个实例的实例度量自动缩放,amazon-web-services,amazon-cloudwatch,autoscaling,amazon-sagemaker,Amazon Web Services,Amazon Cloudwatch,Autoscaling,Amazon Sagemaker,我使用aws Sagemaker端点进行推理。根据通信量,端点应该通过向端点添加更多实例来上下扩展。我试图使用实例度量(CPUUtilization、MemoryUtilization或DiskUtilization)作为sagemaker端点自动缩放的度量。以下是此处定义的预定义指标: 问题在于给定端点的实例度量是端点内所有运行实例的总和。例如,在以下端点运行时设置中: 当前运行的实例数为5,则CPUUUtilization的值可以在0到500%之间。根据运行的实例数,最大值将发生变化,因此
通过设置每个实例CPUUUtilization的阈值来自动缩放策略似乎是正确的方法。aws上还有其他类似的选项吗?有一个InvocationsPrinstance度量,显示使用“总和”统计时每个实例的平均调用次数 这篇博客文章详细介绍了如何对端点进行负载测试,以找到在自动缩放中使用的InvocationsPerInstance的良好目标值:这描述了如何定义自定义指标来跟踪每个实例的平均cpu利用率 tl;博士
您能否将警报更改为基于“平均值”而不是“总和”进行评估?@Shahad cloudwatch提供此类指标的每次统计数据。例如,每1分钟的平均CPU利用率。它没有为每个实例提供任何这样的统计信息。例如,对于每个区域/类型的端点实例,我们必须校准新的度量阈值。每当我们想要改变特性或模型本身时,我们必须再次这样做。这就是为什么像CPU利用率、内存、磁盘空间或所有这些的组合这样的内在指标是首选的原因。
TargetTrackingScalingPolicyConfiguration={
'TargetValue': 90.0,
'CustomizedMetricSpecification':
{
'MetricName': 'CPUUtilization',
'Namespace': '/aws/sagemaker/Endpoints',
'Dimensions': [
{'Name': 'EndpointName', 'Value': endpoint_name },
{'Name': 'VariantName','Value': 'AllTraffic'}
],
'Statistic': 'Average', # Possible - 'Statistic': 'Average'|'Minimum'|'Maximum'|'SampleCount'|'Sum'
'Unit': 'Percent'
},
'ScaleInCooldown': 600,
'ScaleOutCooldown': 300
}