数据库

mysql默认配置修改

2017-03-30  本文已影响248人  我是你军哥

查询mysql数据库连接最大响应数

show global status like 'Max_used_connections'

查询mysql数据库最大连接数

show variables like '%max_connections%';

对于mysql服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。


查询mysql 临时表大小设置

show global variables like 'tmp_table_size';

#mysql连接超时时间设置

show global variables like 'wait_timeout';

innodb_buffer_pool_size:这是你安装完InnoDB后第一个应该设置的选项。缓冲池是数据和索引缓存的地方:这个值越大越好,这能保证你在大多数的读取操作时使用的是内存而不是硬盘。典型的值是5-6GB(8GB内存),20-25GB(32GB内存),100-120GB(128GB内存)。


skip-name-resolve

它将禁止 MySql Server 对外部连接进行 DNS 解析,使用这一选项可以消除 MySql 进行 DNS 解析的时间。
但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求。


MYSQL设置使用cpu多核

innodb_thread_concurrency
innodb_read_io_threads 
innodb_write_io_threads 

来设置,innodb_thread_concurrency这个参数设置为0时,表示不限制线程数。innodb_read_io_threads innodb_write_io_threads这两个参数默认值是4,如果CPU是2颗8核的,那么可以设置为innodb_read_io_threads=8,innodb_write_io_threads=8,当然如果是读比写多的话。可以把读的参数设置大点。
通过设置完成,可以发现还是不错的。
可以通过

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
cat /proc/cpuinfo | grep "cpu cores" | uniq

查看cpu的个数以及核数
如何设置呢?
假如CPU是2颗8核的,那么可以设置:
innodb_read_io_threads = 8innodb_write_io_threads = 8
如果数据库的读操作比写操作多,那么可以设置:
innodb_read_io_threads = 10innodb_write_io_threads = 6


重点优化参数

thread_concurrency = 8
设置thread_concurrency的值的正确与否, 对mysql的性能影响很大, 在多个cpu(或多核)的情况下,错误设置了thread_concurrency的值, 会导致mysql不能充分利用多cpu(或多核), 出现同一时刻只能一个cpu(或核)在工作的情况。thread_concurrency应设为CPU核数的2倍. 比如有一个双核的CPU, 那么thread_concurrency的应该为4; 2个双核的cpu, thread_concurrency的值应为8

thread_cache_size = 64
重新利用保存在缓存中线程的数量,当断开连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线程将被重新创建,如果有很多新的线程,增加这个值可以改善系统性能
根据物理内存设置规则如下:

    1G  ---> 8
    2G  ---> 16
    3G  ---> 32
    >3G  ---> 64

本文我的blog地址:https://www.mixthe.me/archives/241.html

上一篇 下一篇

猜你喜欢

热点阅读