持久内存型实例问题
持久内存型实例有什么特点?
持久内存型实例配备大容量的持久内存,访问速度相对普通内存低,但在停机或重启后,持久内存中数据不会丢失。持久内存的典型使用方式如下:
· 作为内存使用:您可以将部分原本存放在普通内存中的数据存放到到持久内存中,例如对访问速度要求较低的非热点数据。持久内存容量大,单 GiB 价格更实惠,可以帮助您大幅降低单 GiB 内存的整体拥有成本(TCO)。
· 作为本地盘使用:持久内存作为本地盘使用时,类似性能超高的 SSD 盘,读写延时低至 400 ns。因此,您可以为需要极致稳定 RT(响应时间)的核心应用数据库选用持久内存。
您也可以将原有的缓存盘换成持久内存,获得更高的 IOPS 和带宽、更低的延时,提升整体集群业务性能。
使用持久内存型实例对操作系统有什么要求吗?
镜像的版本需要满足以下要求:
· A·ibaba C·oud Linux 2
· CentOS 7.6 及更高版本
· Ubuntu 18.10 及更高版本
· SUSE Linux 12 SP4 及更高版本
A·ibaba C·oud Linux 2 由阿里云官方提供支持,针对适用持久内存的使用场景集成相关工具,做到开箱即用,并且在部分场景中比社区版操作系统有 20%以上的性能提升(例如 Redis 应用)。
购买持久内存型实例后,我如何将持久内存设置为内存使用?
您可以通过工具将持久内存设置为内存使用。具体操作,请参见配置使用持久内存。
持久内存作为内存使用时,我想用持久内存型实例来运行 Redis 应用,可以直接部署吗?
Redis 应用运行在持久内存型实例上,可以大幅度降低单 GiB 内存的整体拥有成本(TCO)。
但是为了保证性能,您需要对 Redis 应用做适当的改造,核心思路是数据分层,将非热点数据放在持久内存中,将热点数据放在普通内存中。
为了最大程度降低您的应用改造成本,re6p 专门提供了针对 Redis 应用的规格,通过几行命令即可快速部署 Redis 应用。
说明:购买实例时请选择名称为 ecs.re6p-redis.<nx>·arge的实例规格。
我已经有一个基于普通内存的 Redis 应用集群了,想将业务迁移到持久内存型实例上,我应该怎么做?需要注意什么?
应用迁移过程中首先要保证业务稳定与数据可靠。
建议您先购买一台持久内存型实例,小范围运行必要的实际业务并引流测试,验证基本的性能及容量模型是否符合预期。测试没有问题之后,再逐渐扩大持久内存型实例集群的规模,直至完全替代。
持久内存作为内存使用时,我想用持久内存型实例来运行我的参数服务器
(PS),持久内存设置为内存使用方式,可以直接部署吗?
参数服务器的 server node 节点存放了训练集群的所有训练参数,传统做法是几乎全部存放在内存中,需要占用大量内存,成本很高。选用持久内存型实例并将持久内存设置为内存使用方式,将所有参数全部存放在持久内存中,只在普通内存中保留哈希表,这样可以大幅降低训练集群的整体拥有成本(TCO)。
您可以根据自身业务情况进行应用改造,也可以联系阿里云提供技术支持,如有需要请提交工单。
我的哪些应用需要更高性能的本地盘?
如果您需要为 I/O 密集型应用优化性能或成本,可以选择持久内存型实例进行测试。持久内存型实例可以解决一些常见的性能和成本问题,例如:
· 单次 SQL 查询延迟过高,或者需要更稳定的 RT(响应时间)。
· 游戏前端、高负载数据库、高负载 Web 等应用场景中资源加载过慢。
· 大容量云盘和本地盘的IOPS和带宽更高,为获得更高的IOPS或带宽购买了大容量云盘或本地盘,多出的容量闲置,产生了不需要的额外支出。
在典型的 I/O 密集型应用场景中,您都可以考虑选择持久内存型实例平衡性能与成本。例如:
· Redis 数据库及其他 NoSQL 数据库(例如 Cassandra、MongoDB 等)
· 结构化数据库(例如 MySQL 等)
· 电商、游戏、媒体等 I/O 密集型应用
· E·asticsearch 搜索
· 视频直播、即时通讯、房间式强联网网游
· 高性能关系型数据库、联机事务处理(OLTP)系统
持久内存作为本地盘使用时,可以直接部署 Redis 或者 MySQL 应用吗?需要像内存使用方式一样做应用改造吗?
作为本地盘使用时不需要做任何改造,Redis、MySQL 应用会将持久内存识别为普通的 SSD 盘。
我想测试下持久内存型实例,在哪里购买?有优惠活动吗?
在持久内存型实例(re6p)公测期间(2020年 11 月 04 日~2020 年 12 月 15 日),您可以前往实例售卖页购买按量付费 re6p 实例。公测期结束后,根据按量付费 re6p 实例的实例规格费用返还等额的 ECS 通用代金券,单个账户最高返 2000 元。
注意:仅返还实例规格(vCPU 和内存)的费用,不返还公网带宽、云盘等其他资源的费用。如果在公测期结束时实例规格费用未达到 2000 元,返还的代金券金额以实际支付的实例规格费用为准。
持久内存作为本地盘使用时,相比本地 NVMe SSD 盘、云盘的性能如何?
re6p 实例的持久内存作为本地盘使用时,与本地 NVMe SSD 盘、ESSD 云盘的性能对比如下表所示。
说明:表中列出了性能级别供您参考,单次测试的具体结果请以您自行测试时的结果为准。
指标 |
持久内 |
存(容量 128 GiB) |
NVMe |
SSD(容量 1788 GiB) |
ESSD 云盘(容量 800 GiB,性能级别 PL1) |
读带宽 |
8~10 |
GByte/s 级别 |
2~3 |
GByte/s 级别 |
0.2~0.3 GByte/s 级别 |
读写带宽 |
8~10 |
GByte/s 级别 |
1~2 |
GByte/s 级别 |
0.2~0.3 GByte/s 级别 |
写带宽 |
4~6 GByte/s 级别 |
1~2 |
GByte/s 级别 |
0.2~0.3 GByte/s 级别 |
|
读 IOPS |
100 万级别 |
50 万级别 |
2~3 万级别 |
||
读写 IOPS |
100 万级别 |
30 万级别 |
2~3 万级别 |
||
写 IOPS |
100 万级别 |
30 万级别 |
2~3 万级别 |
||
读延时 |
300~400 纳秒级别 |
100000 纳秒级别 |
250000 纳秒级别 |
||
写延时 |
300~400 纳秒级别 |
20000 纳秒级别 |
150000 纳秒级别 |
自行测试的方法如下:
· 配置持久内存为本地盘使用方式,并挂载磁盘。
· 使用磁盘性能测试工具测试磁盘性能。
关于如何在 Linux 系统中使用fio 测试磁盘性能,请参见测试块存储性能中的云盘性能测试命令。
持久内存的可靠性如何?
持久内存中数据的可靠性取决于物理服务器和持久内存设备的可靠性,因此存在单点故障风险。建议您在应用层做好数据冗余,将需要长期保存的业务数据存储到云盘上,以保证应用数据的可靠性。另外,释放持久内存型实例后,持久内存中的数据会被自动清除,请在释放前备份数据。清除持久内存中数据需要较长时间,因此释放持久内存型实例的时间比一般实例略长。