подвисают запросы

Fad
На сайте с 25.09.2001
Offline
124
Fad
1464

Сегодня на сервере сплошные тормоза,

посмотрев процессы mysql я увидел около 100 однотипных запросов

(все запросы к одной странице, с одинаковым синтаксисом)

каждый из которых выполняется более 1000 секунд.

Синтаксис запроса простой, никаких

групировок и так далее.

Эти запросы в нормальном режиме мускуль отрабатывает за

0.03 секунды.

Индексы проставлены и используются.

Таблица около 1200000 записей,

Данные

296,008 KB

Индекс

320,349 KB

Может быть из за того что запрос к БД использует индекс 320 мегов...

и каждый раз при запросе берет его в память и в результате

память переполняеться?

Ситуация эта возникает когда на сайт приходят пауки.

Я думаю дело в повышенной нагрузке, с утра уже более 50000 запросов к серверу от пауков.

А также в большом размере индекса.

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

Вопрос сколько поставить размер переменных

query cache size

query cache limit

key buffer size

Оперативки на серваке 4 гига.

Как справиться с этой проблемой?

С уважением, Фадеичев Андрей, руководитель проекта "Биржа контента eTXT.ru" (http://www.etxt.ru/)
Shema
На сайте с 01.12.2005
Offline
176
#1

Если в запросах есть GROUP BY особенно в сочетании с ORDER BY и прочими неординарными действиями, то mysql может не хватать памяти и он начинает свопиться во временные файлы. Варианты - докупать память, оптимизировать скрипты и базу. Подумайте над кешированием (чтобы паукам отдавать уже html-статику).

Студия Design Coda (http://www.designcoda.ru/). Личные контакты: +7(903)1367564, skype:andrey.oshemkov, telegram:@oshemkov. WMID: 492025973671 (https://passport.webmoney.ru/asp/certview4.asp?wmid=492025973671), делаем и рекламируем сайты, мобильные приложения, ботов для Telegram.
Fad
На сайте с 25.09.2001
Offline
124
Fad
#2
Shema:
Если в запросах есть GROUP BY особенно в сочетании с ORDER BY и прочими неординарными действиями, то mysql может не хватать памяти и он начинает свопиться во временные файлы. Варианты - докупать память, оптимизировать скрипты и базу. Подумайте над кешированием (чтобы паукам отдавать уже html-статику).

В том то и дело что запрос простой. А вот размер индекса превышает key buffer size.

Индекс 310 мегов, а буфер 268.

emzi
На сайте с 17.01.2007
Offline
46
#3
Fad:
В том то и дело что запрос простой. А вот размер индекса превышает key buffer size.
Индекс 310 мегов, а буфер 268.

ну так увеличьте query_cache_size до 350 мегов

Fad
На сайте с 25.09.2001
Offline
124
Fad
#4
emzi:
ну так увеличьте query_cache_size до 350 мегов

Ок, а какие значения дать остальным параметрам?

Как вы думаете вот такие настройки повысят производительность?

key_buffer_size=1000Mб (обычно рекомендуют 25% памяти сервера)

sort_buffer_size=60Mб

read_buffer_size=15Mб

query_cache_limit | 10мб

query_cache_size | 300МБ

tmp_table_size | 300МБ

Интересуют ваше мнение на счет оптимальных настроек mysql.ini для сервера

с 4 гигами памяти.

emzi
На сайте с 17.01.2007
Offline
46
#5
Fad:
Ок, а какие значения дать остальным параметрам?

Как вы думаете вот такие настройки повысят производительность?

key_buffer_size=1000Mб (обычно рекомендуют 25% памяти сервера)
sort_buffer_size=60Mб
read_buffer_size=15Mб

query_cache_limit | 10мб
query_cache_size | 300МБ
tmp_table_size | 300МБ

Интересуют ваше мнение на счет оптимальных настроек mysql.ini для сервера
с 4 гигами памяти.

Посмотрите статистику кэша: show status like 'qc%';

если значение Qcache_lowmem_prunes больше 0, значит каким-то запросам не хватает памяти в кэше.

если у Вас максимальный размер результата, который требует кэширования, составляет 320 мег, то попробуйте отталкиваться от этого значения. Поставьте для начала query_cache_size и query_cache_limit по 350 мб.

Fad
На сайте с 25.09.2001
Offline
124
Fad
#6
emzi:
Посмотрите статистику кэша: show status like 'qc%';
если значение Qcache_lowmem_prunes больше 0, значит каким-то запросам не хватает памяти в кэше.
если у Вас максимальный размер результата, который требует кэширования, составляет 320 мег, то попробуйте отталкиваться от этого значения. Поставьте для начала query_cache_size и query_cache_limit по 350 мб.

Сделал запрос Qcache_lowmem_prunes=45748008

Да кеша явно не хватает. Спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий