SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.09.2012 06:26:57

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Многопоточность MySQL

Не могу понять, копаясь в инете, везде пишут, что MySQL юзает сразу несколько ядер если надо. Провожу эксперементы, вижу дикий загруз первого ядра и полнейшее сочкование остальной "компашки", от чего такое может быть?
Система:
Debian 6.0.5
Kernel 2.6.32.5-amd64
Mysql 5.1.63.0
AMD 6272 2.1ghz x 16 ядер
16гб памяти

Чем загрузила? Да просто надо было набить таблицу для тестов, генерированные данные. Сначала пустила цикл в 100к, скрипт работает медлено, в остальном системе пофигу, даже не замечает, Load average в пол пункта даже не поднялся. Ну решила, что один скрипт запущен, одно соединение. Сделала aйфрэймами "мультипликатор", запустила 100к в цикле, таких параллельно 100 штук, average поднялся до 3.5. Но факт не использования системы по полной на лицо, скорость увеличилась но не сильно. На скриншоте видно, что запаса нагрузки ещё навалом, а скорости нету  :dash1
http://storage5.static.itmages.ru/i/12/0911/h_1347328150_9451703_e7a450fd53.jpeg
Да, чуть было не забыла, таблица innoDB


Скажи миру - НЯ!

Неактивен

 

#2 11.09.2012 11:24:31

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Многопоточность MySQL

Может быть упирается в диск, посмотрите нагрузку диска. В какое значение установлена innodb_flush_log_at_trx_commit?

Неактивен

 

#3 11.09.2012 20:22:17

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Re: Многопоточность MySQL

Я бы сказала ситуация упиралась в соединение. По крайне мере, когда перешла на вставку пачками по 100-5000 строк за раз всё сразу изменилось в лутчую сторону 10М строчек добавилось чуть менее чем за 2 минуты.


Скажи миру - НЯ!

Неактивен

 

#4 11.09.2012 20:42:57

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Многопоточность MySQL

Учитывайте, что для вставки пачек работает другой алгоритм.

Неактивен

 

#5 11.09.2012 22:16:01

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Re: Многопоточность MySQL

Да на практике поняла, хороший алгоритм, шустрый.

Чтоб не плодить темы, может тут совет дадите. Как замеряется количество запросов в секунду?


Скажи миру - НЯ!

Неактивен

 

#6 12.09.2012 10:20:10

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Многопоточность MySQL

Можно по секундомеру - вы же знаете сколько запросов выполнилось и сколько времени прошло. Можно смотреть статистику сервера (\s в консоли или SHOW GLOBAL STATUS) - в ней будет общее число запросов, выполненных сервером.

Неактивен

 

#7 12.09.2012 17:16:06

krevedko13
Участник
Зарегистрирован: 19.12.2010
Сообщений: 20

Re: Многопоточность MySQL

Опять же можно в phpMyAdmin подсмотреть, там довольно много переменных жизнедеятельности сервера + подсказочки + раскладка запросов по группам и т.д.

Покрутите innodb_thread_concurrency (количество потоков mysql), на мощных процах доставляет производительности, но не упритесь в диск, десу.
sysstat и atop для контроля нагрузки в помощь.

Неактивен

 

#8 13.09.2012 05:36:04

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Re: Многопоточность MySQL

Ну в пма в принципе только скорость выполнения запроса. А интересно глянуть сколько потоков и сколько запросов в каждом сможет обработать база


Скажи миру - НЯ!

Неактивен

 

#9 13.09.2012 14:55:48

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Многопоточность MySQL

Нужно запустить приложение, которое выполняет запросы, а статистику смотреть как описано в #6

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson