百万用户级电商云上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性能优化)

目录
相关文章
|
1月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
230 93
|
9天前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
3月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
4月前
|
关系型数据库 MySQL 数据库连接
Django数据库配置避坑指南:从初始化到生产环境的实战优化
本文介绍了Django数据库配置与初始化实战,涵盖MySQL等主流数据库的配置方法及常见问题处理。内容包括数据库连接设置、驱动安装、配置检查、数据表生成、初始数据导入导出,并提供真实项目部署场景的操作步骤与示例代码,适用于开发、测试及生产环境搭建。
155 1
|
15天前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
83 6
|
1月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
278 4
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
158 8
|
3月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
152 11
|
3月前
|
机器学习/深度学习 SQL 运维
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
113 4

推荐镜像

更多