您的位置:首页 > 数据库 > MySQL

mysql优化(从硬件、系统、配置、设计等角度优化)

2015-01-28 23:58 260 查看

我们先了解mysql数据库特点

mysql特点

1)、not oracle,not sql server ,not postgresql;

2)、not excel,not access;

3)、not file storage;

4)、not calculator;

5)、not seach engin;

mysql 利用cpu的特点:

1)、mysql<5.1,多核心的利用是非常差的,能用到一个核心;

2)、5.1可以利用到4核心;

3)、5.5可以利用到24核心;

4)、5.6可以利用到64核心;

5)、mysql每个连接对应的是一个线程,每个query只能用到一个cpu核心,

建议让sql尽可能的快速,不要长时间堵塞到哪里,让每个事物短小精悍,快速提交。

内存利用特点:

1)、类似oracle的SGA、PGA,注意PGA不宜分配过大;

2)、内存管理简单、有效。在TPS高并发环境下,可增加物理内存已减少物理

IO,提高并发性能;

3)、官方分支锁并发竞争比较严重,mariadb、percona进行优化;

4)、mysql有类似oracle library cache的query cache,但效果不佳,建议关闭;执行计划没有缓存(类似oracle的library cache)

5)、通常用内存按热点数据总量的15%-20%来规划,如果专单实例可以分配物理内存的

50%-70%左右;

6)、在mysql存储类似于k-v简单数据,采用memcached、redis等NOSQL来缓存;

mysql对磁盘利用特点:

1)、binlog、redo log、undo log主要是顺序I0;

2)、datafile是随机IO和顺序IO都有;

3)、OLTP业务以随机IO为主,建议加大内存,尽量合并随机IO为顺序IO;

4)、OLAP业务顺序IO为主,极大内存的同时增加磁盘数量提高顺序IO性能;

5)、myISAM是堆组织表(HOT),innodb是索引组织表(IOT);

6)、innodb相对MYisam更消耗磁盘空间;



优化思路

确认问题

确认瓶颈

制定方案

测试方案

实施方案

回顾反馈

后续分享

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: