• MySQL新项目如何确保上线安全


    大纲

    DBA最应该做的事情

    新项目开发环境应该注意什么

    功能测试和压力测试MySQL DBA关注点

    线上环境关注点

    业务在大压力情况下,MySQL如何能活下来

    DBA最应该做的事情

    备份

    建议每天全备

    每天把Binlog也要进行备份

    理想的目标:可以把数据还原到任意时间点(近2周的能力)

    监控

    了解环境的情况

    环境可控

    了解数据增长及和环比情况

    新项目开发环境应该注意什么

    long_query_time=1->0

    了解核心业务SQL,提出读写分离和缓存指导建议

    功能测试,性能测试中注意校对

    备份开发环境(每天一备),放在其他机器上,最好也要有从库

    核心SQL优化,Schema调整尽量在这个阶段完成

    特别提示:

    新技术也可以在这个测试环境测试一下

    开发环境常见问题

    开发把数据误操作干掉

    开发服务器机器故障

    并发连接太多,DB响应太慢

    功能测试和压力测试MySQL DBA关注点

    功能测试环境(保稳)

    保障环境正常,基本DBA不在调整该环境的东西

    数据库新版本验证(也可以放到这个环节)

    数据库权限尽量保持和线上一样的要求(严格控制)

    重视该环境的性能问题

    功能环境可能遇到的问题

    1.索引不合理

    2.功能不完善,调整表结构

    3.存储过程,定时任务缺失

    4.主从故障

    性能环境(测极限)

    一般基于LR测试

    数据初始化(备份)

    获取SQL执行频度,优化,读写分离相关工作进一步校验

    产出:

    基于业务的性能评估(性能测试人员)

    数据库的性能情况(DBA)

    压测环境可能遇到的问题

    1.数据库压挂

    2.IO不行

    3.buffer pool太小

    4.索引不合理

    5.慢查询较多

    6.优化SQL

    线上环境关注点

    1.DML操作量 & 事务队列

    2.数据增长量

    每张表每天增长多少行

    每周增加的大小

    3.每天binlog形成量,高峰期binlog切换速度

    4.每天慢日志情况,错误日志情况

    5.每天备份(数据,binlog)

    6.高可用架构

    线上问题

    1.更改表结构

    2.迁移

    3.性能问题(异常)

    4.SQL优化

    5.数据一致性校验

    6.高可用切换

    高性能环境MySQL如何活下来

    1.高可用切换后,新节点直接挂掉

    从节点负载超过50%

    从节点buffer pool没缓存数据

    2.连接数较高,出现thread_running过高,数据库挂掉

    过载保载

    引入thread_pool

    3.单表出现热点

    读写拆分(认证)

    4.update tb set c1 = c1 + 1 where id = xxx; 高并发搞挂数据库

    内存中合并更新

  • 相关阅读:
    Volar vue终极开发神器!
    Object.assign基础与实际应用场景
    如何将Promise.then中的值直接return出来
    zap linux环境下的使用
    量化
    博客园中实现代码高亮
    react环境搭建
    博客园中实现代码高亮
    Python之标准库【shutil】
    Python之标准库【shutil】
  • 原文地址:https://www.cnblogs.com/allenhu320/p/11364897.html
Copyright © 2020-2023  润新知