如何确定工作负荷所需的MySQL Database on Azure服务层
本文介绍MySQL Database on Azure中计算单元的概念,以及如何根据工作负荷所需的计算单元数确定服务层。根据本文所介绍的一个简单换算关系以及服务层与计算单元的对应关系,即可针对您的业务确定所需的MySQL Database on Azure服务层。
什么是计算单元?
计算单元是保证单个MySQL Database on Azure服务器可用的CPU处理吞吐量的一种度量值。 计算单元是CPU资源和内存资源的混合度量值。 通常,50个计算单元等同于半个CPU内核,100个计算单元等同于1个CPU内核,1300个计算单元等同于保证服务器可用处理吞吐量的13个CPU内核。
提高一个性能级别可使计算单元加倍,这等同于使该单个MySQL Database on Azure可用的资源集增加一倍。
例如,相比100个计算单元而言,高性能的1300个计算单元提供超过13倍的CPU吞吐量和内存。
可随时更改服务层而几乎不会造成任何应用程序停机时间。 对于许多企业和应用来说,能够在单个MySQL Database on Azure服务器中创建一对多数据库,以及按需提升或降低性能的特性提供了管理所需的灵活性。
备注
由于MP服务层采用不同于MS服务层的存储架构,目前MySQL Database on Azure暂不支持直接从MP降级至MS。如果您确实需要执行此类降级操作,可以通过首先创建从属实例,然后将其提升为主实例的方式实现。
如何根据计算单元数确定所需的服务层?
如果希望迁移本地现有MySQL或在虚拟机上运行的MySQL实例,则可以通过估算工作负荷所需的处理吞吐量CPU内核数来确定计算单元数。比如,假设本地或虚拟机当前使用4个CPU内核(不计CPU超线程),则一开始可以选择MS6并进行压力测试(450个计算单元)。
下表简单列举了服务层与计算单元和最大连接数的简单对应关系:
MS1 | MS2 | MS3 | MS4 | MS5 | MS6 | MP1 | MP2 | |
计算单元 | 10 | 20 | 60 | 200 | 300 | 450 | 680 | 1300 |
最大支持同时连接数 | 100 | 200 | 500 | 1000 | 1500 | 2000 | 4000 | 6000 |
达到最大计算单元和/或最大连接数时会发生什么情况?
MySQL Database on Azure会自动校准并控制性能,以便在选定服务层所允许的最大限制范围内提供所需的资源来运行数据库工作负荷。如果工作负荷达到了计算单元/最大连接数限制中的其中一个,MySQL Database on Azure会继续工作在所允许的最高性能级别,但是用户可能会发现查询的延迟在不断增加。 这些限制不会导致任何错误,而只会拖慢响应速度,直到严重变慢以致于查询超时。
后续步骤
参阅《MySQL Database on Azure快速入门指南》,了解如何在三分钟内快速创建您的第一个Azure上的MySQL服务器!