- 论坛徽章:
- 0
|
一 连接数Max_used_connections / max_connections * 100% ≈ 85%
最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接数上限设置的过高了。
二 Key_buffer_size (32位 2G 64位4G ) 1, 索引未命中缓存的概率 key_cache_miss_rate = Key_reads / Key_read_requests * 100%key_cache_miss_rate在0.1%以下都很好(每1000个请求有一个直接读硬盘),如果key_cache_miss_rate在0.01%以下的话,key_buffer_size分配的过多,可以适当减少。
2,key_blocks_*参数:
Key_blocks_unused 未使用的缓存簇(blocks)数
Key_blocks_used 曾经用到的最大的blocks数
Key_blocks_unused 太小要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:
Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%
三 临时表
Created_tmp_disk_tables / Created_tmp_tables * 100%
'max_heap_table_size'= 268435456只有256MB以下的临时表才能全部放内存,超过的就会用到硬盘临时表。
四、Open Table情况
Open_tables表示打开表的数量,Opened_tables表示打开过的表数量,如果Opened_tables数量过大,说明配置中table_cache(5.1.3之后这个值叫做table_open_cache)值可能太小
比较合适的值为:
Open_tables / Opened_tables * 100% >= 85%
Open_tables / table_open_cache * 100%
五、进程使用情况
Threads_created表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值.
六 、查询缓存(query cache)
query_cache_min_res_unit的配置是一柄”双刃剑”,默认是4KB,设置值大对大数据查询有好处,但如果你的查询都是小数据查询,就容易造成内存碎片和浪费。
查询缓存碎片率 = Qcache_free_blocks / Qcache_total_blocks * 100%
如果查询缓存碎片率超过20%,可以用FLUSH QUERY CACHE整理缓存碎片,或者试试减小query_cache_min_res_unit,如果你的查询都是小数据量的话。
查询缓存利用率 = (query_cache_size - Qcache_free_memory) / query_cache_size * 100%
查询缓存利用率在25%以下的话说明query_cache_size设置的过大,可适当减小;查询缓存利用率在80%以上而且Qcache_lowmem_prunes > 50的话说明query_cache_size可能有点小,要不就是碎片太多。
查询缓存命中率 = (Qcache_hits - Qcache_inserts) / Qcache_hits * 100%
示例服务器 查询缓存碎片率 = 20.46%,查询缓存利用率 = 62.26%,查询缓存命中率 = 1.94%,命中率很差,可能写操作比较频繁吧,而且可能有些碎片。
七、排序使用情况
Sort_merge_passes 太大 说明Sort_buffer_size 肯小了
八、文件打开数(open_files)
比较合适的设置:Open_files / open_files_limit * 100% %
九,锁表
如果Table_locks_immediate / Table_locks_waited > 5000,最好采用InnoDB引擎
表扫描率 = Handler_read_rnd_next / Com_select
如果表扫描率超过4000,说明进行了太多表扫描,很有可能索引没有建好,增加read_buffer_size值会有一些好处,但最好不要超过8MB。
Out of memory ???
key_buffer_size + tmp_table_size + (read_buffer_size + sort_buffer_size + read_rnd_buffer_size +join_buffer_size )*max_connections = ?
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/78700/showart_2130771.html |
|