mysql 配置

service mysql restart 

cat /etc/my.cnf

show variables like '%max_connections%'

 

show global status like 'Thread%';

 

innodb_buffer_pool_size

 

对于InnoDB表来说,作用就相当于key_buffer_size对于MyISAM表的作用一样。InnoDB使用该参数指定大小的内存来缓冲数据和索引。对于单独的MySQL数据库服务器,可以把该值设置成物理内存的80%,但不要超过80%。如果数据量比较小也不怎么增加,那么不要把这个值设太高也可以提高内存的使用率。由于我们的数据库表都是InnoDB类型,我设置成75%;根据MySQL手册,对于2G内存的机器,推荐值是1G(50%)。

 

3)、key_buffer_size:

 

索引块是缓冲的并且被所有的线程共享。决定索引处理的速度,尤其是索引读的速度。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8M),我的MySQL主机有2GB内存,因为我们的数据库中没有使用到MyIsAm类型的表,所以建议设为16M(8-64M),通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用'key_read%'获得用来显示状态数据)。key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。

 

7)、table_cache:

 

table_cache指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tablesOpened_tables,可以决定是否需要增加table_cache的值。如果你发现open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_cache的值了(上述状态值可以使用SHOW STATUS LIKE ‘Open%tables’获得)。注意,不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。默认数值是64,我把它改为512。

 

posted @ 2013-08-09 11:14  也许明天  阅读(188)  评论(0编辑  收藏  举报