这篇文章会详细的给大家讲解一下有哪些改进Azure App Service的几点建议,而且文章内容质量很高,所以边肖会分享给大家作为参考,希望大家看完这篇文章有所了解。
边肖介绍了六个技巧,可以提高Azure App Service托管应用的性能。其中一些技能是您现在可以进行的配置更改,而其他技能可能需要对应用程序进行一些重新设计和重新配置。这些技能对于正常的企业部署仍然具有指导意义。
长话短说
开发人员都希望从Azure中部署的应用服务中挤出最佳性能。更好的性能不仅能获得更好的响应体验,如果性能提升策略能在Azure中起到“四两”的效果,还能为我们省钱。
在本文中,我们将研究提高运行在Azure App Services中的Web程序的性能的设置和策略。
可以在应用服务配置界面操作以下性能改进建议。这组技能的主题是
评估节目现状,挤出节目本身的表现。
1.启动HTTP/2
2018年初,微软宣布在App Services中支持HTTP/2,但到目前为止,在Azure中默认创建的App Services仍然使用HTTP1.1协议。HTTP/2对常见的Web协议进行了重大改变,其中许多协议旨在提高性能和减少Web延迟(例如,HTTP/2中的报头压缩和二进制格式将减少有效负载大小);此外,请求管道和多路复用等功能允许以更少的网络套接字执行更多的并发请求,并有助于避免缓慢的请求阻塞所有后续请求,这是HTTP1.1中的常见问题。
如上所示,为您的应用服务启用HTTP/2协议。在下拉列表中指定HTTP2.0版本后,所有支持HTTP/2的客户端将自动升级其连接,不支持HTTP/2的客户端仍将以原始的Http1.1模式进行交互。
以下是验证HTTP/2改进的简单测试:
App Service的一个托管页面是指脚本、CSS资源和16张图片(每张图片大小超过200 KB),用开发者工具记录App Service使用HTTP 1.1时发生的事情。
请注意,观察栏的红色部分显示请求后在阻塞状态下开始。这是一个可怕的“行头阻塞”问题,其中【连接数和并发请求数的限制】限制了客户端和服务器之间的吞吐量,客户端在第一个请求开始后800毫秒才会收到页面的最后一个字节。
接下来,在应用服务中启用HTTP/2支持:
在客户端或服务器上没有任何其他配置更改的情况下,所有请求都可以在不到500毫秒的时间内完成。因为HTTP/2提高了网络利用率,所以避免了阻塞。
2.关闭空闲睡眠
如果您有将应用程序部署到IIS的经验,那么您应该知道IIS将在一段时间不活动后休眠(在IIS中,此配置默认为20分钟)。
Azure服务延续了这一传统。虽然休眠可以为运行在同一个App Service Plan上的其他App Services提供资源,但这种策略会损害当前应用的性能,因为下一个传入的请求将经历Web服务器冷启动的过程:缓存为空、连接池为空、站点预热,所有请求的速度都比正常情况下慢。为了防止空闲睡眠,您可以在“应用服务配置”中设置[始终开启]标志。
3.关闭应用服务实例关联
即使您只运行应用程序服务计划的单个实例,每个Azure应用程序服务之前都会有一个负载平衡器,它会将请求转发给应用程序服务实例。当应用服务因流量而横向扩展多个实例时,负载平衡器使用应用请求路由将连接会话分发到实例。
Azure无法知道应用程序是否是无状态服务,因此默认的应用程序服务将确保客户端在会话期间访问相同的应用程序服务。
实例,为了实现这种亲和力,负载均衡器会在对客户端的第一个响应中注入ARRAffinity Cookie。
如果你的应用程序是stateless,并允许负载平衡器在实例之间分配请求,请关闭请求路由cookie,以提高性能和弹性。
下面的改进需要一些其他网络规划或重组(某些情况下,还需要更改应用程序本身)
这一组技巧中的主题是缩短数据在网络上传输的距离
4. 让你的服务资源相距更近
比如常规的WebApi服务,需要搭建App Service和Database,建议你把资源放在同一区域协同工作,不然一次请求,处理链路会满世界跑。
5. 让你的App Service与使用者更接近
如果大多数客户流量都来自世界的特定区域,则将资源放置在离客户最近的Azure区域中是很有意义的。当然,我们许多人的客户分布在世界各地。在这种情况下,您可以考虑跨多个Azure区域进行地理复制,以与每个人保持更近距离,之后你使用类似Azure Traffic Manager(基于DNS技术的负载均衡器)将你的客户直接路由到最近的服务实例。
6. 让你的服务内容与使用者更接近
脚本、图片、CSS,视频等静态资源是在CDN边缘服务器上缓存的较好选择,一旦缓存,Azure App Service不需要花费带宽和时间在这些资源上,专注处理动态资源。
回过头来,看以上性能优化建议,第一步还是要评估App Service当前现状和性能,不是每一个策略都对你的App Service有效。
btw 这些策略对于常规企业级部署依旧有所指引。
关于提升Azure App Service的几个建议分别是什么就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/102062.html