我管理着一个相当大/繁忙的 vBulletin 论坛(在 gigenet 云上运行),数据库约为 10 GB(约 9 百万个帖子,约 60 个查询/秒),最近,根据 iotop 的数据,MySQL 一直在严重磨损磁盘,导致网站速度变慢。
我能想到的最后一个想法是使用复制,但我不确定这会有多大帮助,而且我担心数据库同步。
我没有主意了,如果能提供任何关于如何改善这种情况的建议我将非常感激。
眼镜 :
Debian Lenny 64bit
~12Ghz (6x2GHz) CPU, 7520gb RAM, 160gb disk.
Kernel : 2.6.32-4-amd64
mysqld Ver 5.1.54-0.dotdeb.0 for debian-linux-gnu on x86_64 ((Debian))
其他软件:
vBulletin 3.8.4
memcached 1.2.2
PHP 5.3.5-0.dotdeb.0 (fpm-fcgi) (built: Jan 7 2011 00:07:27)
lighttpd/1.4.28 (ssl) - a light and fast webserver
PHP 和 vBulletin 配置为使用 memcached。
MySQL设置:
[mysqld]
key_buffer = 128M
max_allowed_packet = 16M
thread_cache_size = 8
myisam-recover = BACKUP
max_connections = 1024
query_cache_limit = 2M
query_cache_size = 128M
expire_logs_days = 10
max_binlog_size = 100M
key_buffer_size = 128M
join_buffer_size = 8M
tmp_table_size = 16M
max_heap_table_size = 16M
table_cache = 96
其他:
从云的 IO 图表来看,我们平均读取速度为 100mb/s。
> vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
9 0 73140 36336 8968 1859160 0 0 42 15 3 2 6 1 89 5
> /etc/init.d/mysql status
Threads: 49 Questions: 252139 Slow queries: 164 Opens: 53573 Flush tables: 1 Open tables: 337 Queries per second avg: 61.302.
从超级用户移出