У меня есть сайт drupal, который получает низкий трафик, но имеет множество нового контента, добавляемого модулем импорта пользовательских фидов.Этот модуль создает узлы и связанные таксономии для импортируемых товаров.
В настоящее время я считаю, что ВСЕ наши таблицы drupal - это MyISAM.Я рассматривал возможность переключения таблиц с интенсивной записью:
- узел
- сторожевой таймер
- сессий
- accesslog
- Какие другие таблицы будутвы считаете?
InnoDB.
Как вы думаете, это хорошая идея?Могу ли я увидеть прирост производительности?Причина, по которой я рассматриваю это как часть общего решения, заключается в том, что при импорте mysqld часто исчерпывает память и отключает всю систему.Это происходит ТОЛЬКО при импорте.
Я в конечном итоге увижу такие вещи:
xml import at [01/Jun/2011:13:26:38 -0400] "GET /import/xml_import HTTP/1.1" 200
....
14:02:38 [ERROR] /usr/libexec/mysqld: Out of memory (Needed 1049152 bytes)
Поле x32, поэтому мы ограничены объемом памяти, который мы можем выделить для mySql.У нас также есть PHP, JAVA, SVN и другие, работающие на этой коробке ... она облагается налогом как есть.хех.
Таким образом, любой вклад в настройку производительности БД в целом будет оценен, сейчас я занимаюсь исследованием.
TIA.
РЕДАКТИРОВАТЬ: (I 'я включил мой текущий my.cnf):
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
tmpdir=/var/lib/mysql/tmp
#old_passwords=1
skip-locking
key_buffer = 2048M #doubled from 1024
max_allowed_packet = 16M
table_cache = 5000
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 64 #doubled from 32
thread_concurrency = 8
query_cache_size = 1024M #doubled from 512
tmp_table_size=1024M
max_heap_table_size=1024M
back_log = 100
max_connect_errors = 10000
join_buffer_size=1M
open-files = 20000
interactive_timeout = 600
wait_timeout = 600
ft_min_word_len=3
ft_stopword_file=''
max_connections=1000
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_file_size = 100M
#innodb_buffer_pool_size = 384M
#innodb_additional_mem_pool_size = 20M
#log-slow-queries=/var/lib/mysqllogs/slow-log
#long_query_time=2
#log-queries-not-using-indexes
#log-bin=/var/lib/mysqllogs/bin-log
#log-slave-updates
#expire_logs_days = 14
server-id = 1
[mysql.server]
user=mysql
#basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
open_files_limit=65536