如何对MYSQL缓存性能优化???
主要是把数据库中查询的内容存储在内存或硬盘中,在一定时间内不再反复查询MYSQL,而是直接从内存或硬盘中读取。由于最近PHP访问很慢 HTML却很正常 研究了一天以后发现是MYSQL的查询效率影响到了PHP的执行速度,所以想要提升MYSQL的性能,降低MYSQL查询读取的次数,直接从缓存中读取数据。
网上查了一下资料可以装memcached内存缓存MYSQL数据,但是不会装。。。
[ 本帖最后由 mir3000 于 2010-6-11 20:56 编辑 ]
回复 1# 的帖子
安装前需要安装上libevent,执行yum install libeventwget 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 “询的内容存储在硬盘中”
你说的这个是要在php代码上实现的,不是说安装个什么东西就可以的 关于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等,折中选一个。
学习了呵呵 留个记录以后好查 留个脚印, 学习一下.
回复 4# 的帖子
MARK备用一下备用一下 装MTYSQL5.5.16吧,承载量有着不 小的提升。。 留个脚印
页:
[1]