mir3000 发表于 2010-6-11 18:23:17

如何对MYSQL缓存性能优化???

主要是把数据库中查询的内容存储在内存或硬盘中,在一定时间内不再反复查询MYSQL,而是直接从内存或硬盘中读取。
由于最近PHP访问很慢 HTML却很正常 研究了一天以后发现是MYSQL的查询效率影响到了PHP的执行速度,所以想要提升MYSQL的性能,降低MYSQL查询读取的次数,直接从缓存中读取数据。

网上查了一下资料可以装memcached内存缓存MYSQL数据,但是不会装。。。

[ 本帖最后由 mir3000 于 2010-6-11 20:56 编辑 ]

licess 发表于 2010-6-12 09:13:09

回复 1# 的帖子

安装前需要安装上libevent,执行yum install libevent
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure
make && make install

xxnimu 发表于 2010-6-12 20:11:00

“询的内容存储在硬盘中”
你说的这个是要在php代码上实现的,不是说安装个什么东西就可以的

spectrum 发表于 2010-6-30 00:46:16

关于MYSQL优化请参考下面一段:



# vi /usr/local/webserver/mysql/my.cnf   #编辑my.cnf文件

1.将"table_cache = 64"
修改为 "table_cache = 512"
↑指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_cache的值。如果您发现open_tables等于 table_cache,并且opened_tables在不断增长,那么您就需要增加table_cache的值了(上述状态值可以使用show status like 'Open_tables'获得)。注意,不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。

2.将"sort_buffer_size = 512k"
修改为 "sort_buffer_size = 2M"
#每个线程排序所需的缓冲

3.将"read_buffer_size = 128k"
修改为 "read_buffer_size = 2M"
#当一个查询不断地扫描某一个表,MySQL会为它分配一段内存缓冲区。read_buffer_size变量控制这一缓冲区的大小。如果您认为连续扫描进行得太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能。

4.将"read_rnd_buffer_size = 512k"
修改为 "read_rnd_buffer_size = 4M"
#加速排序操作后的读数据,提高读分类行的速度。如果正对远远大于可用内存的表执行GROUP BY或ORDER BY操作,应增加read_rnd_buffer_size的值以加速排序操作后面的行读取。仍然不明白这个选项的用处…

5.将"myisam_sort_buffer_size = 8M"
修改为 "myisam_sort_buffer_size = 32M"
#用于REPAIR TABLE。不明白这个选项的用处,百度上找到的设置方向也是五花八门,有128M、64M、32M等,折中选一个。

mir3000 发表于 2010-8-9 01:35:54

学习了呵呵   留个记录以后好查

YCYCC 发表于 2011-10-20 13:12:54

留个脚印, 学习一下.

kingtung 发表于 2011-10-21 06:38:12

回复 4# 的帖子

MARK备用一下备用一下

yuweitaocn 发表于 2011-10-21 22:23:07

装MTYSQL5.5.16吧,承载量有着不 小的提升。。

kiah 发表于 2014-6-26 10:43:24

留个脚印
页: [1]
查看完整版本: 如何对MYSQL缓存性能优化???