练习 - 纵向扩展 Web 应用

已完成

纵向扩展为运行 Web 应用提供了更强大的资源。 它还增加了可用于横向扩展的实例数。

在酒店预订系统中,应横向扩展以处理越来越多的 Web 应用访客。 通过纵向扩展可以进一步横向扩展。 还可能需要通过纵向扩展来支持添加到 Web 应用的新功能。

本练习将纵向扩展先前部署的酒店预订系统 Web 应用。 运行之前使用的同一测试客户端应用程序,并监视 Web 应用的性能。

检查 Web 应用的当前定价层

重要

需要自己的 Azure 订阅才能运行此练习,这可能会产生费用。 如果还没有 Azure 订阅,请在开始前创建一个免费帐户

  1. 登录到 Azure 门户

  2. 在 Azure 门户菜单上或在“主页”中,选择“所有资源”,然后转到你的应用服务计划。

  3. 在“设置”下,选择“纵向扩展(应用服务计划)”。 应会看到应用服务计划定价层的详细信息。 定价层为 S1,提供可在 A 系列虚拟机上运行的 100 个 Azure 计算单位和 1.75 GB 内存。

    应用服务计划 S1 定价层详细信息的屏幕截图。

运行测试客户端应用

  1. 在屏幕右侧的 Cloud Shell 窗口中,转到“~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient”文件夹:

    cd ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient
    
  2. 运行客户端应用。 让系统运行几分钟。 与上一次练习开始时一样,响应速度较为缓慢。 客户端请求很快失败,并出现 HTTP 408(超时)错误。

    dotnet run
    
  3. 继续运行应用。 再等五分钟。 然后转到 Azure 门户中的仪表板上显示 Web 应用指标的图表。 与前一个练习一样,你应该会看到统计数据表明响应时间相对较慢,且存在许多 HTTP 4xx 错误。

纵向扩展 Web 应用并监视结果

  1. 在 Azure 门户中,返回到应用服务计划页面。

  2. 在“设置”下,选择“纵向扩展(应用服务计划)”。

  3. 选择“P2V2”定价层,然后选择“应用”。 此定价层提供在 Dv2 系列虚拟机上运行的 420 个 ACU(超过 S1 定价层算力的四倍)和 7 GB 内存。 但是,此虚拟机的成本是运行 S1 定价层的四倍。

  4. 再等五分钟,然后在 Azure 门户中的仪表板上查看性能图表。

  5. 在系统进行纵向扩展时,你可能会注意到其他一些 HTTP 服务器错误。 这些错误是由正在进行的客户端请求在系统切换硬件时被中止而引起的。 纵向扩展后,由于可用的处理器更多,CPU 时间会迅速增加。 你可能不会看到在横向扩展时看到的相同响应时间下降。之所以出现此行为,是因为你仍然仅在使用单个实例。 当你横向扩展时,请求不会进行负载均衡,而是保留原样。但现在可横向扩展到比以前更多的实例(20 个)。

    此图中的图表显示了 Web 应用的性能指标示例。 记录了系统纵向扩展发生的时间点。

    Web 应用性能图表的屏幕截图,其中记录了纵向扩展点。

  6. 返回到运行客户端应用的 Cloud Shell。 选择 Enter 停止应用。