переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, studovnet, 10-Окт-10, 15:28 [смотреть все]Привет. Возникла такая ситуация: - имеется сервер с 4 гигами ОЗУ. - в какойто момент возникает сверх нагрзка (тучи пользователей), апачами съедается вся оперативка, сервер влезает в swap, всё жутко тормозит и все пользователи скорбят о кончине. - в логах mysql видно что абсолютно все запросы становятся сверх медленными (до 1000 секунд выполняются), в основном в моммент этой нагрузки используются 2 таблицы, на которые резко возростает кол-во UPDATE, SELECT и INSERT запросов. Так же в логах видно что каждый запрос блокирует таблицу на 30-100 секунд.вобщем нехватка памяти + очередь в 1000 запросов из-за блокировки таблицы. Как я хочу решить проблему: - новый сервер с 8 гигами оперативки. - установка nginx, для экономии памяти. - конвертация тех таблиц в innoDB, чтобы исключить блокировку всей таблицы. В связи с чем у меня вопросы: 1. нормальна ли ситуация когда в одной БД, некоторые таблицы в MyISAM а некоторые в innoDB? 2. нужно ли чтото менять в запросах, скриптах, после изменения таблиц на innoDB? 3. можете посоветовать настройки innoDB, чтобы она эффективно использовала ОЗУ (например полностью помещала таблицу в ОЗУ)?
|
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, Michael, 15:46 , 10-Окт-10 (1)
>[оверквотинг удален] > - новый сервер с 8 гигами оперативки. > - установка nginx, для экономии памяти. > - конвертация тех таблиц в innoDB, чтобы исключить блокировку всей таблицы. > В связи с чем у меня вопросы: > 1. нормальна ли ситуация когда в одной БД, некоторые таблицы в MyISAM > а некоторые в innoDB? > 2. нужно ли чтото менять в запросах, скриптах, после изменения таблиц на > innoDB? > 3. можете посоветовать настройки innoDB, чтобы она эффективно использовала ОЗУ (например > полностью помещала таблицу в ОЗУ)?RFTM High performance mysql, mysql performance blog в двух словах содержимое целой книги вам никто не перескажет
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, studovnet, 15:59 , 10-Окт-10 (2)
>[оверквотинг удален] >> - конвертация тех таблиц в innoDB, чтобы исключить блокировку всей таблицы. >> В связи с чем у меня вопросы: >> 1. нормальна ли ситуация когда в одной БД, некоторые таблицы в MyISAM >> а некоторые в innoDB? >> 2. нужно ли чтото менять в запросах, скриптах, после изменения таблиц на >> innoDB? >> 3. можете посоветовать настройки innoDB, чтобы она эффективно использовала ОЗУ (например >> полностью помещала таблицу в ОЗУ)? > RFTM High performance mysql, mysql performance blog > в двух словах содержимое целой книги вам никто не перескажетну я вообщето и не просил что то мне рассказывать ... я по моему конкретные вопросы задал, 3 шт. ...
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, Michael, 23:16 , 10-Окт-10 (5)
>[оверквотинг удален] >>> 1. нормальна ли ситуация когда в одной БД, некоторые таблицы в MyISAM >>> а некоторые в innoDB? >>> 2. нужно ли чтото менять в запросах, скриптах, после изменения таблиц на >>> innoDB? >>> 3. можете посоветовать настройки innoDB, чтобы она эффективно использовала ОЗУ (например >>> полностью помещала таблицу в ОЗУ)? >> RFTM High performance mysql, mysql performance blog >> в двух словах содержимое целой книги вам никто не перескажет > ну я вообщето и не просил что то мне рассказывать ... я > по моему конкретные вопросы задал, 3 шт. ...в общем-то вам на них так же конкрентно ответили. см пост #4
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, PavelR, 16:32 , 10-Окт-10 (3)
сначала установи nginx, а уже потом смотри, стоит ли тебе что-то оптимизировать или нет.Вообще, если движок чужой - то ну нафиг в него лезть. ИЛи - делать его "своим, родным, близким" >В связи с чем у меня вопросы: >1. нормальна ли ситуация когда в одной БД, некоторые таблицы в MyISAM а некоторые в innoDB?
сойдет >2. нужно ли чтото менять в запросах, скриптах, после изменения таблиц на innoDB? в общем случае нет, но изменение запросов, скриптов и т д - опять же в общем случае может существенно повлиять на производительность. >3. можете посоветовать настройки innoDB, чтобы она эффективно использовала ОЗУ (например полностью помещала таблицу в ОЗУ)? выделяй достаточно, но не сверх меры, памяти. Об остальном - в поиск по интернету и по данному форуму тоже. Попробуй начать читать, _много_ читать.
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, Аноним, 22:37 , 10-Окт-10 (4) +1
1 - нет 2 - да 3 - могу ( если конкретнее хотите - ман в руки)
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, Etch, 08:11 , 11-Окт-10 (6)
> 1 - нетПочему нет? Всё нормально должно быть.
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, co6aka, 04:14 , 12-Окт-10 (7)
InnoDB это отдельное хранилище. У него отдельное пространство, структура и файловая структура в фс. http://ru.wikipedia.org/wiki/InnoDB Так что всю базу пихать придется в InnoDB.
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, studovnet, 12:16 , 12-Окт-10 (8)
> InnoDB это отдельное хранилище. У него отдельное пространство, структура и файловая структура > в фс. > http://ru.wikipedia.org/wiki/InnoDB > Так что всю базу пихать придется в InnoDB.как странно на форуме SQL мне говорят что это совершенно нормально.... хммм.... - переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, Etch, 17:20 , 12-Окт-10 (9)
> InnoDB это отдельное хранилище. У него отдельное пространство, структура и файловая структура > в фс.А ещё это отдельное пространство одно на все базы в пределах одного сервера. И что из этого? - теперь все базы запихнёте в InnoDB? Мускул в состоянии совместить таблицы из разных физических хранилищ.
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, LSTemp, 06:47 , 17-Окт-10 (10)
> Привет. > Возникла такая ситуация: > - имеется сервер с 4 гигами ОЗУ. > - в какойто момент возникает сверх нагрзка (тучи пользователей), апачами съедается вся > оперативка, сервер влезает в swap, всё жутко тормозит и все пользователи > скорбят о кончине.как мля тебя еще не выгнали с работы? я те русским по белому сказал, что делать в твоей первой теме.
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, LSTemp, 06:51 , 17-Окт-10 (11) –1
>[оверквотинг удален] > - новый сервер с 8 гигами оперативки. > - установка nginx, для экономии памяти. > - конвертация тех таблиц в innoDB, чтобы исключить блокировку всей таблицы. > В связи с чем у меня вопросы: > 1. нормальна ли ситуация когда в одной БД, некоторые таблицы в MyISAM > а некоторые в innoDB? > 2. нужно ли чтото менять в запросах, скриптах, после изменения таблиц на > innoDB? > 3. можете посоветовать настройки innoDB, чтобы она эффективно использовала ОЗУ (например > полностью помещала таблицу в ОЗУ)?а про InnoDb движок забуть ваще пока. Ты ща не прешь даже MyISAM - куда тебе дльше лезть? хочешь еще с транзакциями морочиться? флаг - тебе сам знаешь куда. а вот про то, что ты знаешь о транзакциях даже я далеко не уверен.
- переход с MyISAM на innoDB, чтобы избавиться от deadlock ?, LSTemp, 01:59 , 12-Май-11 (12)
>[оверквотинг удален] > запросов. Так же в логах видно что каждый запрос блокирует таблицу > на 30-100 секунд. > вобщем нехватка памяти + очередь в 1000 запросов из-за блокировки таблицы. > Как я хочу решить проблему: > - новый сервер с 8 гигами оперативки. > - установка nginx, для экономии памяти. > - конвертация тех таблиц в innoDB, чтобы исключить блокировку всей таблицы. > В связи с чем у меня вопросы: > 1. нормальна ли ситуация когда в одной БД, некоторые таблицы в MyISAM > а некоторые в innoDB?да > 2. нужно ли чтото менять в запросах, скриптах, после изменения таблиц на > innoDB? учитывая специфику работы движка (транзакции), сдедует в начале выполнить тщательную настройку первого, а уж потом смотреть в сторону правки запросов для дальнейшей оптимизации > 3. можете посоветовать настройки innoDB, чтобы она эффективно использовала ОЗУ (например > полностью помещала таблицу в ОЗУ)? ОЗУ не самый важный момент здесь - всегда по логам можно увидеть и добавить там, где надо (да и не дали Вы достаточных, чтобы точно ответить на этот вопрос). обратите в первую очередь внимание на уровни изоляции транзакций, способы блокировки и разрешение ситуаций deathlock для движка InnoDB. подумайте, какие таблицы БД стоит переводить на этот движок...
|