- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图了解如何为大量低流量应用程序设置 Azure 基础结构。我正在尝试更好地了解潜在的限制。
为什么我可以轻松拥有 100 个 Web 应用程序,这些应用程序在我的本地计算机上几乎不执行任何操作,但在 Azure 应用服务上却不行?
Azure 已经开始在 17 个 Web 应用程序中警告您每年为服务器支付 1440 欧元。因此,我们讨论的是 17 个应用程序,其中大多数应用程序几乎没有任何流量。
更糟糕的是 - 甚至分段槽也算在内。因此,您必须经常手动停止暂存槽,否则您会运气不好,只能运行每年 1440 的 8 个低流量应用。
这是来自 Azure 上较小的实例(8 个应用程序限制 - 如果您有暂存槽,则为 4 个)
Description Your App Service Plan is nearing saturation.
We detected your app is running on a Small sized worker and the current App Service Plan, Default1, on an average, is running 8 simultaneously active apps.
Apps that are a part of the same App Service Plan, compete for the same set of resources. Our data indicates that 8+ active apps in an App Service Plan running on a small sized worker deterioates apps performance. It causes CPU and memory contention resulting in availability and reliablity loss.
Consider one of the solutions described in the Troubleshooting and Next Steps below.
Additional Information For production applications, it is recommended that an App Service Plan does not exceed a certain number of sites. The number may actually be lower depending on how resource intensive the hosted applications are, however as a general guidance, you may refer to the table below.
在他们的文档(销售流程)中,他们 promise 无限制:
<小时/>我多次尝试通过 Azure 帮助台获得正确的答案,但他们总是给出模糊的答案,例如竞争资源 - 没有具体说明那是什么。此外,当此应用服务处于 CPU 和内存限制范围内时也是如此。
所以这是一个建议 - 我为什么关心?
因为当我遇到应用程序不稳定(不仅仅是底层存储)时,他们总是提到我应该首先将应用程序的数量限制在建议的范围内。
这意味着目前 Azure 中没有针对大量微服务和低流量应用程序的解决方案。
至少要更好地理解这一点 - Azure 和我的本地计算机有什么区别?云环境中的大量被动应用程序正在耗尽这个资源 - 因为这似乎不是内存或 CPU。
次要 - 对于每天只有数十次点击的大量网站,解决方法是什么?
最佳答案
<强>1。应用服务计划层
您正在使用隔离服务计划,这是人们会选择的典型计划。根据Microsoft's documentation :
隔离服务计划旨在运行在虚拟网络中运行所需的关键任务工作负载。隔离计划允许客户使用 Dv2 系列 VM 在 Azure 数据中心的私有(private)专用环境中运行应用程序,该虚拟机具有更快的处理器、SSD 存储,并且内存与核心的比率是标准的两倍。与隔离计划一起使用的私有(private)环境称为应用服务环境。该计划可以扩展到 100 个实例,并可根据请求提供更多实例。您可以找到有关隔离计划和应用服务环境的更多详细信息
它是完全隔离的,在自己的虚拟网络上运行,并在 Azure 数据中心的私有(private)专用环境中运行,使用 Dv2 系列 VM,具有更快的处理器、SSD 存储,并且内存与核心的比率是以前的两倍标准。
这不是 100 个被动应用程序通常需要的东西。还要记住,暂存槽是一个合适的网络应用程序。在许多情况下,用于投入生产之前的最终测试。
我的第一个建议是查看符合您标准的更便宜的应用服务计划选项,因为独立计划非常昂贵。
<强>2。资源限制与指南
Microsoft 可能会说您可以托管“无限服务”,但如果您查看契约(Contract)中的小字以获得支持您必须遵循建议的准则,在您的情况下为 17应用程序。
<强>3。家庭与云
每个正在运行的应用程序都有其内存开销。根据应用程序,它可能更小或更大。几个静态列表或字典可能足以让应用程序开始消耗比您想象的更多的内存。 CPU通常较难出现泄漏(死循环)。然而,将您的本地计算机与具有 1 个内核和 3.5GB RAM 的较小的独立服务实例进行比较是不公平的,我猜您的本地计算机具有 16GB RAM 和 4 到 6 个内核。
你的笔记本电脑速度快多了......
<强>4。更新的建议解决方案(使用 S1 和 S2 计划)
如果您需要 Microsoft 的支持,您必须遵循他们的建议。
如果您不需要支持,我强烈建议您密切监控您的应用服务计划,因为您实际上可能会耗尽资源。 S1计划有1.75GB内存,一点也不多。服务器中的内存耗尽可能会导致一些意外问题。
如果我是你,我会从 S1 和 S2 升级到 P1V2 和 P2V2。通过稍微增加成本,您可以获得一倍多的资源,而且 Microsoft 推荐的应用程序增加到 16 个!
通过转向 P1V1 和 P2V2 计划,您实际上可以省钱。您还可以查看Fabric Mesh .
关于azure - 为什么我可以轻松拥有 100 个 Web 应用程序,这些应用程序在我的本地计算机上几乎不执行任何操作,但在 Azure 应用服务上却不行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61544345/
拥有/想要列表匹配算法 我正在一个高流量网站上实现一个元素交易系统。我有大量用户,每个用户都为许多特定项目维护一个 HAVE 列表和一个 WANT 列表。我正在寻找一种算法,使我能够根据您的 HAVE
我可以知道拥有 .hgtags 的目的是什么吗?我可以删除它吗?因为它不在 .hg文件夹,似乎“污染”了我的实际源代码目录。 https://bz.mercurial-scm.org/show_bug
在哪些用例中使用 [[nodiscard]] 有益类型? 关于类型,[[nodiscard]]如果任何返回该类型实例的函数的返回值被省略,则发出警告; (引自 p0068r0): If [[nodis
我知道当一个对象只有一个所有者时使用std::unique_ptr,当一个对象有多个所有者时使用std::shared_ptr。成为对象的唯一所有者意味着什么? 成为唯一所有者是否意味着其他人都无法看
我无法真正理解拥有 vendor 文件夹的目的。根据我了解到的情况, vendor 文件夹似乎只有在您尝试使您的存储库与早于 1.11 的 golang 版本兼容时才有用。 .我们正在运行 golan
我正在尝试学习如何在 Raspberry PI 上编码。我来自使用 Windows 和 VS Code 进行编码。现在我使用 Linux Mint 19.1 和 ssh 访问 Raspbian 4.1
我有一个带有“BlockType”枚举的图形程序。根据州的不同,这可能是以下几种情况之一:木头、石头、草地等。 最初,必须针对每种可能性执行各种纹理操作,但由于进行了一些重构,枚举仅用作整数,swit
我正在创建一个网络应用程序,让用户可以搜索餐馆和咖啡馆。由于我目前除了类型之外没有其他数据来区分这两者,所以我有两种存储餐馆列表的选择。 对餐厅和咖啡馆使用同一张表,并使用枚举(文本)列说明条目是餐厅
我有一个 5 人的小团队,我需要帮助寻找有关如何拥有一个集中式 MySQL 数据库的资源或建议。我们都以虚拟方式工作,并将所有文件托管在一个 github 上以集中所有内容。因此,在不同的计算机上拥有
SELECT dnum , SUM(IF(salary>20000, 1, 0)) AS Employee FROM project INNER JOIN works_on ON pno=pnumbe
我想在 javascript 中有一个数组,其中每个项目包含 2 个属性而不是 1 个,这怎么可能? 默认情况下,以下内容仅向项目添加一个属性: var headerCellWidths = new
我确定我对这个问题的措辞很糟糕,但这是我的问题: 我正在创建一长串地毯,每 block 地毯都有图片、标题、尺寸、原价和清仓价。我将每 block 地毯都放在自己的类别中,并对其余的地毯重复这样的操作
我正在编写一个延迟渲染器,并试图打包我的 gbuffer。 将漫反射和高光存储在一起会更好吗: vec4 difSpec = (diffuse.xyz, specular) // FORMAT_RGB
下面的程序给我一个链接时错误: #include struct Test { static constexpr char text[] = "Text"; }; int main() { s
想知道 - 如果了解Linux 的生活方式或 Linux 架构,是否会为在嵌入式设备上编程提供更好的思路,尤其是当它们具有某种操作系统时。 只是想确定我没有错过任何重要的事情:) 注意: 我来自 wi
如果要测试 iPhone 应用程序,拥有一个开发代码签名条款来运行任何带有 com.mydomain.* 的应用程序是不是一个坏主意? 为什么? 编辑: 请参阅上面的斜体编辑。 最佳答案 我对此表示怀
我正在开发我自己的 Swift 框架,以便在我的两个应用程序之间私下使用。我正在使用 Carthage 来管理该依赖项和其他依赖项。 我终于完成了框架的开发并将其连接到我的一个应用程序,毫不奇怪,该应
如果我有一个 C 类型的原始指针,是否可以从拥有指针数据的相同类型创建一个 std::vector 而无需任何数据复制(仅 move )?促使我问这个问题的是 std::vector 的 data()
有 2 个部分的好处是什么 - .data 和 .bss 用于流程范围变量。为什么不只拥有一个呢?我知道每个部分的用途。我正在使用 gcc。 最佳答案 .bss 消耗“内存”但不消耗可执行文件中的空间
我注意到,我们可以使用 StatefulWidget 构建 UI 的任何部分,而无需担心状态。 我想问的很简单,当我们可以将任何 UI 类构建为 StatefulWidget 时,首先拥有 State
我是一名优秀的程序员,十分优秀!