И окажется, что надо всё же использовать современный InnoDB и не будет таких проблем. У вас блокировка таблицы идёт и пока не пройдут все изменения, никому даже читать из неё нельзя.
Пример с replace я привел как срочное и безотказное проверка на нагрузку) А так банально, база работает в режиме селекта и только. Но без проблем, в туду лист я добавил иннодб, но все таки хочется видеть загруженность сервера и полный доступ к ресурсам у мариадб, и я думал, что есть какая-то модная команда которую надо прописать в my.cnf и проблема решится)
Возможно, мы не поняли друг друга. Попробую переформулировать. Вот допустим, Вы сейчас сделали запрос к сайту. Понятное дело, что с Вашей точки зрения сайт "лежит", потому что не может дождаться завершения работы мускуля. А я в это время делаю свой запрос к другой странице сайта, который не требует выполнения тяжёлого запроса к базе данных. Для меня сайт откроется или тоже будет лежать?
Картинки открывает, страницы хтмл без запроса открывает, в момент тяжелого запроса в базу например на полнотекстовый запрос с изменением (replace), а вот обычные страницы даже с кешем, отдавать не хочет, пока не выполнит запрос мускул. Я надеюсь правильно написал? )
Вы прям на 100% уверены, что дело в недоступности сервера БД в этот момент? Или может быть дело в заблокированных сессиях, к примеру, которые висят заблокированными пока тот тяжёлый запрос выполняется?
Если бы я был уверенным в чем-то, я бы на форуме глупые вопросы не задавал бы. Нет, не уверен.
Если выполняется 1 запрос, значит будет использоваться 1 ядро т.к. это 1 задача. Если запустите второй запрос, то подключиться второе ядро.
Раньше давал полнотекстовый запрос в виде поиска по тексту в базе, почему-то выдавало максимальную нагрузку и за 200% и за 300%, сейчас любая операция выдает 99%. Теперь если уже обсуждать одну задачу, но ведь на сервере не одна задача, еще помимо моих запросов есть нагруженные сайты? Или они в очередь после моего одного тяжелого запроса становятся? Ведь по сути, сайт в этот момент лежит.
Так может быть, новая БД быстрее просто работает? 😀
Может если бы я увидел 101%, тогда пошел дальше отдыхать. А пока-что вижу мариадб чехлит мой запрос, а мариадб выше 99% не прыгает, мне кажется, что оно работает в одно ядро. Я не администратор серверов, делаю на уровне мануалов для чайников. Помню как ранее видел цифры и 200% и 300%, и работало быстрее
Про воду и тупые текста, которые выдает ИИ. Пытаюсь опровергнуть.
А теперь обратимся к вашей же таблице:
И окажется, что надо всё же использовать современный InnoDB и не будет таких проблем. У вас блокировка таблицы идёт и пока не пройдут все изменения, никому даже читать из неё нельзя.
Пример с replace я привел как срочное и безотказное проверка на нагрузку) А так банально, база работает в режиме селекта и только. Но без проблем, в туду лист я добавил иннодб, но все таки хочется видеть загруженность сервера и полный доступ к ресурсам у мариадб, и я думал, что есть какая-то модная команда которую надо прописать в my.cnf и проблема решится)
Возможно, мы не поняли друг друга. Попробую переформулировать. Вот допустим, Вы сейчас сделали запрос к сайту. Понятное дело, что с Вашей точки зрения сайт "лежит", потому что не может дождаться завершения работы мускуля. А я в это время делаю свой запрос к другой странице сайта, который не требует выполнения тяжёлого запроса к базе данных. Для меня сайт откроется или тоже будет лежать?
Вы прям на 100% уверены, что дело в недоступности сервера БД в этот момент? Или может быть дело в заблокированных сессиях, к примеру, которые висят заблокированными пока тот тяжёлый запрос выполняется?
"По сути", или точно лежит?
Лежит - это когда запрос к сайту от другого пользователя сети не получает ответ 200.
Лежит, потому-что не может получить ответ от базы. Возвращаемся к вопросу, как включить мультизадачность, мультипоточность)
Если выполняется 1 запрос, значит будет использоваться 1 ядро т.к. это 1 задача. Если запустите второй запрос, то подключиться второе ядро.
Раньше давал полнотекстовый запрос в виде поиска по тексту в базе, почему-то выдавало максимальную нагрузку и за 200% и за 300%, сейчас любая операция выдает 99%. Теперь если уже обсуждать одну задачу, но ведь на сервере не одна задача, еще помимо моих запросов есть нагруженные сайты? Или они в очередь после моего одного тяжелого запроса становятся? Ведь по сути, сайт в этот момент лежит.
Пока теоретики спорят 7 страниц практики экспериментируют с внедрением в свои сайты
Новорег
Годовалый домен
Так может быть, новая БД быстрее просто работает? 😀
10.5.15 релизнулась более года назад.
Вы её точно обновляли? Сейчас актуальная версия 10,5,19
Я бы на InnoDB перешёл.Возможно год назад и обновляли, но заметил сейчас. Я из тех, кто не обновляет, если работает. А вот работу в одно ядро, заметил только сейчас.
Инодб не очень, отметил необходимое.
Какая версия Mariadb ?
Какой формат таблиц в БД используется?
А другие программы точно другие ядра используют?
Что за ОС и какая версия?
Сколько вообще ядер на сервере?
Как вы наблюдаете нагрузку только на 1 ядро?
Server version: 10.5.15-MariaDB-0+deb11u1 Debian 11
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Использую MyISAM
Раньше на том же сервере было показывало 240% нагрузки на пиках, при бекапе и прочего. Сейчас выше 99% никогда не видел, это после обновления мариадб
по процу
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
Stepping: 9