改善し、アプリケーションのパフォーマンスAzureのアプリケーションサービスは、いくつかのヒントを開催しました

 

この記事では、Azureのアプリケーションサービスホストされているアプリケーションのパフォーマンスを向上させることができ、いくつかのヒントを説明します。これらのスキルのいくつかは、あなたが今行わできる構成変更されています

他の技術は、アプリケーションの一部の再設計と再構築が必要になることがありますが。

開発者は、最高のパフォーマンスを圧迫してアプリケーション・サービスからのAzureを展開します。
より良い性能は良好な応答の経験を得ることができない、と私たちはアズール、「巧みに質問を偏向し、」できるならば、我々はまた、お金のパフォーマンスを向上させることができます。
この記事では、設定やAzureのアプリケーションサービスで実行されているWebアプリケーションのパフォーマンスを向上させるための戦略を検討します。

ここではアプリケーションサービスのパフォーマンスの設定インターフェイスでのいくつかのコメントを動作させることができ、このスキルセットのテーマは、パフォーマンスのAppサービス自体を絞り出しています。

 

 

 

 

1. HTTP / 2

マイクロソフトは、AppサービスでHTTP / 2をサポートするために、初期の2018年に発表したが、アズールでHTTP1.1の合意に働いているこれまでのところ、デフォルトのアプリケーションサービスによって作成されました。HTTP / 2、共通のWebプロトコルに対する重要な変更、パフォーマンスを向上させ、Web上での待ち時間を短縮するために設計された多くの変更を行いました。例えば、HTTP / 2バイナリ形式ヘッダ圧縮は、ペイロードのサイズを小さくします。より多くの同時要求を可能にするために、さらに多重化要求パイプラインと機能が少ないネットワークソケットを使用して行われ、HTTP 1.1での共通の問題である遅い要求ブロックのすべての後続の要求を回避するのに役立ちます。

ドロップダウンリストの指定HTTP2.0バージョンの後に、上記のようにあなたは自動的に接続がアップグレードされます、すべてのサポートされているクライアントHTTP / 2をアプリケーションサービスHTTP / 2プロトコルを起動し、クライアントは/ 2がまだあるHTTPをサポートしていません。相互作用HTTP1.1オリジナルの方法。

HTTP / 2各アプリケーションの利益はありません、以下がの改善されたHTTP / 2を確認するための簡単なテストです。

アプリのサービスがページ参照スクリプト、CSSリソース、16画像を主催し、各画像のサイズは200キロバイトを超えています。

 使用開発ツールは、HTTP 1.1を使用すると、アプリケーションサービスで発生し記録します。

请注意观察条形红色部分显示了后置请求以阻塞状态开始。这是可怕的“行头阻塞”问题,其中对连接数和并发请求的限制限制了客户端和服务器之间的吞吐量。直到第一个请求开始后800毫秒,客户端才会收到该页面的最终字节。

 接下来在App Service中启用了HTTP / 2支持:

不需要对客户端或服务器上进行任何其他配置更改,最后一个字节不到500ms到达。由于HTTP/2提高了网络利用率,我们避免了阻塞。

 

2.  关闭空闲休眠

如果你有将应用程序部署到IIS的经历,那么你应该知道IIS在一段时间不活动之后将休眠(这个配置在IIS理默认是20分钟)。

Azure App Service延续了这一传统。尽管休眠可为在同一App Service Plan上运行的其他App Service提供资源,但是此策略会损害当前应用程序的性能,因为下一个传入请求将经历Web服务器冷启动的过程:缓存为空、连接池为空,站点预热,所有请求的速度都比正常情况慢。为了防止空闲关闭,您可以在“ App Service配置”刀片中设置“始终开启”标志。

 

3. 关闭App Service实例亲和力

即使你仅运行App Service Plan的单实例,每个Azure App Service前面都是负载平衡器。负载均衡器会转发请求到App Service实例。

因此,当App Service因流量缩放出多实例,负载均衡器使用Application Request Routing将连接会话分发给实例。

因为Azure无法知晓应用程序是不是stateless服务, 故默认的App Service将确保客户端在会话期间访问同一App Service实例。

为了实现这种亲和力,负载均衡器会在对客户端的第一个响应中注入ARRAffinity  Cookie。

 

 如果你的应用程序是stateless,并允许负载平衡器在实例之间分配请求,请关闭请求路由cookie,以提高性能和弹性。

--------------------------------------------------------------------------------

下面的改进需要一些其他网络规划或重组(某些情况下,还需要更改应用程序本身)

下一组技巧中的主题是缩短数据在网络上传输的距离

  •   让你的服务资源相距更近,比如常规的WebApi服务,需要搭建App Service 和Database,建议你把资源放在同一区域协同工作。
  •  让你的App Service 与使用者更接近

如果大多数客户流量都来自世界的特定区域,则将资源放置在离客户最近的Azure区域中是很有意义的。当然,我们许多人的客户分布在世界各地。在这种情况下,您可以考虑跨多个Azure区域进行地理复制,以与每个人保持亲密关系,之后你使用类似Azure Traffic Manager(基于DNS技术的负载均衡器)将你的客户直接路由到 最近的服务实例。

  • 让你的服务内容与 使用者更接近

脚本、图片、CSS,视频等静态资源是在CDN边缘服务器上缓存的较好选择,一旦缓存,Azure App Service 不需要花费带宽和时间在这些资源上,专注处理动态资源。

Azure支持CDN边缘服务器的搭建 

回过头来,看以上性能优化建议,第一步还是要评估当前App Service现状和性能,不是每一个策略都对你的App Service 有效。

 

おすすめ

転載: www.cnblogs.com/JulianHuang/p/12098385.html