参考答案:
a:硬件的优化:
1、采用64位cpu,cpu至少4颗,L2缓存越大越好
2、内存要大,32-64G运行1-2个实例,96-128G运行3-4个实例
3、机械盘选用sas盘,转速15000以上,用可能的话使用ssd
4、raid卡使用raid10
5、网卡多块,千兆以上
6、数据库不要使用虚拟化,slave硬件要好于master
b:操作系统优化
1、操作系统选择x86_64位,尽量采用xfs文件系统
2、优化磁盘存储参数
3、优化内核参数
4、优化网络等
c:mysql构架优化
1、根据内存大小,配置服务器跑多实例
2、主从复制采用mixed模式,尽量不要跨机房同步,若要跨机房,尽量采用远程写,本地读
3、定期检查、修复主从复制的数据差异
4、业务拆分,搜索功能不使用MySQL数据库执行;某些高并发,安全性一般的业务使用nosql,如:memcache、 redis等
5、数据库前端加cache,如memcache,用于用户登录,商品查询
6、动态数据静态化,整个文件静态化,页面片段静态化
7、数据库集群读写分离,一主多从,通过dbproxy进行集群读写分离
8、单表超过800万,拆库拆表,如人工将(登录、商品、订单)拆表拆库
9、选择从库备份,并且对数据库进行分表分库备份
d:MySQL数据库层面优化
1、优化my.cnf参数
2、优化库表设计,包括字符集、字符串长度、创建短索引、多用复合索引;
3、SQL语句优化,减少慢语句数量;
e:数据库管理流程、制度优化
1、人的流程:开发—>核心运维/DBA
2、测试流程:内网 IDC测试线上执行
3、客户端管理,PHPMYADMIN
f:MySQL数据库安全优化
1、数据库禁止设置外网
2、数据库文件权限优化;
3、授权用户权限限制,尽量专库专用户
4、限制开发对生产库的操作权限
5、防止SQL语句注入
转载于:https://blog.51cto.com/sunrisenan/1945523