Господа, подскажите плз, неужели mysql на линукс таки быстрее или я не
совсем не умею готовить фрю
Имеется
linux сервер, о 8 ядрах и 16 гигах оперативки собраный на программном
зеркале. На севере работает связка nginx+php-fpm через tcp сокет и mysql
5.1 с нагрузкой 3-5k qps
my.cnf
max_connections = 400
query_cache_size = 50M
join_buffer_size = 450M
thread_cache_size = 128
table_cache = 128

Рабочие LA<1, user cpu<10%


Пытаюсь все это перенести на freebsd сервер с 2 по CPU E5-2420 (24 ядра) и
тех же 16 гиг (то есть машинка существенно более мощная)
базу кладу на софтварный raid-0
nginx+php_fpm через unix socket

Для теста включаю проксирование через старый сервер на новый и получаю
1. первые 2-3 минут база отъедает до 1500% cpu, затем РЕЗКО падает до 70-100
2. LA в районе 2
нагрузка на винты (судя по gstat) около нуля
Сайты отдаются существенно медленее (ожидание до открытия до 7-9 секунд
против 2-3 на старом)
3. Среднее потребление user cpu > 20-30% (в основном php) и куча долгих
запросов к базе  (по 1-2 секунды) чего на старом сервере нет.

vmstat -z и netstat -m  ничего странного не показываю.
Подскажите плз, куда смотреть?


my.cnf нового  сервера
symbolic-links=0
max_connections = 400
query_cache_size = 250M
join_buffer_size = 2G
thread_cache_size = 128
table_cache = 1228
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1

key_buffer_size = 1560M
skip-innodb_doublewrite
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 64M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 16
thread_concurrency = 24
wait_timeout = 38800
interactive_timeout = 18800
max_delayed_threads = 40
slow_query_log
long_query_time = 1
innodb_file_per_table = 1
innodb_buffer_pool_size=5G
innodb_additional_mem_pool_size = 256M
low_priority_updates = 1
tmp_table_size = 3000M
#tmpdir = /tmp/mysql
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit=2
max_heap_table_size = 1000M
query_cache_limit = 50M

Ответить