原文:mysql数据库的安装以及常见优化设置
本文根据优才网课程整理,面向web开发者,内容以实用为主,专业DBA可以绕行。
如果你在大公司,可能有专门的DBA来做这些事情,如果你在一个小公司当架构师或者技术总监,或者你自己创业,那DBA的活你也得干了。
【服务器】 【mysql】 【数据库】 【配置】 【索引】 【磁盘】 …
之前我进行了MySQL 5.6.17/Percona5.6.16/MariaDB 10.0.11/OneSQL 5.6.16对比基准TPCC压测,从测试结果可以看到在高并发(并发1920线程)模式下,MariaDB的相对优势,也看到了在一般并发场景(并发64线程)模式下,MariaDB拥有绝对优势。
今天我们就来看看这两种模式下,系统负载等性能指标表现,以及各自的瓶颈在哪里,也就能知道为何有这么大差异了。
首先,我们看下并发64线程的对比图表:
再看下并发1920线程的对比图表:
…
[获取更多]近日花了点时间对几个分支版本进行对比测试,包括了:MySQL 5.6.17、Percona5.6.16、MariaDB 10.0.11、OneSQL 5.6.16。
| 1、测试基准 |
| 测试工具: tpcc-mysql |
| 测试Warehouse数: 10/100 |
| warmup time: 120s |
| run time: 1800s |
| 并发线程数: 64 ~ 1920 |
| 2、测试环境: |
| OS:RHEL 6.4 |
| 内核:2.6.32-358.el6.x86_64 |
| 磁盘:INTEL SSDSC2BA800G3 |
| 3、MySQL配置: |
| innodb_buffer_pool_size = 26G |
| … |
收到一个mysql服务器负载告警,上去一看,load average都飙到280多了,用top一看,CPU跑到了336%,不过IO和内存的负载并不高,根据经验,应该又是一起索引引起的惨案了。
看下processlist以及slow query情况,发现有一个SQL经常出现,执行计划中的扫描记录数看着还可以,单次执行耗时为0.07s,还不算太大。乍一看,可能不是它引发的,但出现频率实在太高,而且执行计划看起来也不够完美:
mysql> explain SELECT count(1) FROM a , b WHERE a.id = b.video_id and b.state = 1 AND b.column_id = ’81’\G
*************************** 1. row
***************************
id: 1
select_type: SIMPLE
table: b
type: index_merge
possible_keys:
columnid_videoid,column_id,state,video_time_stamp,idx_videoid
key: column_id,state
…