梁斌penny_Penny Pinching在云中:在单个Azure App Service上运行和管理Web Apps的LOTS

本文主要是介绍梁斌penny_Penny Pinching在云中:在单个Azure App Service上运行和管理Web Apps的LOTS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

梁斌penny

梁斌penny

I've blogged before about "penny pinching in the cloud." I'll update that series for 2017 soon, but the underlying concepts still apply. Many if you are still using bigger virtual machines than are needed when doing IaaS (Infrastructure as a Service) or when doing PaaS (Platform as a Service) folks are doing "one website per App Service." That's super expensive.

我以前写过关于“一分钱在云端”的博客。 我将在2017年更新该系列,但基本概念仍然适用。 很多人在使用IaaS(基础设施即服务)或PaaS(平台即服务)时仍在使用比需要的更大的虚拟机时,人们正在“每个App Service一个网站”。 那太贵了。

Remember that you can fit as many web applications as memory and CPU will into an Azure App Service Plan. An "App Service Plan" in Azure is effectively the Virtual Machine under your Web Apps. You don't need to think about it as it's totally managed and hidden - but - if you choose think about it you'll be able to squeeze more out of it and you'll pay less.

请记住,您可以在Azure应用服务计划中容纳尽可能多的Web应用程序,如内存和CPU。 Azure中的“应用程序服务计划”实际上是Web应用程序的虚拟机。 您完全不必担心它,因为它是完全托管和隐藏的-但是-如果您选择考虑它,则可以从中挤出更多的钱,而支付的费用却更少。

For example, I have 20 web applications running in a plan I named "DefaultServerFarm." It's a Small Standard Plan (S1) and I pay about $70 a month. Some folks use a Basic (B1) plan if they don't need to scale out and that's about $50 a month. Both B1 and S1 support "unlimited" web apps within them, to the limits of memory. That's what allows me to run 20 modest (but real) sites on the one plan and that's what makes it a good deal from a pricing perspective for me.

例如,有20个Web应用程序在名为“ DefaultServerFarm”的计划中运行。 这是一个小型标准计划(S1) ,我每月支付约70美元。 有些人如果不需要扩展,则使用基本(B1)计划,每月大约50美元。 B1和S1都在其中支持“无限”的Web应用程序,以达到内存限制。 这就是让我可以在一个计划中运行20个适度(但实际)的网站的原因,从定价的角度来看,这对我来说是一笔不错的交易。

I logged in to the Azure Portal recently and noticed the CPU percentage on my plan was higher than usual and higher than I'd like.

我最近登录了Azure门户,发现我计划中的CPU百分比高于通常的水平,也高于我想要的水平。

Why is that web app using so much CPU?

That's the CPU of the machine "under" my 20 sites. I can click here on my App Service Plan's "blade" to see the underlying sites, or just click "Apps" in the blade menu.

那是我20个站点“下方”的计算机的CPU。 我可以在“我的应用服务计划”的“刀片”上单击此处以查看基础站点,或者只需在刀片菜单中单击“应用”。

Running 20 apps in a Single Azure App Service

However, when I'm looking at an app that lives within my plan, there's two super powerful menu items to check out. One is  called "Metrics per instance (Apps)" and one is "Metrics per instance (App Service)." Click the latter option. For many of you it's going to become your favorite area in the Azure Portal. It was a game changer for me as it gave me the internal insight I needed to make sure I can get maximum density in my plan (thereby saving the most money).

但是,当我查看计划范围内的应用程序时,有两个超级强大的菜单项需要签出。 一种称为“每个实例的度量标准(应用程序)”,另一种称为“每个实例的度量标准(应用程序服务)”。 单击后一个选项。 对于许多人来说,它将成为Azure门户中您最喜欢的区域。 对我来说,这是一个改变游戏规则的方法,因为它为我提供了我所需的内部洞察力,以确保我可以在计划中获得最大的密度(从而节省最多的钱)。

Metrics per Instance - App Service Plan

I click here and see "Sites in App Service Plan."

我单击此处,然后看到“应用服务计划中的站点”。

20 sites in a single plan

I can see that over the last few days my CPU has been going up and up...

我可以看到最近几天我的CPU一直在上升...

The CPU is going up and up over a few days

I can see by site:

我可以按网站查看:

A graph showing ALL 20 sites and their CPU

So now I can filter by site and I see that it's ONE site that's going nuts.

因此,现在我可以按网站进行筛选,我发现这是一个疯狂的网站。

One site is using all the CPU

I can then dig in, go to the main CPU charge and see exactly when it started:

然后,我可以进行深入研究,转到主CPU收费处,并确切地了解它的启动时间:

The site is using 2.12 days of CPU

I can change the scale

我可以改变比例

It started on Feb 11th

I had a Web Job stuck in a loop. I restarted and will be monitoring but for now, I'm in a much better place for this one app.

我的Web作业陷入了循环。 我重新启动并将进行监视,但就目前而言,我在使用此应用程序的地方要好得多。

Now it's calming down

Now if I check the App Service Plan itself, I can see everything has calmed down.

现在,如果我检查了应用服务计划本身,则可以看到一切都平静了。

Things have calmed down after the one rogue site was restarted

The point here is that even though it's "Platform as a Service" and we want a layer of abstraction, at no point are things HIDDEN from us. If you want to see the hardware, you can. If you want to see the process tree, you can. A good reminder.

这里的要点是,即使它是“平台即服务”,并且我们想要一个抽象层,也绝不会隐藏任何东西。 如果要查看硬件,可以。 如果要查看流程树,可以。 一个很好的提醒。

Sponsor: Excited about the future in ASP.NET? The folks at Progress held an awesome webinar which gives a 360⁰ view of the new ASP.NET Core and how it compares to WebForms and MVC. Watch it now on demand!

赞助者:对ASP.NET的未来感到兴奋吗? Progress的人们举办了一个很棒的网络研讨会,可以360°观看新的ASP.NET Core及其与WebForms和MVC的比较。 现在点播观看!

翻译自: https://www.hanselman.com/blog/penny-pinching-in-the-cloud-running-and-managing-lots-of-web-apps-on-a-single-azure-app-service

梁斌penny

这篇关于梁斌penny_Penny Pinching在云中:在单个Azure App Service上运行和管理Web Apps的LOTS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/327477

相关文章

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

PostgreSQL如何用psql运行SQL文件

《PostgreSQL如何用psql运行SQL文件》文章介绍了两种运行预写好的SQL文件的方式:首先连接数据库后执行,或者直接通过psql命令执行,需要注意的是,文件路径在Linux系统中应使用斜杠/... 目录PostgreSQ编程L用psql运行SQL文件方式一方式二总结PostgreSQL用psql运

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)