Chinaunix首页 | 论坛 | 博客
  • 博客访问: 261701
  • 博文数量: 93
  • 博客积分: 3001
  • 博客等级: 中校
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-11 13:20
文章分类

全部博文(93)

文章存档

2011年(1)

2009年(92)

我的朋友

分类: Mysql/postgreSQL

2009-07-13 10:01:51

一,查询缓存

Query Cache对于繁更新的表,查询缓存是不适合的,而对于一些不常改变数据且有大量相同sql查询的表,查询缓存会节约很大的性能

查询缓存的相关参数

1query_cache_limit允许进入查询缓冲区的最小数据大小,默认值是1MB

2query_cache_size决定分配给缓存的内存数量,单位是字节。 ,默认是0

3query_cache_type OFF | ON指定查询缓冲的类型,0是关闭,1为开启缓默认为1.

4read_buffer_size = n   为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是128KB);

5read_rnd_buffer_size = n   类似于read_buffer_size选项,但针对的是按某种特定顺序(比如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)

6join_buffer_size = n   在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K)

查询缓存的性能评估

1)用这个命令查看:mysql> SHOW VARIABLES LIKE '%query_cache%';

     have_query_cache     YES     --查询缓存是否可用
query_cache_limit   1048576 --
可缓存具体查询结果的最大值
query_cache_size  599040  --
查询缓存的大小
query_cache_type     YES --
阻止或是支持查询缓存

2)在 SHOW STATUS 中,你可以监视查询缓存的性能:

变量 含义

Qcache_queries_in_cache 在缓存中已注册的查询数目

Qcache_inserts 被加入到缓存中的查询数目

Qcache_hits 缓存命中的次数

Qcache_lowmem_prunes 因为缺少内存而被从缓存中删除的查询数目

Qcache_not_cached 没有被缓存的查询数目 (不能被缓存的,或由于 QUERY_CACHE_TYPE)

Qcache_free_memory 查询缓存的空闲内存总数

Qcache_free_blocks 查询缓存中的空闲内存块的数目

Qcache_total_blocks 查询缓存中的块的总

 

二,索引缓存

key_buffer_size指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。对于内存在2GB左右的服务器该参数可设置为128M,性能由一下几个参数决定

1Key_read_requests :是从cache中读索引的请求

2Key_reads :是从物理硬盘上读索引的次数

通过二者的比值即

key_reads /key_read_requests来决定,其比值越小性能就越优,至少是1:100

状态值可以使用SHOW STATUS LIKE ‘key_read%’获得

key_buffer_size 128M

key_read_requests 650759289

key_reads - 79112

3)  比例接近1:8000 健康状况非常好

三,           表缓冲区的限制

table_cache指定表高速缓存的大小,值在2G内存以下的机器中的值默认时256512可通过以下两个参数来衡量其性能

1 Open_tables :表示当前打开的表数目

2opened_tables :表示累计已经打开的表数目

通过二者的比值来调整性能,如果Opened_tables远大于Open_tables,并且Open_tables很接近table_cache,那么就说明table_cache偏小

可用该命令查看:mysql> show variables like '%open%'

四,连接数限定

1back_log :指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中,默认值为50。对于Linux系统推荐设置为小于512的整数。

2 max_connections :允许并发连接的数量,该值过小你将经常看到 Too many connections 错误。 默认数值是100,我把它改为1024

五,等待时间限制

1interactive_timeout :对后续起的交互链接有效 默认数值是28800

2wait_timeout:对当前交互链接有效,服务器在关闭连接之前在一个连接上等待行动的秒数,默认数值是28800,即如果没有事情发生,服务器在 8个小时后关闭连接

注意二者的值要相等否则不生效

 

阅读(764) | 评论(0) | 转发(0) |
0

上一篇:语法综合实例

下一篇:设置磁盘配额

给主人留下些什么吧!~~