百万用户级电商云上Oracle架构设计与数据库优化

简介: 某电子商务平台国内注册会员用户数达数百万级别,业务高峰期间一小时内可能会达到数万笔交易。在袋鼠云实施完成并优化后,该电商平台双11当天该平台的网站点击量是之前的3倍多,效果远超出预期。
客户介绍:

某电子商务平台自2015年9月份对外提供服务,已在阿里云上稳定运行1年多,近期业务量突增。
据了解,此平台是一个会员制的在线交易平台,业务正在不断上升中,发展形势一片大好的同时,前端应用和后端数据库的压力却越来越大。
目前,该平台国内注册会员用户数已达数百万级别,有上百万的商品数量,在业务高峰期间一小时内可能会达到数万笔交易。

问题分析:

然而,由于应用设计和数据库没有充分优化的问题,导致数据库不堪重赋,CPU一直满负荷运行,整个平台运行缓慢,长此下去,会严重缩减客户数量,故需立即对数据库和应用进行全面优化。
此平台的操作系统是Windows 2008 R2X86_64,主机是16C、32G内存,使用的数据库是单节点Oracle 11.1.0.7 X86_64,并没有开启归档,也没有备份。
经过袋鼠云专家深入分析应用层的设计和数据库的负载情况,目前的CPU持续在95%以上,且有居高不下的态势,CPU负载和数据库等待事件见下图:
2ddb11127b4ad768bae13a57071268f3968dee52
fd5589f389240a66b9f15dcf9741f50f336d4db5

解决方案:

袋鼠云团队从CPU的负载和数据库等待事件出发,分析数据库和应用中存在的问题,并对安全、网络、IO、主机ECS、应用设计、以及SQL等多方面存在的问题与客户经过多次沟通之后,给出的方案如下:

o 数据库迁移到Linux系统;
o 利用云盘可随意挂载到ECS的特性,结合SLB,并使用袋鼠云EasyDB的HA模块,把数据库做成高可用模式;
o 考虑到电子商务平台的读特性,搭建Oracle DG,备库提供只读模式,Oracle HA+ADG见下图:
2d7b3a83fc9fc3f84b5cdc0977b9f1e839554a0d
Oracle HA+ADG架构图

o 使用EasyDB的备份模块,自动备份并上传至OSS;
o 利用EasyDB的TopSQL功能,找出占用资源严重的SQL语句,结合执行计划,优化SQL语句,同时调整表结构;
a4039546085883e2b445c553e7c61df3d83dddb8
EasyDB TopSQL 运维报告

o 考虑到读并发量的日趋增大,需要规划和指导开发人员完成redis缓存。
o 同时结合袋鼠云EasyDB提供一整套应用设计、数据库和未来3-5年的可行性云上高可用解决方案以及规划。

方案效果:

专业的服务态度,有效的技术方案,让该客户对袋鼠云连连称赞。
在袋鼠云实施完成并优化后,该电商平台双11当天该平台的网站点击量是之前的3倍多,效果远超出预期。

文中商品:
袋鼠云-Oracle11g镜像(11.2.0.4 Centos 6 64位 Java运行环境)
EasyDB: 一站式数据库管理平台,Oracle/MySQL DBA运维神器
数据库优化服务(Oracle性能优化/MySQL性能优化/SQLServer性能优化)

目录
相关文章
|
2天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之采集oracle的时候报ORA-65040:不允许从可插入数据库内部执行该操作如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
20 3
|
3天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之可以通过配置Oracle数据库的schema注册表来监测表结构的变化吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
10 1
|
3天前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
3天前
|
缓存 关系型数据库 MySQL
如何优化MySQL数据库查询性能
MySQL是一款常用的关系型数据库,但在实际使用过程中,由于数据量增加和查询操作复杂度增加,会导致查询性能下降。本文将介绍一些优化MySQL数据库查询性能的方法。
|
5天前
|
SQL Oracle 安全
Oracle11g更改数据库名(详细教程)
Oracle11g更改数据库名(详细教程)
15 1
|
5天前
|
SQL 缓存 大数据
优化数据库性能的五大策略
传统的数据库性能优化常常集中在SQL查询优化和索引设计上,然而,在当今大数据时代,优化数据库性能需要综合考虑更多因素。本文将介绍五大策略,从硬件资源利用、数据模型设计、查询优化、缓存策略到数据库配置调整,为您提供全面的数据库性能优化方案。
|
5天前
|
Oracle 关系型数据库 数据库
Oracle数据库协议适配器错误解决方法
Oracle数据库协议适配器错误解决方法
12 2
|
5天前
|
存储 Oracle 关系型数据库
实验三 Oracle数据库的创建和管理
实验三 Oracle数据库的创建和管理
15 1
|
5天前
|
SQL Oracle 关系型数据库
实验一 安装和使用Oracle数据库
实验一 安装和使用Oracle数据库
16 1
|
5天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
17 6

推荐镜像

更多