I actually discussed innodb_thread_concurrency with a MySQL Expert at the Percona Live NYC conference back in May 2011.
I learned something surprising: In spite of the documentation, it is best to leave innodb_thread_concurrency at 0 (infinite concurrency). That way, InnoDB decides the best number of innodb_concurrency_tickets to open for a given MySQL instance setup.
Once you set innodb_thread_concurrency to 0, you can set innodb_read_io_threads and innodb_write_io_threads (both since MySQL 5.1.38) to the maximum value of 64. This should engage more cores.
TheAlex, высираешь тут только ты, пытаясь строить себя умнее разработчиков linux и mysql, которые не додумались распределить нагрузку по ядрам. В каком моем представлении добить первое ядро? Ты что куришь? Читать видимо не умеешь кто что тебе пишет. Чем тебе la15 не угодило? За 15 минут нагрузки на 0.5 ядра, что не так? Думаешь в linux и mysql дураки сидят столько лет, один ты умный наконец-то появился и решил проблему. Где у тебя показано что mysql использует только одно ядро? Твой скрин из htop не показатель использования mysql`ом только одного ядра! Включи в htop колонку processor и после покажи скрин с фильтром процессов mysql https://i.imgur.com/7bscgeg.png ________ посл. ред. 09.12.2022 в 20:44; всего 1 раз(а); by 419236368
419236368 (9 дек 2022, в 20:44) TheAlex, высираешь тут только ты, пытаясь строить себя умнее разработчиков linux и mysql, которые не додумались распределить нагрузку по ядрам. В каком моем представлении добить первое ядро? Ты что куришь? Читать видимо не умеешь кто что тебе пишет. Чем тебе la15 не угодило? За 15 минут нагрузки на 0.5 ядра, что не так? Думаешь в linux и mysql дураки сидят столько лет, один ты умный наконец-то появился и решил проблему. Где у тебя показано что mysql использует только одно ядро? Твой скрин из htop не показатель использования mysql`ом только одного ядра! Включи в htop колонку processor и после покажи скрин с фильтром процессов mysql https://i.imgur.com/7bscgeg.png
подеритесь еще, в мускуле реально есть такая проблема если его не настраивать должным образом
Scammer (9 дек 2022, в 20:08)
I actually discussed innodb_thread_concurrency with a MySQL Expert at the Percona Live NYC conference back in May 2011.
I learned something surprising: In spite of the documentation, it is best to leave innodb_thread_concurrency at 0 (infinite concurrency). That way, InnoDB decides the best number of innodb_concurrency_tickets to open for a given MySQL instance setup.
Once you set innodb_thread_concurrency to 0, you can set innodb_read_io_threads and innodb_write_io_threads (both since MySQL 5.1.38) to the maximum value of 64. This should engage more cores.
да вот в том и проблема, что ему как-то похрен на переменные) я пробовал различные вариации, но что-то как-то не прёт) по умолчанию стояло 0 (без ограничений), потом поднял read_io и write_io - нуль, поднял до того же значения thread_concurrency по советам с зарубежных форумов и всё равно ничего не поменялось xD думаю ради эксперимента сервер баз данных перенести на свой домашний сервер и посмотреть результат
+++++
думаю уж на таблы сесть - https://www.youtube.com/watch?v=0eAhMeswQdg xD
________ посл. ред. 11.12.2022 в 06:15; всего 2 раз(а); by TheAlex
419236368 (9 дек 2022, в 20:44) TheAlex, высираешь тут только ты, пытаясь строить себя умнее разработчиков linux и mysql, которые не додумались распределить нагрузку по ядрам. В каком моем представлении добить первое ядро? Ты что куришь? Читать видимо не умеешь кто что тебе пишет. Чем тебе la15 не угодило? За 15 минут нагрузки на 0.5 ядра, что не так? Думаешь в linux и mysql дураки сидят столько лет, один ты умный наконец-то появился и решил проблему. Где у тебя показано что mysql использует только одно ядро? Твой скрин из htop не показатель использования mysql`ом только одного ядра! Включи в htop колонку processor и после покажи скрин с фильтром процессов mysql https://i.imgur.com/7bscgeg.png
Решил тоже посмотреть...
Процессы mysql занимают все 12 ядер процессора. Настройки по умолчанию.
У mysql один процесс, главный. Остальные - это потоки (thread)
Обработкой запросов занимаются потоки
Каждый поток привязан к подключению к базе. Скрипт подключается к базе, mysql создаёт поток
1 поток не может занять больше одного ядра, следовательно 1 подключение к базе не сможет занять больше 1 ядра
2 потока потребляют допустим по 10% ядра, итого суммарная нагрузка 20%
Помимо этого у mysql есть мьютексы, они могут блокировать какие-то операции для потоков, т.е. одну операцию может выполнять только один поток, остальные ждут
К примеру MyISAM таблицы: при обновлении таблицы - блокируется вся таблица, и если в таблице миллионы записей, то один поток её может заблокировать на долго, и все остальные потоки будут ждать, и в таком случае нагрузка от mysql никогда не превысит 1 поток, т.е. 100 % от 1 ядра
В прочем Mysql - это довольно таки сложная штука, особенно для новичков и в большинстве случаев настройки по дефолту не стоит трогать, можно только хуже сделать
________ посл. ред. 11.12.2022 в 14:41; всего 1 раз(а); by Mobiaaa