怎么建设游网站主页,wordpress 微信登录插件下载失败,asp建的网站上传文章,网站后台 登录界面模板 远吗文章目录 1. 优化MySQL服务器2. 优化数据库结构2.1 差分表#xff1a;冷热数据分离 3. 大表优化3.1 读/写分离3.2 垂直拆分3.3 水平拆分 1. 优化MySQL服务器
电商平台#xff0c;双十一#xff0c;CPU使用率达到99%#xff0c;系统的计算资源已经耗尽#xff0c;再也无法… 文章目录 1. 优化MySQL服务器2. 优化数据库结构2.1 差分表冷热数据分离 3. 大表优化3.1 读/写分离3.2 垂直拆分3.3 水平拆分 1. 优化MySQL服务器
电商平台双十一CPU使用率达到99%系统的计算资源已经耗尽再也无法处理任何新的订单了。 这个时候我们想到了对系统参数进行调整一共调整3个系统参数分别是
InnoDB_flush_log_at_trx_commit默认为0改为2这样就不用每次提交事务的时候都启动磁盘读写了而是每隔一秒lnnoDB_buffer_pool_sizeInnoDB存储引擎使用缓存来存储索引和数据,可以加载到缓存区的索引和数据量就越多需要的磁盘读写就越少。lnnoDB_buffer _pool_instances可以将InnoDB的缓存区分成几个部分这样可以提高系统的并行处理能力因为可以允许多个进程同时处理不同部分的缓存区。
2. 优化数据库结构
2.1 差分表冷热数据分离
把1个包含很多字段的表拆分成2个或者多个相对较小的表热数掘经常要进行查询或者更新操作。冷数据字段的使用频率却很低。冷热数据分离可以减小表的宽度。查询是Btree存放的索引和叶子节点的数据就少了一次读取的就多了性能就高了。
3. 大表优化
3.1 读/写分离
3.2 垂直拆分
垂直分库、垂直分表
如果数据库中的数据表过多可以采用垂直分库的方式将关联的数据表部署在同一个数据库上。如果数据表中的列过多可以采用垂直分表的方式将一张数据表分拆成多张数据表把经常一起使用的列放到同一张表里冷热数据分离
3.3 水平拆分
这里主要考虑业务数据的水平分表策略。将大的数据表按照某个属性维度分拆成不同的小表每张小表保持相同的表结构。比如可以按照年份来划分把不同年份的数据放到不同的数据表中。2017年、2018年和2019年的数据就可以分别放到三张数据表中。
下面补充一下数据库分片的两种常见方案:
客户端代理分片逻辑在应用端封装在jar包中通过修改或者封装JDBC层来实现。当当网的sharding-JDBC、阿里的TDDL是两种比较常用的实现。中间件代理在应用和数据中间加了一个代理层。分片逻辑统一维护在中间件服务中。我们现在谈Mycat、360的Atlas、网易的DDB等等都是这种架构的实现。