forum.bitel.ru
http://forum.bitel.ru/

mysql и параметры thread_concurrency+thread_cache_size
http://forum.bitel.ru/viewtopic.php?f=22&t=4593
Страница 1 из 1

Автор:  Dmitri [ 28 сен 2010, 15:23 ]
Заголовок сообщения:  mysql и параметры thread_concurrency+thread_cache_size

Уважаемые коллеги, подскажите, кто как использует данные параметры на linux-машинах. Что-то внятных пояснений по поводу использования thread_concurrency на линуксе - вообще нет. Тестили (mysql bench) разные комбинации, считали по формуле Ncpu*Ncore-per-cpu*3 - прирост - просто если различим!

Что скажете?

Автор:  snark [ 28 сен 2010, 20:07 ]
Заголовок сообщения:  Re: mysql и параметры thread_concurrency+thread_cache_size

Dmitri писал(а):
считали по формуле Ncpu*Ncore-per-cpu*3

там вообще то такая формула:
Код:
# grep thread_concurrency /usr/local/share/mysql/my-huge.cnf
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8


Dmitri писал(а):
Уважаемые коллеги, подскажите, кто как использует данные параметры на linux-машинах.
...
Что скажете?

тестить и использовать смысла нет, т.к. в мануале по этому поводу довольно ясно сказано:
MySQL manual писал(а):
This variable is specific to Solaris systems, for which mysqld invokes the thr_setconcurrency() with the variable value.

Автор:  Dmitri [ 28 сен 2010, 20:59 ]
Заголовок сообщения:  Re: mysql и параметры thread_concurrency+thread_cache_size

Формула все-таки верна та, которая приведена у меня. Т.к.:

Цитата:
Но формула "Try number of CPU's*2 for thread_concurrency" хорошо работает лишь тогда, когда треды не лочатся на дисковом вводе/выводе. Поэтому, возникает ситуация, что запросы некому обработать, ибо все треды работают с диском


И еще:

Цитата:
Если у вас много памяти и много таблиц, то для увеличения производительности, при запуске сервера рекомендуется использовать следующие формулы, учитывающие специфику работы mysql под различные ОС:
» Для FreeBSD: thread_concurrency = (кол-во процессоров)*(кол-во ядер в одном процессоре)
» Для Linux: thread_concurrency = (кол-во процессоров)*(кол-во ядер в одном процессоре)*3

Почему на Linux можно давать можно и нужно давать больше потоков, чем на FreeBSD? Это связано с тем, что Linux умеет распределять и управлять потоками между ядрами, а FreeBSD не умеет, зато FreeBSD умеет эффективно распределять процессы, чего, в свою очередь, не умеет Linux.


И самое главное, по сути пруфлинк:

http://www.dbbenchmark.com/wordpress/benchmarks/

Автор:  snark [ 28 сен 2010, 21:16 ]
Заголовок сообщения:  Re: mysql и параметры thread_concurrency+thread_cache_size

я привел официальную (не какой то там блог и/или статья, а мануал) точку зрения и верить ей или нет - Ваше дело ...
я больше склонен верить мануалу чем чему бы то нибыло еще, да и а Вы сами убедились что установка этого параметра, если я правильно понял ваш пост, особой разницы не дает ...

Автор:  Dmitri [ 04 окт 2010, 15:34 ]
Заголовок сообщения:  Re: mysql и параметры thread_concurrency+thread_cache_size

snark писал(а):
я привел официальную (не какой то там блог и/или статья, а мануал) точку зрения и верить ей или нет - Ваше дело ...
я больше склонен верить мануалу чем чему бы то нибыло еще, да и а Вы сами убедились что установка этого параметра, если я правильно понял ваш пост, особой разницы не дает ...


Хммм. тогда что делать? Т.к. если запрос очень тяжелый, то он получается, полностью монополизирует ресурсы, разве это правильно? Как с этим бороться, кроме как переносом запросов в slave-базу?

Почему mysql - не распределяет нагрузку?

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/