LINUX.ORG.RU

Ubuntu, MySQL, медленная запись


0

1

Любое обновление в таблице MySQL (innodb) выполняется значительно долго (от 0.1 секунды до 0.2, в среднем 0.15 сек) С помощью профилирования запросов удалось установить, что большая часть времени тратится на запись данных на диск. Используется RAID 1 программный, поглядел смартом диски, один был так сказать «не ахти», заменили его, ситуация ни сколько не поменялась. Кто что думает по этому поводу?


Кто что думает по этому поводу?.

Ubuntu медленная

toney ★★★★★
()

поглядел смартом диски, один был так сказать «не ахти», заменили его

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

Кто что думает по этому поводу?

Думаю, не хватает вот этих настроек innodb.

$ cat /etc/my.cnf
...
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=2
innodb_doublewrite=0
innodb_support_xa=0
innodb_checksums=0
...

fjoe
()
Ответ на: комментарий от fjoe

innodb_flush_method=O_DIRECT это надо попробовать, но что-то сомневаюсь что поможет, хотя...

innodb_flush_log_at_trx_commit=2 до последнего не хотел эту опцию включать

Hett
() автор топика
Ответ на: комментарий от BaBL

нет, нагрузки на сервер нету никакой абсолютно.

Hett
() автор топика
Ответ на: комментарий от fjoe

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

Да там фейлы сплошные, его все равно менять нужно было.

Hett
() автор топика
Ответ на: комментарий от Hett

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

cat /dev/zero | pv > /root/speedtest

нет, нагрузки на сервер нету никакой абсолютно.

Там вопрос был не про нагрузку, а про количество записей и индексов в проблемной таблице.

fjoe
()
17 сентября 2012 г.
Ответ на: комментарий от fjoe

Да пустая таблица. Я в первом сообщении написал, что проблема именно на стадии записи, а не поиска. В принципе не только обновление выполнялось медленно, но и добавление записей. В общем включил innodb_flush_log_at_trx_commit=2 Почему диски такие медленные так и не понял. Возможно отключено кэширование записи на диск?

Hett
() автор топика
Ответ на: комментарий от fjoe

Скорость записи диски показывают хорошую (в районе 100Мб/c)

Hett
() автор топика
Ответ на: комментарий от Hett

В общем включил innodb_flush_log_at_trx_commit=2

Помогло? А остальные опции?

Почему диски такие медленные так и не понял.

Скорость записи диски показывают хорошую (в районе 100Мб/c)

Нормальная для бюджетных дисков + md raid1. Для более продвинутого тестирования скорости винтов есть fio. Готовые скрипты эмуляции бд, вебсервера и еще много чего в комплекте.

Какая версия mysql? Файловая система тоже интересует. ext3? ext4?

fjoe
()
Ответ на: комментарий от fjoe

Помогло, остальные опции пробовал по одиночке, эффекта не заметил. ФС ext4

Hett
() автор топика
Ответ на: комментарий от Hett
mysql> CREATE TABLE `Customer` (
    ->   `SD` int(11)  CHECK (SD > 0) ,
    ->   `Last_Name` varchar(30) DEFAULT NULL,
    ->   `First_Name` varchar(30) DEFAULT NULL
    -> ) ENGINE=InnoDB;
Query OK, 0 rows affected (0.06 sec)

mysql> INSERT INTO Customer values ('-2','abc','zz');
Query OK, 1 row affected (0.03 sec)

Server version: 5.5.27 

сути не меняет, check парсится , но не работает.

ukr_unix_user ★★★★
()
Ответ на: комментарий от ukr_unix_user

Я вас не правильно понял, подумалось речь идет о внешних ключах. Функционал еще не реализован, хотя на баг-трекере записи трех летней давности есть. Да в общем-то и без этого можно прожить, на крайний случай и триггер.

Hett
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.