一个小伙伴的服务器连续负载80%以上已经N个月,具体分析为十几个站数据库新闻附表每个站都超过5G以上了。这样就导致MYSQL数据对IO的操作读写量巨大,导致整个服务器负载过大,从而使整个服务器瘫痪。小伙伴的服务器配置比较高,16核心CPU,16G内存,本着从简到难的改造方法,经过零零碎碎几次改造,先进行的MYSQL优化,观察后,并没有有效的解决问题。所以用了这次清明假期帮小伙伴进行了分表改造。
帝国CMS分表操作后台是默认具备这个功能的,每次数据量到自己需要分表数据量的时候,手动分表指定就好了,还是比较方便简单的。但是小伙伴的默认数据已经存在,再进行分表就很麻烦了,数据转移是个大工程,过程没有做详细记录(过程繁琐且耗时,而且不是通用操作规范,所以不记录分享了)。简单说就是建立分表,使用SQL语句用判断语句每5W数据一个表,这样一点点转移。下面是分表后的情况。做了个小插让客户能方便查看所有站点的数据分表情况,以便数据量到达设定值以后,及时去后台手动分表!当然了,分表后以上问题解决!