MySQL数据库的优化(上)单机MySQL数据库的优化ITeye - 超凡娱乐

MySQL数据库的优化(上)单机MySQL数据库的优化ITeye

2019-01-11 05:11:20 | 作者: 笑卉 | 标签: 优化,衔接,假如 | 浏览: 913

#制止MySQL对外部衔接进行DNS解析,运用这一选项能够消除MySQL进行DNS解析的时刻。但需求留意,假如敞开该选项,则一切长途主机衔接授权都要运用IP地址办法,不然MySQL将无法正常处理衔接恳求!

back_log = 384 

#back_log参数的值指出在MySQL暂时中止呼应新恳求之前的短时刻内多少个恳求能够被存在仓库中。 假如体系在一个短时刻内有许多衔接,则需求增大该参数的值,该参数值指定到来的TCP/IP衔接的侦听行列的巨细。不同的操作体系在这个行列巨细上有它自 己的约束。 企图设定back_log高于你的操作体系的约束将是无效的。默许值为50。关于Linux体系引荐设置为小于512的整数。

key_buffer_size = 384M 

#key_buffer_size指定用于索引的缓冲区巨细,添加它可得到更好的索引处理功能。关于内存在4GB左右的服务器该参数可设置为256M或384M。留意:该参数值设置的过大反而会是服务器全体功率下降!

max_allowed_packet = 4M   thread_stack = 256K   table_cache = 614K   sort_buffer_size = 6M 

#查询排序时所能运用的缓冲区巨细。留意:该参数对应的分配内存是每衔接独占,假如有100个衔接,那么实践分配的一共排序缓冲区巨细为100 × 6 = 600MB。所以,关于内存在4GB左右的服务器引荐设置为6-8M。

read_buffer_size = 4M 

#读查询操作所能运用的缓冲区巨细。和sort_buffer_size相同,该参数对应的分配内存也是每衔接独享。

join_buffer_size = 8M 

#联合查询操作所能运用的缓冲区巨细,和sort_buffer_size相同,该参数对应的分配内存也是每衔接独享。

myisam_sort_buffer_size = 64M   table_cache = 512   thread_cache_size = 64   query_cache_size = 64M 

#指定MySQL查询缓冲区的巨细。能够经过在MySQL控制台调查,假如Qcache_lowmem_prunes的值十分大,则标明经常出现缓冲不行 的状况;假如Qcache_hits的值十分大,则标明查询缓冲运用十分频频,假如该值较小反而会影响功率,那么能够考虑不必查询缓冲;Qcache_free_blocks,假如该值十分大,则标明缓冲区中碎片许多。

tmp_table_size = 256M   max_connections = 768 

#指定MySQL答应的最大衔接进程数。假如在拜访论坛时经常出现Too Many Connections的过错提 示,则需求增大该参数值。

max_connect_errors = 1000   wait_timeout = 10 

#指定一个恳求的最大衔接时刻,关于4GB左右内存的服务器能够设置为5-10。

thread_concurrency = 8 

#该参数取值为服务器逻辑CPU数量*2,在本例中,服务器有2颗物理CPU,而每颗物理CPU又支撑H.T超线程,所以实践取值为4*2=8;这个现在也是双四核干流服务器装备。

skip-networking 

#敞开该选项能够彻底封闭MySQL的TCP/IP衔接办法,假如WEB服务器是以长途衔接的办法拜访MySQL数据库服务器则不要敞开该选项!不然将无法正常衔接!

table_cache=1024    

#物理内存越大,设置就越大.默以为2402,调到512-1024最佳

innodb_additional_mem_pool_size=4M 

#默以为2M

innodb_flush_log_at_trx_commit=1 

#设置为0便是比及innodb_log_buffer_size列队满后再一致贮存,默以为1

innodb_log_buffer_size=2M     

#默以为1M

innodb_thread_concurrency=8       

#你的服务器CPU有几个就设置为几,主张用默许一般为8

key_buffer_size=256M    

#默以为218,调到128最佳

tmp_table_size=64M 

#默以为16M,调到64-256最挂

read_buffer_size=4M 

#默以为64K

read_rnd_buffer_size=16M 

#默以为256K

sort_buffer_size=32M 

#默以为256K

thread_cache_size=120 

#默以为60

query_cache_size=32M  

※值得留意的是:

许多状况需求具体状况具体分析

一、假如Key_reads太大,则应该把my.cnf中Key_buffer_size变大,坚持Key_reads/Key_read_requests至少1/100以上,越小越好。

二、假如Qcache_lowmem_prunes很大,就要添加Query_cache_size的值。

许多时分咱们发现,经过参数设置进行功能优化所带来的功能提高,或许并不多么多人幻想的那样发生质的腾跃,除非是之前的设置存在严峻不合理的状况。咱们不能将功能调优彻底依托于经过DBA在数据库上线后进行的参数调整,而应该在体系规划和开发阶段就尽或许削减功能问题。

以上是笔者针对单机MySQL数据库提出的优化办法,假如单MySQL的优化一直仍是顶不住压力时,这个时分咱们就必须考虑MySQL的集群计划了,咱们应该怎么优化呢?请等待下篇MySQL高可用规划计划。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章