2026/3/12 4:38:37
网站建设
项目流程
好网站建设公司哪家好?,安徽网站优化好不好,济南工装定制公司,wordpress 猪八戒1. 背景 数据库和缓存是系统的核心组件#xff0c;保障其稳定性是确保整个系统稳定运行的基础。通过制定本规范以便在在数据库及缓存相关指标及资源达到一定阈值时#xff0c;参考本 规范提前进行硬件升配、扩容或数据库及缓存升级#xff0c;帮助减少故障和数据损坏的可…1. 背景数据库和缓存是系统的核心组件保障其稳定性是确保整个系统稳定运行的基础。通过制定本规范以便在在数据库及缓存相关指标及资源达到一定阈值时参考本 规范提前进行硬件升配、扩容或数据库及缓存升级帮助减少故障和数据损坏的可能 性增加系统的可靠性和可用性。本规范分别对数据库及缓存硬件扩容、软件升级的前置条件进行说明并期望后续按照此规范进行优化、硬件扩容及软件升级保障升级操作规范、升级过程平稳。2. 数据库软、硬件扩容及升级规范2.1 磁盘空间扩容在磁盘使用率接近70%到80%时就开始考虑扩容磁盘空间。这是因为当磁盘使用率接 近满时系统的性能可能会开始下降并且可能出现磁盘空间不足的情况导致数据 库无法正常登录及写入数据甚至可能导致数据库崩溃。因此在数据库服务器磁盘使用率接近70%~80%时采取以下措施归档及清理数据 定期清理不再需要的数据如日志、历史数据等以释放磁 盘空间。压缩及优化表数据 对于适合压缩的数据类型可以考虑使用数据库内置的压 缩功能节省磁盘空间。分区管理 将数据库表按照数据的逻辑关系进行分区分表分库等管理这 样可以将数据均匀分布在不同的磁盘或数据库实例上解决数据库磁盘不足问题并提 升数据库读写效率。扩展磁盘容量如果因业务需要数据不能通过归档等方式处理则需要增加现 有磁盘的容量或者添加新的磁盘处理。如需在当前机器上进行扩容则可按照如下步骤执行1 临时修改数据库防火墙指向便于相关人员查询线上数据2 通知大数据相关人员注意数据同步任务如有业务访问从库则需提前调整连接 至主节点3 关闭从节点数据库并关闭服务器4 扩容服务器磁盘完毕后开机并检查是否运行正常5 按需修改数据库配置以适配扩容后的磁盘性能及目录6 启动数据库、开启主从数据同步并检查数据库运行情况7 运行正常后切换数据库防火墙指向并指向当前从节点8 观察数据库运行情况及数据同步情况并测试相关慢SQL在从节点运行情况建议观察3天以上9 从库正常运行一段时间后3天以上通知应用准备切换至已升配的从节点10进行主从切换将升配后从节点切换为新主节点原主节点切换为新主节点的从 节点11 数据库切换后观察应用运行的情况如应用持续连不上数据库则需要重启应用12 观察数据库切换后应用及数据库运行情况 建议观察3天以上如有性能问题 则切换回原节点13 如主库运行正常关闭原主库现从库数据库并关闭数据库14 原主库数据库扩容磁盘完毕后开机并检查是否运行正常15 按需修改数据库配置以适配扩容后的磁盘性能及目录16 启动数据库、开启主从数据同步并检查数据库运行情况17 运行正常后切换数据库防火墙指向并指向当前从节点18 通知大数据修改数据同步任务至新从节点并观察任务运行情况。如有业务访问 从库则调整连接至新从节点2.2 磁盘IO升级数据库为IO密集型操作的软件因此当磁盘IO负载高时将会引起数据库读写性能 极速下降进而影响业务操作。通常频繁出现以下现象时需升级磁盘磁盘IO负载高 当磁盘IO频繁出现高于70%到80%以上表示磁盘的读写速 度已经达到极限慢查询增多 高磁盘IO负载可能导致查询速度变慢频繁出现慢查询而走索 引且扫描数据量较小的查询也频繁出现变慢的情况写入延迟 如果写入操作的延迟很高可能是磁盘写入速度跟不上数据库写入 需求此时需要考虑升级磁盘性能优化无效 如果在经过性能优化后IO负载仍然很高可能是IO已达到瓶 颈需要考虑升级升级磁盘IO步骤及措施调研需升配的磁盘 数据库服务器磁盘IO升配建议升级为SSD盘并根据不 同的业务及现状进行评估升级至对应的磁盘对磁盘进行型号及成本调研磁盘测试选择对应型号的磁盘后需对磁盘进行基准测试、压力测试及业务测试以确保升级后的磁盘能解决现存问题升级从库磁盘先升级从库服务器磁盘并调整相关数据库参数并进行测试进行主从数据库切换 将升级后的从库切换为主库相关应用也切换至新主节 点进行操作升级原主库磁盘将原主库服务器的磁盘进行升级完成后作为新主库的从节点运行详细的步骤参考磁盘扩容步骤。2.3 CPU升级部分业务场景需要从数据库获取基础数据后再进行计算等场景进而获取需要的结果 另外在数据分布不均匀而无法使用索引等情况下CPU资源消耗高随着业务不断发展如果出现以下情况时需要考虑升级CPU持续CPU使用率高 如果CPU负载持续高于70%到80%以上可能表示 CPU计算能力已经达到瓶颈需要考虑升级CPU或增加CPU核心数。响应时间延长 当CPU资源不足时可能导致数据库查询和事务处理时间延 长影响系统的响应速度。并发连接数增加 随着并发连接数的增加CPU的负载也会相应增加。当连接数达到MySQL的最大连接数配置时可能需要升级CPU。性能优化无效 如果在经过性能优化后CPU利用率仍然很高可能是CPU性能不足需要考虑升级。因升级物理机CPU需要通过替换服务器的方式进行主要替换步骤如下调研新服务器重点关注CPU主频及核心数等性能测试 借调或采购服务器并进行基准测试、性能测试及结合业务慢SQL的测试升级从库 如新服务器满足性能需求则添加2台服务器作为从节点加入集群中主从切换 进行数据库主从切换将主库切换至其中的1个新加入的节点上 其余节点作为其从节点同时相关应用也切换至新主库下线原先主从节点 将原先不满足性能需求的服务器下线回收以备其他业务使用2.4 内存扩容内存在数据库中扮演着关键的角色对于提升数据库性能、保障数据完整性、提 高并发处理能力等方面都至关重要。另外业务对于数据库的连接、读写数据等均需要消耗数据库服务器内存而当数据库或业务出现如下现象时需要考虑扩容内存性能下降 如果数据库查询响应时间明显增加业务处理速度变慢慢SQL增 加明显等可能是因为数据库内存不足导致频繁的磁盘读写操作内存使用高 数据库服务器的内存使用率持续高于90%以上尤其是在高峰时 段可能意味着内存资源不足需要扩容缓存失效频繁 如果数据库中使用了缓存但缓存命中率下降缓存失效频 繁可能是因为内存不足无法维持有效的缓存长时间的锁等待 如果数据库中存在大量的锁等待可能是由于内存不足导致 的数据库无法高效地处理并发请求频繁使用SWAP 当数据库服务器开始频繁进行内存和磁盘之间的交换操作 Swap性能会显著下降这通常是内存不足的标志应用程序崩溃或错误 如果应用程序频繁崩溃、出现错误或无法连接到数据 库可能是因为数据库内存不足无法为应用程序提供足够的资源数据库内存不足宕机 当数据库出现内存不足而宕机时如果通过优化手段处 理后依旧出现或不满足业务需求则需要对内存进行扩容扩容数据库服务器内存主要步骤如下调研需升配的内存 选择适配当前数据库服务器内存或机型的内存扩容从库内存先扩容从库服务器磁盘并调整相关数据库参数并进行测试进行主从数据库切换 将升级后的从库切换为主库相关应用也切换至新主节 点进行操作升级原主库内存将原主库服务器的内存进行升级完成后作为新主库的从节点运行详细操作步骤可以参考磁盘空间扩容步骤2.5 数据库软件升级当数据库在使用过程中出现如下情况时需要考虑升级数据库版本安全性新版本数据库通常会修复已知的漏洞和安全问题提供更高的安全性 保障。如果当前版本存在安全隐患升级可以增强数据库的安全性支持与维护 当前版本的数据库即将EOL不再得到官方支持和维护。升级到 较新的版本可以获得更长时间的支持避免因为安全问题或其他原因造成无法维护的风险功能需求 当前数据库版本不支持所需的新功能或功能更新而新版本提供了 这些功能。因业务需要且通过升级库可以更简单地满足业务需求提供更好的功能支持时,可以考虑升级性能优化 新版本可能针对性能进行了优化提供更快的查询速度、更高的并 发处理能力等。如果当前版本的性能不能满足业务需求可以考虑升级以获得性能改进兼容性如果计划升级硬件设施可能需要升级数据库以适应新的硬件环境业务扩展 随着业务的扩展数据库的负载可能会增加。升级到新版本可以提 供更好的性能和扩展性以支持业务的发展升级数据库软件步骤如下调研待升级的数据库软件版本、新特性及向下兼容性等并进行部署、测试将测试结果进行总结并与研发、测试人员进行分享并制定升级计划在开发及测试环境部署新版本数据库并将新建应用及计划内升级的业务数据库 库部署在新版本数据库上开发测试环境测试一个月以上经过回归测试如测试正常则进行预发布及 线上环境升级线上环境先升级从库调整相关参数DBA进行压力测试及基础的兼容性测试从库测试完毕后数据库进行主从切换应用连接切换至新主库原主库作为从 节点加入集群但原主库暂不升级用于异常回退如新主库运行正常2周以上则进行原主库升级2.6 数据库架构升级因数据库版本的迭代及新架构方案的出现在当前数据库架构出现如下问题时需要考虑升级数据库架构影响数据库稳定性 如正在使用的数据库架构方式存在BUG导致数据库集群 无法正常切换、异常切换、不满足数据库可用性及稳定性要求时需升级软件版本或 替换数据库架构方案部署及维护成本高如当前架构方案在部署及维护成本均较高且存在可以替代的降本增效的架构时可以考虑替换方案存在安全隐患如使用的架构方案不再迭代且存在安全隐患则建议立即进行替 代方案调研并进行架构升级新版本数据库需要当新版本数据库投入使用后原架构方案不适用新版本的数 据库时则需升级至新的架构方案架构升级步骤调研阶段调研新架构方案的优缺点并对比当前方案存在哪些优劣势并进行调研 阶段的部署及测试整理出包含部署要求、部署步骤、常见运维操作手册等方面的调 研报告方案评审 对新架构方案进行内部及公司级评审评审通过后制定详细的升级步骤测试阶段 在测试环境部署新架构并对其进行3个月以上的测试线上部署 从新建集群入手进行新方案部署如平稳运行3个月以上再进行其他现有 集群的方案升级3. 缓存软硬件扩容及升级规范因业务在登录、高并发场景、业务锁等场景对缓存Redis依赖性较强 因此当Redis出现性能瓶颈时需提前对Redis的硬件资源及软件版本进行升级以保障Redis及业务的平稳运行。影响Redis性能的主要因素在于内存、CPU及版本 因此本规范将从以下三方面进行说明。3.1 内存扩容当Redis出现以下情况时需对Redis内存进行扩容数据量增加 当 Redis 中的数据量逐渐增加原有的内存容量可能不足以存储 所有数据导致性能下降或无法满足需求。因此建议在内存使用量达到最大内存的 80%时需进行扩容持久化要求 如果你正在使用 Redis 持久化功能如RDB快照或AOF日 志随着数据的增长持久化操作可能需要更多的内存来缓冲写入操作。新业务需求 在引入新的业务功能或数据处理需求且需要共享相同Redis实 例经评估新业务的引入将导致内存不足时注意主库通常不做持久化如确定Redis数据不可丢失时可开启持久化新业务的引入建议使用独立的Redis实例进行隔离如必须共享则考虑共用在经过性能调优之后均无法满足需求的情况再考虑扩容扩容步骤扩容从节点停止主从复制、关闭从节点实例扩容从节点内存启动主从同步调整主从数据库参数将从节点部署为原主节点的从库主从切换 调整从节点参数设置为读写模式并将主从进行切换将应用连接切换至新主库升级原主库停止主从复制、关闭从节点实例扩容原节点内存启动主从同步调整主从数据库参数将原主库节点部署为新主节点的从库3.2 CPU 扩容Redis 在如下场景下需要考虑扩容CPU资源CPU核数不足 Redis通常部署为单线程操作加之主从数据同步及持久化等场景CPU核心数建议为2当CPU核数为1时建议进行扩容版本需要 因新版本的Redis可以支持多线程如使用新版本且业务并发量较大时需考虑扩容CPU核数扩容步骤扩容从节点停止主从复制、关闭从节点实例扩容从节点CPU启动主从同步调整主从数据库参数将从节点部署为原主节点的从库主从切换 调整从节点参数设置为读写模式并将主从进行切换将应用连接切换至新主库升级原主库停止主从复制、关闭从节点实例扩容原节点CPU启动主从同步调整主从数据库参数将原主库节点部署为新主节点的从库3.3 版本升级当Redis在使用过程中出现如下情况时需要考虑升级Redis版本安全性新版本Redis通常会修复已知的漏洞和安全问题提供更高的安全性保障。如果当前版本存在安全隐患升级可以增强Redis的安全性支持与维护 当前版本的Redis即将EOL不再得到官方支持和维护。升级到较新的版本可以获得更长时间的支持避免因为安全问题或其他原因造成无法维护的风险功能需求 当前Redis版本不支持所需的新功能或功能更新而新版本提供了 这些功能。因业务需要且通过升级版本可以更简单的满足业务需求提供更好的功 能支持时可以考虑升级性能优化 新版本可能针对性能进行了优化提供更快的查询速度、更高的并发处理能力等。如果当前版本的性能不能满足业务需求可以考虑升级以获得性能改进升级步骤调研待升级的Redis软件版本、新特性及向下兼容性等并进行部署、测试 • 将测试结果进行总结并与研发、测试人员进行分享并制定升级计划在开发及测试环境部署新版本Redis并将新建应用及计划内升级的业务Redis 库部署在新版本Redis上开发测试环境测试一个月以上经过回归测试如测试正常则进行预发布及 线上环境升级线上环境先升级从库调整相关参数DBA进行压力测试及基础的兼容性测试从库测试完毕后Redis进行主从切换应用连接切换至新主库原主库作为从 节点加入集群但原主库暂不升级用于异常回退如新主库运行正常2周以上则进行原主库升级3.4 架构升级因Redis版本的迭代及新架构方案的出现在当前Redis架构出现如下问题时需要考虑升级Redis架构影响Redis稳定性 如正在使用的Redis架构方式存在BUG导致Redis集群无法正常切换、异常切换、不满足Redis可用性及稳定性要求时需升级软件版本或替换Redis架构方案部署及维护成本高如当前架构方案在部署及维护成本均较高且存在可以替代 的降本增效的架构时可以考虑替换方案存在安全隐患如使用的架构方案不再迭代且存在安全隐患则建议立即进行替 代方案调研并进行架构升级新版本Redis需要当新版本Redis投入使用后原架构方案不适用新版本的 Redis 时则需升级至新的架构方案架构升级步骤调研阶段调研新架构方案的优缺点并对比当前方案存在哪些优劣势并进行调研阶段的部署及测试整理出包含部署要求、部署步骤、常见运维操作手册等方面的调研报告方案评审 对新架构方案进行内部及公司级评审评审通过后制定详细的升级步骤测试阶段 在测试环境部署新架构并对其进行3个月以上的测试线上部署 从新建集群入手进行新方案部署如平稳运行3个月以上再进行其 他现有集群的方案升级