Можно ли игнорировать MySql - Страница 2 - Форум об интернет-маркетинге
Этот сайт существует на доходы от рекламы.
Пожалуйста, выключите AdBlock.
Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 16.06.2018, 12:45   #11
Сережка
Дипломник
 
Аватар для Сережка
 
Регистрация: 12.01.2007
Адрес: Киев
Сообщений: 73
Репутация: -83

ТопикСтартер Re: Можно ли игнорировать MySql

Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
эм... у вас какой тип базы данных? Индексы корректно проставлены?
У вас какие основные операции записи или чтение?
Какая версия mysql?
MyISAM.
Без индексов select работает очень медленно, на это и приоритет.
Версия сервера: 5.7.22-0ubuntu0.16.04.1 - (Ubuntu)
__________________
Семён-Ядрён - Качественное семантическое ядро для Вашего сайта!
Сережка вне форума   Ответить с цитированием

Реклама
Старый 16.06.2018, 12:48   #12
LEOnidUKG
『 Работаем 』
 
Аватар для LEOnidUKG
 
Регистрация: 25.11.2006
Адрес: Интернет
Сообщений: 21,002
Репутация: 1847433
Отправить сообщение для LEOnidUKG с помощью ICQ

По умолчанию Re: Можно ли игнорировать MySql

Почему не innodb, и там блокировка по строкам идёт автоматическая. Также можно задать максимальное количество памяти для таблиц и всё будет в памяти работать быстро и легко.

Также сброс кэша можно уменьшить через настройки.

Цитата:
Без индексов select работает очень медленно, на это и приоритет.
Не понял эту фразу. Вы проверяли работу всех индексов?

Также медленно у вас работает чтение или запись без блокировки?
LEOnidUKG на форуме   Ответить с цитированием
Старый 16.06.2018, 13:04   #13
Сережка
Дипломник
 
Аватар для Сережка
 
Регистрация: 12.01.2007
Адрес: Киев
Сообщений: 73
Репутация: -83

ТопикСтартер Re: Можно ли игнорировать MySql

Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
Почему не innodb, и там блокировка по строкам идёт автоматическая. Также можно задать максимальное количество памяти для таблиц и всё будет в памяти работать быстро и легко.
Также сброс кэша можно уменьшить через настройки.
Не понял эту фразу. Вы проверяли работу всех индексов?
Также медленно у вас работает чтение или запись без блокировки?
innodb ставил, но не заметил каких либо изменений.
Я ставил индексы во время SELECT и проверял скорость работы, если индекс ничего не давал, я его убирал.
На SELECT по моему блокировка не влияла
Сережка вне форума   Ответить с цитированием
Старый 16.06.2018, 13:10   #14
LEOnidUKG
『 Работаем 』
 
Аватар для LEOnidUKG
 
Регистрация: 25.11.2006
Адрес: Интернет
Сообщений: 21,002
Репутация: 1847433
Отправить сообщение для LEOnidUKG с помощью ICQ

По умолчанию Re: Можно ли игнорировать MySql

Цитата:
Я ставил индексы во время SELECT и проверял скорость работы, если индекс ничего не давал, я его убирал.
Ничего не давал т.к. запросы в кэше были. Вы кэш очищали, отключали перед тестами?

Если вы делаете выборку по каким-то полям, у вас обязательно должны быть на них индексы.

Цитата:
На SELECT по моему блокировка не влияла
Это если вы блокировку сделали только на запись. Вы же сами пишете, что блокируете таблицу полностью.

Вы там нахимичили себе на голову всякого, а теперь спрашиваете, что с этим делать. Делать всё по нормальному надо, и блокировка таблицы нужна в ОЧЕНЬ крайних случаях, ну просто в ОЧЕНЬ.
LEOnidUKG на форуме   Ответить с цитированием
Старый 16.06.2018, 13:21   #15
Сережка
Дипломник
 
Аватар для Сережка
 
Регистрация: 12.01.2007
Адрес: Киев
Сообщений: 73
Репутация: -83

ТопикСтартер Re: Можно ли игнорировать MySql

Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
Ничего не давал т.к. запросы в кэше были. Вы кэш очищали, отключали перед тестами?
нет, но кеш долго не держится, так как страница второй раз грузится быстрее в разы (это с кэша), а проходит время и снова медленно.
Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
Если вы делаете выборку по каким-то полям, у вас обязательно должны быть на них индексы.
Да. Это есть уже.
Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
Это если вы блокировку сделали только на запись. Вы же сами пишете, что блокируете таблицу полностью.
Если делаю запись, блокирую таблицу на WRITE, а иначе READ
Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
Вы там нахимичили себе на голову всякого, а теперь спрашиваете, что с этим делать. Делать всё по нормальному надо, и блокировка таблицы нужна в ОЧЕНЬ крайних случаях, ну просто в ОЧЕНЬ.
Это да, но вопрос был про игнор запроса, если он долго идет.
Хотя очень хорошо, что Вы все даете советы не только на конкретный вопрос, а ищите пути решения глобально, не ожидал.
И, если честно, то изначально все было без индексов и блокировок, и усе было плохо, но теперь лишь некоторые ньюансы остались.
Сережка вне форума   Ответить с цитированием
Старый 16.06.2018, 13:34   #16
LEOnidUKG
『 Работаем 』
 
Аватар для LEOnidUKG
 
Регистрация: 25.11.2006
Адрес: Интернет
Сообщений: 21,002
Репутация: 1847433
Отправить сообщение для LEOnidUKG с помощью ICQ

По умолчанию Re: Можно ли игнорировать MySql

Цитата:
Если делаю запись, блокирую таблицу на WRITE, а иначе READ
Это не имеет смысла. Уберите их.

Переведите всё в 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-м и более параметрам.

Цитата:
Хотя очень хорошо, что Вы все даете советы не только на конкретный вопрос, а ищите пути решения глобально, не ожидал.
Это как лечение зубов. Если пациент жалуется, что зуб реагирует на холодное/горячее, то тут или зубную пасту надо менять или зуб сгнил и надо ставить имплантант вместо него. Поэтому надо рассматривать сначала зуб, а потом уже выбирать зубную пасту
LEOnidUKG на форуме   Ответить с цитированием
Сказали спасибо:
Старый 16.06.2018, 14:20   #17
Сережка
Дипломник
 
Аватар для Сережка
 
Регистрация: 12.01.2007
Адрес: Киев
Сообщений: 73
Репутация: -83

ТопикСтартер Re: Можно ли игнорировать MySql

Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
Переведите всё в innodb, выставите innodb_buffer_pool_size в размер чуть больше ваших таблиц, если они будут пополнятся.
На данный момент самая большая таблица с ссылками занимает 4,3гб, так буфер ставить в 5гб?

---------- Добавлено 16.06.2018 в 14:25 ----------

Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
Переведите всё в innodb
Я было раньше хотел, но
InnoDB также сложнее восстанавливать после сбоя в работе сервера чем MyISAM.
Операция Insert работает быстрее в MyISAM.
Если преобладают операции чтения (SELECT) работает быстрее в MyISAM.

И я тестировал операцию select на обоих типах. MyISAM была быстрее, что важно.
Возможно не оптимально настроен InnoDB
Сережка вне форума   Ответить с цитированием
Старый 16.06.2018, 14:27   #18
LEOnidUKG
『 Работаем 』
 
Аватар для LEOnidUKG
 
Регистрация: 25.11.2006
Адрес: Интернет
Сообщений: 21,002
Репутация: 1847433
Отправить сообщение для LEOnidUKG с помощью ICQ

По умолчанию Re: Можно ли игнорировать MySql

Цитата:
Если преобладают операции чтения (SELECT) работает быстрее в MyISAM.
В общем плане работы т.е. комплексной это не так. Долго объяснять. Mysql отказывается от myisam не просто так.

Цитата:
На данный момент самая большая таблица с ссылками занимает 4,3гб, так буфер ставить в 5гб?
Если на сервере достаточно памяти, то да выставлять 5 ГБ
LEOnidUKG на форуме   Ответить с цитированием
Старый 16.06.2018, 14:29   #19
Сережка
Дипломник
 
Аватар для Сережка
 
Регистрация: 12.01.2007
Адрес: Киев
Сообщений: 73
Репутация: -83

ТопикСтартер Re: Можно ли игнорировать MySql

Цитата:
Сообщение от LEOnidUKG Посмотреть сообщение
В общем плане работы т.е. комплексной это не так. Долго объяснять. Mysql отказывается от myisam не просто так.
Если на сервере достаточно памяти, то да выставлять 5 ГБ
Я то попробую, но это не так быстро сделать

---------- Добавлено 16.06.2018 в 14:33 ----------

И мой знакомый рассказывал, что у него на сайте была база innoDB, и начало кончатся место. Оказывается в табличке было пару записей, а занимала пару гиг. Он ее перевел в MyISAM и она сразу в несколько сот раз уменьшилась.
Сережка вне форума   Ответить с цитированием
Старый 16.06.2018, 14:35   #20
LEOnidUKG
『 Работаем 』
 
Аватар для LEOnidUKG
 
Регистрация: 25.11.2006
Адрес: Интернет
Сообщений: 21,002
Репутация: 1847433
Отправить сообщение для LEOnidUKG с помощью ICQ

По умолчанию Re: Можно ли игнорировать MySql

Цитата:
Сообщение от Сережка Посмотреть сообщение
И мой знакомый рассказывал, что у него на сайте была база innoDB, и начало кончатся место. Оказывается в табличке было пару записей, а занимала пару гиг. Он ее перевел в MyISAM и она сразу в несколько сот раз уменьшилась.
Ну наверное что-то ваш знакомый не понимал, что перед ним.
LEOnidUKG на форуме   Ответить с цитированием
Ответ

Метки
mysqli , php




Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Текущее время: 12:36. Часовой пояс GMT +3.

Регистрация Справка Календарь Поддержка Все разделы прочитаны