Назад | Перейти на главную страницу

MySQL убивает IO сервера

Я управляю довольно большими / загруженными форумами vBulletin (работающими в облаке gigenet), база данных составляет ~ 10 ГБ (~ 9 миллионов сообщений, ~ 60 запросов в секунду), в последнее время MySQL измельчает диск, как будто завтра не будет, согласно iotop и замедление сайта.

Последняя идея, о которой я могу думать, - это использовать репликацию, но я не уверен, насколько это поможет, и беспокоился о синхронизации базы данных.

У меня нет идей, любые советы о том, как улучшить ситуацию, были бы очень признательны.

Технические характеристики:

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

Другой :
Из диаграммы ввода-вывода облака мы получаем в среднем чтение 100 МБ / с.

> 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.

переехал от суперпользователя