调优

对于高风险,0收益,甚至是负收益的操作,走流程准没错 比如:有DMS数据管理工具,为了避免一些业务操作,没有走工单而是自己写代码或者用其他奇奇怪怪的方式,出现问题自己承担责任,虽然你可能是为了快速用户解决问题,要学会用流程和规范来保护自己。

综合优化手段

查询优化、参数优化、读写分离还有分库分表。异地多活。
notion image

2000w数据分库分表

增加索引深度。MySQL 默认是 16K 的页面,抛开它的配置 header,大概就是 15K,因此,非叶子节点的索引页面可放 151024/12=1280 条数据,按照每行 1K 计算,每 个叶子节点可以存 15 条数据。同理,三层就是 151280*1280=24576000 条数据。只有数据量达到 24576000 条时,深度才会增加为 4

参数调优

notion image
innodb_buffer_pool_size 简单说就是 innodb 缓冲池的大小,用于缓存表和索引,也包括插入数据缓冲,增加这个值可 以减少磁盘 IO。 在实践中应该尽可能调大这个参数。如果数据库所在的机器内存比较大,那么可以调整到整个 内存的 70% 或者 75%。但是也要小心这个参数过大,物理内存不足,容易触发操作系统
 
innodb_buffer_pool_instances 这个参数指定。显然这个数字越大,并发竞争就越小
可惜 MySQL 有一些额外的限制,它要求在 innodb_buffer_pool_instances 大于 1 的情况 下,innodb_buffer_pool_size 不能小于 1G。一般我建议在 8G 以内设置成 2 就可以,如果大于 8G 那么可以设置成 4。
Loading...
文章列表
王小扬博客
AI Code
AI
Java
其他
计算机网络
Git
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
产品
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存