03 Nov 2009
悠游网Mysql优化手记
网站信息
为上海市中学生作文竞赛提供服务
平均访问量:2w/天
最高访问量:8w/天
平均数据量:2500 篇文章/天
最高日发文:7000篇文章/天
主要问题
1.并发不到100可引起服务器瘫痪
2.开网页速度过慢
3.mysql进程占用cpu和内存过多
友情提示:优化是一个整体,光优化mysql是不够的。
环境
centos 5.2 x64 , 8核,4G,1T SAS
mysql 5.0.86 x64
my.cnf(只摘录关键部位)
[mysqld]
max_connections = 2048
max_connect_errors = 1024
open_files_limit = 4096
#
# * Fine Tuning
external-locking = FALSE
#mysql短时间内可以保持多长的请求队列,与系统中tcp/ip连接队列有关
back_log = 1024
#
sort_buffer_size = 16M
join_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 16M
myisam_sort_buffer_size = 512M
wait_timeout=60
myisam_repair_threads = 1
skip-name-resolve
back_log = 1024
后记
对mysql优化后负载确实降下来了,但是因为初期架构和配置不合理服务器仍然无法承受太大的压力。在后面我又为其增加了cache层以及数据层,并且严格控制慢查询。才使得用户体验有了比较明显的变化。