我想对我的 azure 网站进行负载平衡

I want to load balance my azure website

我使用 Visual Studio.

将我的网站 (abc.azurewebsites.net) 托管到 Azure Web Apps

现在 1 个月后,我面临着交通管理方面的问题。我的 CPU 总是 90 - 95%,因为请求的数量太多了。

有谁知道如何在不更改域的情况下在此 Web 应用程序中添加流量管理 abc.azurewebsites.net?它是否硬编码在我的应用程序中?

我想将网络应用程序更改为虚拟机,但现在它已经部署,我担心域丢失。

您不必更改域即可自动缩放 Web 应用程序,但您可能必须更改定价层。扩展到多个实例在基本定价层可用,自动缩放从标准层开始。这些级别允许自定义域,但如果您不想,则不必更改域。

这里是扩展网络应用程序的概述https://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/

当您扩展 Web 应用程序时,您会添加当前定价层的实例,Azure 会将您的 Web 应用程序包部署到它们中的每一个。

您的所有实例都有一个负载均衡器,因此流量会在它们之间自动进行负载均衡。为此,您不需要虚拟机,也不需要配置任何额外的流量管理器。

我可以保证我的公司正在使用 Azure Web Apps 来管理 1000 多个并发用户,这些用户仅通过 2-3 个实例发出数千个请求。这完全取决于您的应用程序做什么以及它访问的其他资源,如果您实施或不实施缓存策略以及您使用的数据存储类型。

高 CPU 并不总是意味着高流量,它是 CPU 和 Http 队列长度的组合,可以让您了解您的实例处理流量的情况。

您的解决方案可能会实施一组事情:

  • 调整您的应用程序的性能
  • 添加缓存策略(像 Azure Redis 这样的分布式缓存是一个不错的选择)
  • 通过配置基于 HTTP 队列长度的自动缩放来增加 Web 应用实例 / CPU.

与添加实例相比,添加虚拟机 (VM) 的成本非常高。最重要的是,VM 的冗余(推荐)、添加 NIC 等会增加成本。维护是另一个挑战。 PAAS(webApp 等)总是比 IAAS 更好的选择。 还可以考虑像 Azure Functions 这样的无服务器产品。他们支持 http 触发器并且扩展得非常好。