Azure ML-尽管启用了自动缩放,但AKS服务部署仍无法处理并发请求

问题描述

我已经使用Azure Kubernetes Service在Azure ML工作区中部署了大约23种模型(总计1.57 GB)。对于AKS群集,我使用了3个D8sv3节点,并为最多6个节点启用了群集自动缩放。 AksWebService配置有4.4核,16 GB内存。我已经为Web服务启用了pod自动缩放功能,并将autoscale_max_replicas设置为40:

aks_config = AksWebservice.deploy_configuration(cpu_cores = 4.4,memory_gb = 16,autoscale_enabled = True,description = 'TEST - Configuration for Kubernetes Compute Target',enable_app_insights = True,max_request_wait_time = 25000,autoscale_target_utilization = 0.6,autoscale_max_replicas = 40)

我尝试了使用10个并发用户运行负载测试(使用JMeter)。我监视了集群应用程序的见解:

enter image description here

enter image description here

我可以看到节点和容器的缩放比例。但是,cpu /内存利用率没有峰值。对于10个并发请求,仅5到6个请求通过,其余请求失败。当我向部署的端点发送单个请求时,响应将在7到9秒内生成。但是,在负载测试日志中,有很多请求都需要超过15秒才能生成响应。并且请求花费了超过25秒的时间,失败,状态码为503。由于这个原因,我增加max_request_wait_time,但是,我不明白为什么尽管进行了如此多的计算,还是要花那么多时间,并且仪表板显示内存使用率甚至不到30%。我应该更改replica_max_concurrent_requests参数吗?还是应该进一步增加autoscale_max_replicas?并发请求负载有时在生产中可能达到100,对此有什么解决方案吗?

将感谢您的任何建议。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)