检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
解决方案 利用分布式缓存服务(DCS)的Redis作为数据库的缓存,客户端访问Redis进行库存查询和下单操作,具有以下优势: Redis提供很高的读写速度和并发性能,可以满足电商秒杀系统高并发的需求。
每秒并发操作数上限,可以查看实例规格下对应实例类型的“参考性能(QPS)”。 网络瞬时输入流量 该指标用于统计瞬时的输入数据流量。 如果是实例级别的网络瞬时输入流量,所有节点输入数据流量汇总后展示。 如果是节点级别,统计的是本节点的输入数据流量。
开启审计日志后,若写入流量或QPS过大,可能会导致DCS实例出现性能下降以及审计日志的部分丢失。 约束与限制 开启审计日志需要用户账号拥有LTS服务创建日志组和日志流的权限。 新创建的缓存实例,请在实例创建成功10分钟后,再开启审计日志,否则可能会操作失败。
VPC内访问Redis 3.0/Memcached/Redis 6.0企业版实例 为避免跨VPC访问导致时延增大影响DCS缓存实例性能,建议客户端部署在与DCS缓存实例处于相同虚拟私有云(VPC)和相同子网的弹性云服务器(ECS)上。
使用带缓冲区的channels,提升源服务器的性能。 约束与限制 使用Rump工具在线迁移,目标端不支持DCS集群类型实例。 Redis实例的密码不能包含#@:等特殊字符,避免迁移命令解析出错。 正式进行迁移操作前,建议先暂停业务。
这样不仅会容易产生单分片性能瓶颈,还会浪费其他分片的计算资源。 使得CPU冲高。 对热Key的大量操作可能会使得CPU冲高,如果表现在集群单分片中就可以明显地看到热Key所在的分片CPU使用率较高。这样会导致其他请求受到影响,产生慢查询,同时影响整体性能。
INFO命令优化 针对INFO命令的处理做了相关优化,尤其针对大量客户端连接场景,性能消耗及时延上有较大改进。 父主题: 实例类型/版本
升级Cluster集群实例可用区须知: 迁移可用区过程不会影响主节点,业务不会中断,但是性能会略有下降,建议在业务低峰时进行。 迁移可用区过程会导致部分副本连接中断,需确保您的客户端应用具备重连机制和处理异常的能力。
不建议在生产环境中使用公网访问的方式,对于因公网网络性能造成的客户端访问异常不计入SLA。 通过ELB访问DCS流程如下图。 图1 ELB访问DCS流程图 配置ELB对接DCS实例 参考创建虚拟私有云创建虚拟私有云,也可用已有虚拟私有云。
DCS自动备份会进行全量数据备份,在备份期间会影响备节点的性能。手工备份是租户手动触发的实例全量备份,这些备份数据存储在华为OBS桶中,当租户删除实例时,会同步删除OBS桶中的快照。 数据复制 DCS的主备和集群实例支持部署高可用实例。租户可选择在单可用区或多可用区中部署实例。
优化Jedis连接池 JedisPool是Jedis客户端的连接池,合理设置JedisPool资源池参数能够有效地提升Redis性能与资源利用率。本文档将对JedisPool的使用和资源池的参数配置提供详细的说明和配置建议。
图1 通过Nginx访问VPC内DCS Redis 不建议在生产环境中使用公网访问的方式,对于因公网网络性能造成的客户端访问异常不计入SLA。 购买一台ECS 确认Redis实例所在的虚拟私有云。 如下图所示,已购买了一个虚拟私有云在“vpc-demo”内的主备实例。
资源降配会影响缓存实例性能,通常不建议您这样操作。
Proxy和Cluster集群实例 扩容/缩容 水平扩容(分片数增加): 连接不中断,但会占用CPU,导致性能有20%以内的下降。 分片数增加时,会新增数据节点,数据自动负载均衡到新的数据节点,访问时延会增大。 水平缩容(分片数减少): 分片数减少时,会删除节点。
如需了解更多实例性能请参考实例规格。实例规格默认配额请以控制台显示为准。 您如需增加配额,单击规格下方的“申请扩大配额”,即可跳转到工单管理界面提交工单,增加配额。 配置实例网络环境信息。 选择已经创建好的“虚拟私有云”和“子网”。
如果条件满足,进行压测,确认性能满足业务峰值压力。 回退。 当遇到演练中没有及时发现的问题,导致数据迁移后无法供业务使用,且短期无法解决,则涉及到业务回退。 由于源Redis数据仍然存在,因此只需业务完成回退,重新接入源Redis实例即可。
观察关键性能监控指标是否异常。例如,活跃客户端连接数、每秒并发操作数、CPU使用率、内存使用率等监控参数。 父主题: 业务应用
观察关键性能监控指标是否异常。例如,活跃客户端连接数、每秒并发操作数、CPU使用率、内存使用率等监控参数。 父主题: 扩容缩容与实例升级
性能优越,缓存数据的读写优于磁盘数据库与Zookeeper。 可靠性强,DCS有主备和集群实例类型,避免单点故障。 对分布式应用加锁,能够避免出现库存超卖及无序访问等现象。本实践介绍如何使用Redis对分布式应用加锁。 前提条件 已创建DCS缓存实例,且状态为“运行中”。
Proxy和Cluster集群实例 扩容/缩容 水平扩容(分片数增加): 连接不中断,但会占用CPU,导致性能有20%以内的下降。 分片数增加时,会新增数据节点,数据自动负载均衡到新的数据节点,访问时延会增大。 水平缩容(分片数减少): 分片数减少时,会删除节点。