服务器环境:
Operating System: Red Hat Fedora Core 7
RAM: 256 MB Guaranteed (1 GB Bursted)
MySQL client version: 5.0.45
Disk :30G(本来是10G,自己又增加购买了20G)
大约10个网站共用,其中一站的访问量较大(其余的都是小站,没什么访问量的),日均过万,其中最大的资讯数据表约50万数据(只是其中一表哦),最大的单个数据库约1.5G.用的都是Discuz的全套程序:SS7.5(已HTML静态化)+Discuz7.2+UCHome2.0+Ucenter1.5,其他的站点用的是WordPress的博客站,包括本站。
最近总是觉得网站的访问速度在下降,MYSQL数据库CPU占用一直居高不下,最高甚至爆到400%的CPU,这样下去,迟早要被Godaddy封服务器的。
就想着怎么给优化一下,再加上前段时间Godaddy给服务器升级了一次,my.cnf全部重置默认了。在网上开始着手找my.cnf的配置资料,没想到,唉。。。都是一片抄,千篇一律的,没有一篇是关于Godaddy
VDS的配置环境的,对这个又不太懂,不敢随便照抄,就自己边对照,边根据自己的环境配置了,经过几天的反复调试,目前的方案,算是比较稳定的,贴出来,希望也能给用这款服务器的人一点借鉴;
配置的不好别见怪,其实里面很多东西也我不知道具体的用处,都是根据网上的资料,自己根据自己这么小的内存服务器,做了一些倍数的增减,欢迎各位高手指证,做好最优的方案,大家若有更好的设置方案,别忘记告诉我,我也试试(我的邮箱:C嗯挨儿挨克斯踢
唉特 爱姆爱死嗯 点儿 靠姆)。
[mysqld]
user=mysql
port=3306
socket=/var/lib/mysql/mysql.sock
datadir=/var/lib/mysql
#log-error=/var/log/mysqld.log
#log-bin=/var/lib/mysql/localhost-bin
expire_logs_days = 7
binlog_cache_size =2M
#log-slow-queries=/var/lib/mysql/slow-queries.log
long_query_time = 2
#default-character-set=utf8
# old_passwords=1
skip-locking
skip-name-resolve
skip-networking
skip-innodb
skip-bdb
#skip-memory
key_buffer_size = 128M
sort_buffer_size = 512K
join_buffer_size = 256K
read_buffer_size = 512K
#bind-address=127.0.0.1
max_connections = 1000
max_connect_errors= 10
open_files_limit = 12000
back_log = 40
table_cache = 1000
query-cache-size = 8M
query_cache_limit = 1M
query-cache-type = 1
query_cache_min_res_unit = 2k
myisam_sort_buffer_size = 64M
thread_cache_size = 64
thread_cache = 64
tmp_table_size = 200M
max_allowed_packet = 16M
external-locking = true
thread_concurrency = 8
wait_timeout = 2880000
interactive_timeout = 2880000
[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
[mysql]
no-auto-rehash
#default-character-set=utf8
[mysqldump]
quick
max_allowed_packet = 16M
[mysqlhotcopy]
interactive-timeout
set-variable=max_connections=1500
set-variable=wait_timeout=10
max_connect_errors = 100
my.cnf SSL客户端编辑方法:
用PuTTY软件通过SSL登陆服务器,root帐号进入
输入: vi /etc/my.cnf 回车
按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态
编辑完成后按“ESC”键,输入wq 回车保存
输入:/etc/init.d/mysqld restart
重启mysql服务器,观察服务器的运行状况。
稍后会再写一篇跟Godaddy VDS服务器的优化有关的文章,是国外一个思科认证工程师写的,我简单翻译一下。