Azure进阶攻略 | 应用流畅运行杜绝超载,自有一套好方法_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Azure进阶攻略 | 应用流畅运行杜绝超载,自有一套好方法

Azure进阶攻略 | 应用流畅运行杜绝超载,自有一套好方法

 2017/8/14 16:31:49  DavidZang  程序员俱乐部  我要评论(0)
  • 摘要:世界上很多东西,无论交通工具、房屋建筑,甚至计算机程序,在容量方面都存在设计上的理论最大值。比如火车,正常情况下是这样的。舒适地坐着,安静地读一本书,时不时抬头若有所思地远眺车窗外风景,满满的文艺范儿:但如果是这样,是否舒适暂且不说,重要的是,这样很不安全好吗……计算机程序也是如此。很多程序正常情况下往往会在诸多方面存在容量上的最大值,比如可以使用的CPU内核数,所生成文件中可以包含的内容行数或者容量字节数,甚至是可以同时接受的网络连接数量都有上限
  • 标签:方法 运行 应用 攻略

世界上很多东西,无论交通工具、房屋建筑,甚至计算机程序,在容量方面都存在设计上的理论最大值。

比如火车,正常情况下是这样的。舒适地坐着,安静地读一本书,时不时抬头若有所思地远眺车窗外风景,满满的文艺范儿:

但如果是这样,是否舒适暂且不说,重要的是,这样很不安全好吗……

计算机程序也是如此。很多程序正常情况下往往会在诸多方面存在容量上的最大值,比如可以使用的 CPU 内核数,所生成文件中可以包含的内容行数或者容量字节数,甚至是可以同时接受的网络连接数量都有上限。

这种容量「上限」主要是为了确保程序能够在合理的范围内流畅运行,满足用户的预期需求。如果不进行限制,往往会造成很多不必要的麻烦。

举个栗子:某直播软件为了向用户提供视频直播服务,每个用户需要预留 500kbps(0.5mbps)的带宽,而他们使用的服务器,每台服务器的网络带宽最高只有 1000mbps。一个简单的数学运算就可以告诉我们,理论情况下,单台服务器最多只能同时为 1000 ÷ 0.5 = 2000 个用户提供服务。如果不进行限制,放任更多用户连接同一台服务器,每个人的观看体验都无法保障。     

那么Azure Web应用的连接数限制是多少,你知道吗

通过 Azure Web 应用服务托管网站或应用程序的童鞋需要注意,Azure Web 应用服务也有类似的限制,不过注意啦限制的不是带宽,而是对外连接数。

取决于 Web 应用服务所用实例的规模,在对外连接数方面存在下列限制:

当超过最大对外连接数时,Azure Web 应用将会产生套接字异常。同时要注意的是,这个限制是针对单个Web 应用实例而言的。也就是说,如果通过同一个 Web 应用实例托管了多个应用,那么所有应用的对外连接总数将受制于上述限制。了解详情,请点击这里。

 

那么,到达上限之后该怎么办?

这里小编告诉大家一个简单的办法哦!如果小实例超限,可以升级为中实例或者大实例;如果中实例超限,可以直接升级为大实例。这个操作可以在 Azure 管理后台进行,按照具体需求选择要使用的实例规模就行了。

这种对系统本身的容量进行「扩大」的做法叫做Scale-Up(向上缩放),可以简单理解为给运行 Web 应用的服务器添置了更多 CPU、内存硬盘之类的资源。

那么,如果本身就已经在用最大规模的实例,可连接数还是频繁超限,又该怎么办?

这时可以进行 Scale-Out(向外缩放),可以简单理解为添加更多台服务器,通过多台服务器同时承载我们的 Web 应用。这个操作也可以在 Azure 管理后台进行,我们可以根据需要选择要使用几个实例来运行 Web 应用,最多可以选择 20 个。

无论 Scale-Up 或 Scale-Out,改动会在几秒钟内应用给 Web 应用中承载的所有应用。

最后需要注意的是,上述限制和缩放方法仅适用于 Azure Web 应用服务中基本、标准,以及高级级别的实例,因为只有这些实例是通过专属虚拟机运行的,可以根据需要进行缩放。Azure Web 应用中的免费和共享级别实例会通过共享虚拟机运行,无法自行缩放,且会受到更多限制(因为这两个级别主要针对测试和简单的需求,并不推荐在生产环境中使用)。 

对于 Azure Web 应用服务的缩放,还有其他方面的问题需要考虑,详情请戳【这里】了解。了解更详细的缩放应用服务计划,请点击这里。

 

立即访问http://market.azure.cn

发表评论
用户名: 匿名