- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

АКАР: российский рекламный рынок в 2022 году сократился не так сильно, как ожидалось
В подсчет не включили сегмент Телевидение
Оксана Мамчуева

Селлер маркетплейса: кто он, сколько зарабатывает, и как можно им стать
Пошаговая инструкция для новичков
Сервис Кактус
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Лежит, потому-что не может получить ответ от базы.
Возможно, мы не поняли друг друга. Попробую переформулировать. Вот допустим, Вы сейчас сделали запрос к сайту. Понятное дело, что с Вашей точки зрения сайт "лежит", потому что не может дождаться завершения работы мускуля. А я в это время делаю свой запрос к другой странице сайта, который не требует выполнения тяжёлого запроса к базе данных. Для меня сайт откроется или тоже будет лежать?
Возможно, мы не поняли друг друга. Попробую переформулировать. Вот допустим, Вы сейчас сделали запрос к сайту. Понятное дело, что с Вашей точки зрения сайт "лежит", потому что не может дождаться завершения работы мускуля. А я в это время делаю свой запрос к другой странице сайта, который не требует выполнения тяжёлого запроса к базе данных. Для меня сайт откроется или тоже будет лежать?
Картинки открывает, страницы хтмл без запроса открывает, в момент тяжелого запроса в базу например на полнотекстовый запрос с изменением (replace), а вот обычные страницы даже с кешем, отдавать не хочет, пока не выполнит запрос мускул. Я надеюсь правильно написал? )
Правильно написал. Такое впечатление, что проблема не с многопоточностью мускуля, а с использованием нескольких ядер процессора в принципе. То есть если рабочее ядро загружено на 99%, то процесс PHP не может запуститься на другом ядре. А вот с чем это связано -этого я сказать не смогу, в этом я не спец.
Картинки открывает, страницы хтмл без запроса открывает, в момент тяжелого запроса в базу например на полнотекстовый запрос с изменением (replace), а вот обычные страницы даже с кешем, отдавать не хочет, пока не выполнит запрос мускул. Я надеюсь правильно написал? )
А теперь обратимся к вашей же таблице:
И окажется, что надо всё же использовать современный InnoDB и не будет таких проблем. У вас блокировка таблицы идёт и пока не пройдут все изменения, никому даже читать из неё нельзя.
А теперь обратимся к вашей же таблице:
И окажется, что надо всё же использовать современный InnoDB и не будет таких проблем. У вас блокировка таблицы идёт и пока не пройдут все изменения, никому даже читать из неё нельзя.
Пример с replace я привел как срочное и безотказное проверка на нагрузку) А так банально, база работает в режиме селекта и только. Но без проблем, в туду лист я добавил иннодб, но все таки хочется видеть загруженность сервера и полный доступ к ресурсам у мариадб, и я думал, что есть какая-то модная команда которую надо прописать в my.cnf и проблема решится)
я думал, что есть какая-то модная команда которую надо прописать в my.cnf и проблема решится)
Скорее есть модная команда, которую нужно оттуда удалить
Но Мускля умеет и в многоядерность, но как именно она решает что пора взять второе ядро, я не знаю. Вопрос к знатокам, было бы интересно понять.
Имхо по сессиям соединений. По крайней мере в сингл режиме больше одного ядра мне не удавалось загрузить. А вот когда соединений несколько - нагрузка спокойно делиться по ядрам. Т.е. если ТС смотрит нагрузку только ориентируясь на свои запросы - то и будет видеть одно ядро. Но стоит запустить какой нибудь бенчмарк в много потоков, то нагрузка пойдет по всем ядрам.
Имхо по сессиям соединений. По крайней мере в сингл режиме больше одного ядра мне не удавалось загрузить. А вот когда соединений несколько - нагрузка спокойно делиться по ядрам. Т.е. если ТС смотрит нагрузку только ориентируясь на свои запросы - то и будет видеть одно ядро. Но стоит запустить какой нибудь бенчмарк в много потоков, то нагрузка пойдет по всем ядрам.
Еще раз повторюсь словами - одна сессия НЕ РАВНО один процесс. В рамках процесса (ядра) может запускаться много потоков, соответственно и сессий к БД. А вот в какой момент БД поймет что их слишком много и начнет разбрасывать по ядрам - я не знаю. Вообще стало интересно, что хочу поспрашивать старого товарища, который работает в Оракл, уж он то жолжен понимать как это все живет, но из-за разницы в часовых поясах никак не могу выловить его
MySQL generally does not know how to use more than one core (cpu) for one query.
If you have multiple connections, they can use different cpus.
If you are using InnoDB, some of its background tasks (notably I/O) are run in separate threads.
Это с форума mysql.