Ищем:
https://st0.сайт.ru/media/catalog/product/cache/1/image/602f0fa2c1f0d1ba5e241f914e856ff9/.*?/.*?/(.*?)\?
На
$1
Ну наверное что-то ваш знакомый не понимал, что перед ним.
В общем плане работы т.е. комплексной это не так. Долго объяснять. Mysql отказывается от myisam не просто так.
Если на сервере достаточно памяти, то да выставлять 5 ГБ
Всё самое вкусное уже разбирают ДО торгов, остаётся неликвид или УГ. Да ещё и пробиться надо на такие торги.
Это не имеет смысла. Уберите их.
Переведите всё в innodb, выставите innodb_buffer_pool_size в размер чуть больше ваших таблиц, если они будут пополнятся.
Далее обязательно:
innodb_flush_method=O_DIRECT
и учитывая, что у вас локальные данные, то:
innodb_flush_log_at_trx_commit=0
Кэш лимиты оптимальные, больше не нужно:
query_cache_limit=2M
query_cache_size=128M
query_cache_type=1
И ещё раз проверьте индексы, также индексы могут быть составными и должны быть, если выборка идёт по 2-м и более параметрам.
Это как лечение зубов. Если пациент жалуется, что зуб реагирует на холодное/горячее, то тут или зубную пасту надо менять или зуб сгнил и надо ставить имплантант вместо него. Поэтому надо рассматривать сначала зуб, а потом уже выбирать зубную пасту :)
Ничего не давал т.к. запросы в кэше были. Вы кэш очищали, отключали перед тестами?
Если вы делаете выборку по каким-то полям, у вас обязательно должны быть на них индексы.
Это если вы блокировку сделали только на запись. Вы же сами пишете, что блокируете таблицу полностью.
Вы там нахимичили себе на голову всякого, а теперь спрашиваете, что с этим делать. Делать всё по нормальному надо, и блокировка таблицы нужна в ОЧЕНЬ крайних случаях, ну просто в ОЧЕНЬ.
Почему не innodb, и там блокировка по строкам идёт автоматическая. Также можно задать максимальное количество памяти для таблиц и всё будет в памяти работать быстро и легко.
Также сброс кэша можно уменьшить через настройки.
Не понял эту фразу. Вы проверяли работу всех индексов?
Также медленно у вас работает чтение или запись без блокировки?
эм... у вас какой тип базы данных? Индексы корректно проставлены?
У вас какие основные операции записи или чтение?
Какая версия mysql?
Всё очень просто. Вы просто с блокировкой не разобрались.
Объясните нам, зачем вы блокируете таблицу?
Также в mysql есть блокировка общая (чтение/запись), есть блокировка частичная отдельно на чтение и на запись.
Если вы что-то пишите важное, то сделайте блокировку на запись, чтобы чтение производилось без проблем.
загружайте всё на сервер и дайте доступ на тест.