MySQL单机调优
数据库独立一台服务器
MySQL体系结构
单机调优:
纵向升级:硬件内存,硬盘设备等升级
编译安装的参数
skip-name-resolv 跳过主机名解析
公共参数的调优
存储引擎的选择:
MyISAM
Innodb
Heap
针对不同的存储引擎进行优化
一、公共参数的调优
缓存方面的优化:
查看mysqld到底支持什么样的参数启动
1、show variables .....
2、查看官档
3、mysqld --verbose --help
sort_buffer_size参数
order by , group by
mysql> show variables like 'sort%';
+------------------+---------+
| Variable_name | Value |
+------------------+---------+
| sort_buffer_size | 2097144 |
+------------------+---------+
join_buffer_size参数
mysql> show variables like 'join%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| join_buffer_size | 131072 |
+------------------+--------+
read_rnd_buffer_size参数
以上的buffer都是每个连接线程独立分配。
连接线程调优:
mysql> show variables like 'thread%';
+-------------------+---------------------------+
| Variable_name | Value |
+-------------------+---------------------------+
| thread_cache_size | 0 |
| thread_handling | one-thread-per-connection |
| thread_stack | 196608 |
+-------------------+---------------------------+
thread_cache_size 每个线程独立分配
mysql> set global thread_cache_size=6;
建议值
thread_stack 512KB
查看状态
mysql> show status like 'thread%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 0 | 当前有多少空闲线程被缓存
| Threads_connected | 1 | 当前有多少个线程被连接着
| Threads_created | 1 | 从mysql启动以来,创建了多少个线程
| Threads_running | 1 | 当前多少连接线程是正在执行SQL
+-------------------+-------+
mysql支持的最大并发连接数
mysql> show variables like 'max_connections';
+-----------------+-------+
|