Блокировка таблиц или mysql под нагрузкой - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB91.1096
BTC/USD60559.8419
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 10.09.2008, 13:04   #1
Cude
роллер-дорвейщик
 
Аватар для Cude
 
Регистрация: 08.04.2007
Сообщений: 636
Бабло: $112590
Отправить сообщение для Cude с помощью ICQ
По умолчанию Блокировка таблиц или mysql под нагрузкой

Блокировка таблиц (LOCK TABLES) жутко тормозная штука в mysql (у меня почему то она периодически занимает ровно 9 секунд, разблокировка кстати тоже ). А что если блокировать таблицы через переменную которая будет висет в оперативной памяти? Еще есть идея сначало select что надо а потом update этих записей и те которые смогли проапдейтиться дальше уже юзаем как надо.

Ну и вообще, давайте поговорим про оптимизацию баз данных. Может кто оперативную память активно юзает (тот же мемкеш), поделитесь опытом.
__________________
Cude вне форума  
Старый 10.09.2008, 13:16   #2
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,162
Бабло: $68290
По умолчанию

Зачем тебе блокировать таблицы?
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 10.09.2008, 13:25   #3
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

давайте поговорим!
MySQL - говно. Локи - огромная головная боль, я решаю разносом данных как можно сильнее по разным таблицам. Если нужна выборка продолжительное время и она большая, то эффективнее вынести все данные в отдельную таблицу и с ней работать, чем постоянно обращаться в основную.
Очень долго происходит индексация полей (при поднятии дампа). Примеров масса.

надо переходить на оракл.
solar вне форума  
Старый 10.09.2008, 13:39   #4
buddy
Member
 
Регистрация: 14.04.2007
Сообщений: 70
Бабло: $9415
По умолчанию

а тип таблицы какой ? MyISAM ?
переведи на InnoDB будет без локов
buddy вне форума  
Старый 10.09.2008, 13:57   #5
baadf00d
несъедобный
 
Аватар для baadf00d
 
Регистрация: 06.04.2007
Сообщений: 692
Бабло: $79495
По умолчанию

оракл тот еще отстой (там своих фич немеряно), да и вплане производительности не фонтан
локировки - зло, если ведется сильно конкурентные изменения таблиц, то нужно использовать транзакцонные таблицы с оптимистичной моделью локировки (в плане программирования все усложняется, но от этого никуда не деться).

Ps мб в твоем случае достаточно перейти на построчную локировку?
__________________
миром правит не тайная ложа, а явная лажа
baadf00d вне форума  
Старый 10.09.2008, 14:17   #6
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 601
Бабло: $7700
По умолчанию

Цитата:
Сообщение от baadf00d Посмотреть сообщение
оракл тот еще отстой (там своих фич немеряно), да и вплане производительности не фонтан
по скорости действительно спорно, а вот насчет отстоя давай сразу по фактам. Каких это остойных фич там немеряно?
solar вне форума  
Старый 10.09.2008, 15:50   #7
baadf00d
несъедобный
 
Аватар для baadf00d
 
Регистрация: 06.04.2007
Сообщений: 692
Бабло: $79495
По умолчанию

нет ни желания, ни времени втягиваться в длинный и нудный спор, тем более что я сталкивался с этой БД лет 5 назад, когда работал в другой конкурирующей компании С тех пор, безусловно, многое изменилось, но думаю что количество фич не убавилось.
Основное, с чем у нас возникала проблема - это уровень изоляции транзакций со всеми вытекающими.
__________________
миром правит не тайная ложа, а явная лажа
baadf00d вне форума  
Старый 11.09.2008, 15:03   #8
Cude
роллер-дорвейщик
 
Аватар для Cude
 
Регистрация: 08.04.2007
Сообщений: 636
Бабло: $112590
ТС -->
Отправить сообщение для Cude с помощью ICQ
автор темы ТС По умолчанию

а чем можно мониторить mysql, чтобы выловить проблемные запросы. Вроде все уже оптимизировал, 80 потоков создают ощутимые тормоза, сервак свой, SHOW PROCESSLIST ничего интересного не показывает
__________________
Cude вне форума  
Старый 11.09.2008, 15:53   #9
MasterMushi
Снимаю, порчу
 
Аватар для MasterMushi
 
Регистрация: 20.08.2008
Адрес: B0 2E E6 70 E6 71 C3
Сообщений: 744
Бабло: $1285
По умолчанию

мониторить можно вот такой штукой http://jeremy.zawodny.com/mysql/mytop/

И главное помнить, что запросы типа select * from убивает васе преимущества мощной аппаратной части в ноль.
Дока по оптимизации для тех кто никогда этим не интересовался тут:
http://www.mysql.ru/docs/optimal.html

Ну и да, чем больше таблиц и короче запрос тем лучше. особенно лучше если есть достаточно оперативы куда можно развернуться.
__________________
(с) Секрет успеха в жизни связан с честностью и порядочностью: Если у вас нет этих качеств - успех гарантирован...
MasterMushi вне форума  
Старый 11.09.2008, 20:26   #10
bataka
Senior Member
 
Регистрация: 06.04.2008
Сообщений: 337
Бабло: $4080
По умолчанию

explain надо юзать
а вообще лучше один раз нанять спеца и с ним все прооптимизировать чем самому копаться
у меня друг спец по базам, посидев ночьку производительность подняли в 20 раз
он мне говорил де че править в запросах и мониторил базу
ЗЫ ну не только запросы конечно, он еще пересобрал ее настройки подшаманил
вобщем результатов модно добиться очень хороших если рубить в тонкостях
bataka вне форума