重要程度
| 规范
| 说明
|
★★★★★
| 避免实行范围查询(例如KEYS *),利用多次单点查询或SCAN命令来获取延迟优势。
| 实行范围查询大概导致服务发生抖动、引发慢请求或产生壅闭。
|
★★★★★
| 保举利用扩展数据布局(数据布局模块集成)实现复杂功能,避免利用Lua脚本。
| Lua脚本会占用较多的计算和内存资源,且无法被多线程加速,过于复杂或不合理的Lua脚本大概导致资源被占满的环境。
|
★★★★☆
| 合理利用管道(pipeline)降低链路的往返时延RTT(Round-trip time)。
| 如果有多个操纵命令需要被迅速提交至服务器端,且客户端不依赖每个操纵返回的结果,那么可以通过管道来作为优化性能的批处理处罚工具,留意事项如下:
- 管道实行期间客户端将独占与服务器端的毗连,保举为管道单独建立一个毗连,将其与常规操纵分离。
- 每个管道应包罗合理的命令数量(不超过100个)。
|
★★★★☆
| 正确利用Redis社区版命令支持。
| 利用事件(Transaction)时,需要留意其限制:
- 不同于关系型数据库的事件功能,Redis的事件功能不支持回滚(Rollback)。
- 对于集群架构的实例,需要利用hash tag确保命令所要操纵的Key都分布在1个Hash槽中,同时还需要避免hash tag带来的存储倾斜标题。
- 避免在Lua脚本中封装事件命令,大概因编译加载消耗较多的计算资源。
|
★★★★☆
| 避免利用Redis社区版命令支持实行大量的消息分发工作。
| 由于Pub和Sub不支持数据长期化,且不支持ACK应答机制无法实现数据可靠性,当实行大量消息分发工作时(例如订阅客户端数量超过100且Value超过1 KB),订阅客户端大概因服务端资源被占满而无法接收到数据。
说明
为提拔性能和均衡性,云数据库Redis对Pub和Sub类命令进行了优化,集群架构下,代理节点会根据channel name进行Hash计算,并分配至对应数据节点。
|
重要程度
| 规范
| 说明
|
★★★★★
| 充分相识不同的实例管理操纵带来的影响。
| 在对Redis实例实行变动配置、重启等操纵时,实例的状态将发生变化并产生某些影响(例如产生秒级的毗连闪断),在操纵前您需要充分相识。更多信息,请参见实例状态与影响。
|
★★★★★
| 验证客户端程序的差错处理处罚本事或容灾逻辑。
| 云数据库Redis支持节点健康状态监测,当监测到实例中的主节点不可用时,会主动触发主备切换,保障实例的高可用性。在客户端程序正式上线前,保举手动触发主备切换,可帮助您验证客户端程序的差错处理处罚本事或容灾逻辑。详细操纵,请参见手动实行主备切换。
|
★★★★★
| 禁用高耗时或高风险的命令。
| 生产环境中,无穷制地利用命令大概带来诸多标题,例如实行FLUSHALL会直接清空全部数据;实行KEYS会壅闭Redis服务。为保障业务稳固、高效率地运行,您可以根据现实环境禁用特定的命令,详细操纵,请参见禁用高风险命令。
|
★★★★☆
| 实时处理处罚阿里云发起的计划内运维操纵(即待处理处罚事故)。
| 为提供更优质的服务,连续提拔产品性能和稳固性,阿里云会不定期地发起计划内运维操纵(即待处理处罚事故),对部分实例所属的机器实行软硬件或网络换代升级(例如数据库小版本升级)。当您收到来自阿里云的事故关照后,您可以查看本次事故的影响,根据业务需求评估是否需要调解实行时间。更多信息,请参见查看并管理待处理处罚事故。
|
★★★★☆
| 为核心指标配置监控报警,帮助把握实例运行状态。
| 为CPU利用率、内存利用率、带宽利用率等核心指标配置监控报警,实时把握实例运行状态。详细操纵,请参见报警设置。
|
★★★★☆
| 通过云数据库Redis提供的丰富的运维功能,定期检查实例状态或辅助排查资源消耗异常标题。
|
- 分析慢日志:帮助您快速找到慢请求标题发生的位置,定位发出请求的客户端IP,为彻底解决超时标题提供可靠的依据。
- 查看性能监控:云数据库Redis支持丰富的性能监控指标,帮助您把握Redis服务的运行状态和进行标题溯源。
- 发起实例诊断:帮助您从性能水位、访问倾斜环境、慢日志等多方面评估实例的健康状态,快速定位实例的异常环境。
- 发起缓存分析:帮助您快速发现实例中的大Key,帮助您把握Key在内存中的占用和分布、Key逾期时间等信息。
- 实时Top Key统计:帮助您快速发现实例中的热点Key,为进一步的优化提供数据支持。
|
★★★☆☆
| 评估并开启审计日志功能。
| 开通审计日志功能后,可记录写操纵的审计信息,为您提供日志的查询、在线分析、导出等功能,助您时刻把握产品安全及性能环境。更多信息,请参见开通审计日志。
重要
开通审计日志后,视写入量或审计量大概会对Redis实例造成5%~15%的性能丧失。如果业务对Redis实例的写入量非常大,建议仅在运维需要(例仍然障排查)期间开通审计功能,以免带来性能丧失。
|