生产数据库架构改造方案.pdf

上传人:白大夫 文档编号:5542356 上传时间:2020-06-04 格式:PDF 页数:7 大小:472.12KB
返回 下载 相关 举报
生产数据库架构改造方案.pdf_第1页
第1页 / 共7页
生产数据库架构改造方案.pdf_第2页
第2页 / 共7页
生产数据库架构改造方案.pdf_第3页
第3页 / 共7页
生产数据库架构改造方案.pdf_第4页
第4页 / 共7页
生产数据库架构改造方案.pdf_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《生产数据库架构改造方案.pdf》由会员分享,可在线阅读,更多相关《生产数据库架构改造方案.pdf(7页珍藏版)》请在三一文库上搜索。

1、. ;. 生产数据库性能优化方案(初稿) 1. 背景 生产数据库上线一段时间后由于数据量远大于预期,导致数据库性能低下而 影响正常业务,故需要对数据库进行性能优化。 2. 现状 当前数据库结构如下图所示: 图 2-1 系统结构示意图 上游三个数据源通过DI 工具以定时任务的方式将上游数据抽取到基础数据 库中(红色部分),从基础库到下游目标库则是通过用户操作应用程序将基础数 据库中的数据调度到目标数据库中。根据目前对数据量的统计基础库约为 . ;. 400GB+的数据总量。 目前基础数据库的性能低下, 主要表现于定时抽取任务执行时间过长,任务 间的时间间隔变短; 应用执行数据调度时间过长, 导致

2、应用长时间处于无响应状 态。 3. 分析 基础数据库获取上游数据时, 数据传输量较大, 数据库写操作频繁, 操作系 统层表现于数据文件所在磁盘写 IO 高,并持续时间长。 由于基础库放数据到下游数据库是人为操作,数据库读操作频繁, 操作系统 层表现于数据文件所在磁盘读 IO 高,且经常会与 DI 定时任务同时执行, 通过系 统监控发现磁盘出现大量IO 等待状态。 图 3-1 磁盘 IO 状态 . ;. 图 3-2 磁盘等待状态 由于基础库保存原始数据并不对数据进行处理,所以CPU 消耗很低,从监 控看 CPU不视为性能瓶颈点。 图 3-3 CPU 使用率 从以上分析可以判断数据库操作性能低下主

3、要在高磁盘IO时造成 IO 挣用较 . ;. 大导致拖慢整体性能。故本次优化将重点放在解决磁盘IO 挣用问题和提高磁盘 IOPS上。 4. 优化方案 本着应用层变动最小的原则,为解决基础库磁盘IO 性能低下问题,我们将 从三个方面着手进行,即:优化数据库物理架构、优化DI 任务执行时间和优化 数据库数据文件所在Path 的磁盘 VG结构。 4.1. 优化数据库物理架构 根据基础库的业务特点,这里将对基础库的读写操作进行分离(即:读、写 分离) 。这样做的好处在于可以最大限度规避数据库读、写同时操作所带来的磁 盘 IO 挣用问题。调整后的架构如下图: 数据库采用主 /从模式,使用 binlog

4、复制方式实现数据同步。由于考虑到大 数据量复制可能带来的同步延迟问题,实现时需要注意优化复制线程参数 。 4.2. 优化 DI 任务执行时间 为了避免多任务同时写一个数据库产生磁盘写IO 过高的问题,需要对每一 . ;. 个 DI 任务的执行时间进行估算,并根据磁盘性能合理编排任务并行度。同时还 需要考虑数据单位时间内的数据增长量对任务执行时间的影响,避免由于数据量 的增加延长任务执行时间而导致的任务并行执行。 4.3. 优化磁盘 VG 提高磁盘 IOPS最有效的方法就是增加通过增加物理磁盘数量并实现条带化 来提高整体的IOPS。但随之带来的硬件投资成本也会增加。这里我们可以通过 将现有磁盘更

5、换成等容量的小磁盘, 目的是为了增加磁盘数量从而提高整体磁盘 IOPS性能。如:当前一块磁盘容量为600GB,我们可以将其拆解成6 块 100GB Raid5 磁盘或者 12 块 50GB Raid5磁盘进行 VG 条带化处理。 5. 实现 5.1. 资源规划 硬件资源: ?服务器 2 台 ?数据磁盘 12 块 50GB Raid5磁盘(每台服务器) 软件资源: ?CentOS 7.1 x86_64 (mini installed) ?MySQL 5.7 x86_64 5.2. 磁盘配置 ?分别将两台服务器的各12 块 Raid5 磁盘初始化并创建VG。在创建 LV 时特别注意要制定 LV 所

6、跨 PV的数量从而实现 VG 条带化。 ?指定磁盘文件系统为xfs。 . ;. 5.3. 数据库部署配置 ?安装 MySQL 数据库并配置两台服务器的主从模式,将从库定义为 Read_only 模式。 ?配置 binlog 复制线程数。 ?优化数据库内存模型。 ?导入数据 5.4. 应用配置 将用于数据调度的应用程序数据源从原来的数据库服务器IP 地址改为只读 数据库服务器 IP 地址。 6. 测试 实施完成后为保证最终优化效果,将对系统各个关键环节进行性能测试。测 试将分为如下三个阶段。 6.1. 磁盘性能测试 VG 创建好后,确保磁盘可写的前提下使用dd 命令对磁盘的读、写分别进 行性能测试。读、 写测试将各进行 5 次从而选出最合适的磁盘块大小。使用 10GB 文件大小,每次创建块大小分别为4k、8k、16k、32k 和 64k,并记录每次测试 的时间结果。 6.2. 数据库性能测试 数据库性能测试可以使用tpcc-mysql 等其他第三方性能测试工具进行,并 生成测试报告。 . ;. 6.3. 业务测试 最后在实际业务中测试DI 运行的时间和数据调度的响应时间,通过模拟真 是业务操作对系统性能进行测试评估。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1