SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 09.02.2011 17:45:50

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Сервис MySQL перегружает жесткий диск

Привет,

Юзаю MySQL 5.5.8 под winXP.

После того, как база набрала некий размер ~ 200 Mb, MySQL начал терроризировать хард не по детски smile.

Вопрос почему и как с этим бороться?

Основная операция в базе - добавление новых записей. И есть ряд микро-таблиц (очереди), в которых данные меняются все время.

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

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

Неактивен

 

#2 09.02.2011 18:24:57

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сервис MySQL перегружает жесткий диск

innodb_buffer_pool_size поставьте побольше и innodb_flush_log_at_trx_commit = 0.

Неактивен

 

#3 10.02.2011 11:59:36

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

Вообще, если сервис перегрузить, MySQL хард отпускает. Выглядит, как скрытый баг...

Спасибо, изменил. Жесткий диск вроде как меньше стал использоваться, но: сейчас MySQL отжирает 80% CPU.

MySQL настолько не любит базы > 250 Mb ?

Неактивен

 

#4 10.02.2011 23:24:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сервис MySQL перегружает жесткий диск

Он не любит плохо написанные приложения wink

Неактивен

 

#5 11.02.2011 11:44:54

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

Приложения всегда плохо написанные.

Эта проблема возникла только спустя какое-то время. Сначала все работало быстро и без проблем.

Дык что можно сделать, на вскидку не понятно?

Отредактированно ady (11.02.2011 11:47:38)

Неактивен

 

#6 11.02.2011 12:09:57

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сервис MySQL перегружает жесткий диск

Навскидку — найти медленные запросы, переписать, добавить индексов.

А насчет приложений и всегда — это Вы зря. Очень многие приложения
работают хорошо, потому что люди думали, когда их писали. Ну и, конечно,
они хотели написать хорошее приложение, а не подходили к вопросу с
Вашей точкой зрения на него wink

Неактивен

 

#7 11.02.2011 12:50:56

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Сервис MySQL перегружает жесткий диск

ady написал:

Жесткий диск вроде как меньше стал использоваться

Вы это по индикатору на корпусе определяете или каким-то ПО? Всегда было интересно как в винде узнать кто и как юзает винт smile Если знаете что-то подобное, поделитесь, буду благодарен.


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#8 11.02.2011 16:54:46

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

Neval написал:

Вы это по индикатору на корпусе определяете или каким-то ПО? Всегда было интересно как в винде узнать кто и как юзает винт smile Если знаете что-то подобное, поделитесь, буду благодарен.

По индикатору, звуку и характерным тормозам системы. И лечу это все в данный момент перезапуском сервиса MySQL (просто останов приложения не помогает).

Неактивен

 

#9 11.02.2011 17:06:28

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

paulus написал:

Навскидку — найти медленные запросы, переписать, добавить индексов.

Особо медленных запросов нет, приложение работает хорошо и быстро.

Да и все запросы очень простые.

До этого использовался Оракл и Оракл ХЕ и таких проблем не было (правда, в некоторый момент тормоза таки были, потому что Оракл - это Оракл smile).

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

Чем можно загрузить CPU на 80% insert"ом и простым select"ом я пока не понимаю.

Неактивен

 

#10 11.02.2011 22:11:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сервис MySQL перегружает жесткий диск

В виндоус есть профайлер (в том числе и жестких дисков). Он умеет рисовать
какие-то картинки. Достается через mmc, кажется.

Неактивен

 

#11 21.02.2011 10:56:12

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

MySQL может как-то помочь с определением того, как каких запросах от тормозит и подвисает?

Неактивен

 

#12 21.02.2011 11:22:13

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

Re: Сервис MySQL перегружает жесткий диск

Если уже висит, то просто посмотреть SHOW FULL PROCESSLIST в моменте и разделить все запросы на те, которые исполняются и те, которые их ждут. Скорее всего причиной являются первые.

Если зависает иногда, то включить лог медленных запросов. В конфиге
log-slow-queries
long-query-time=1

Неактивен

 

#13 21.02.2011 13:13:13

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

В "SHOW FULL PROCESSLIST" вроде ничего страшного нет:

mysql> SHOW FULL PROCESSLIST;
+-------+------+----------------+----------+---------+------+-------+-
| Id    | User | Host           | db       | Command | Time | State | Info                  |
+-------+------+----------------+----------+---------+------+-------+-
|   737 | root | localhost:1213 | banalyse | Sleep   |    0 |       |
NULL                  |
| 12175 | root | localhost:1663 | banalyse | Sleep   |    2 |       |
NULL                  |
| 12241 | root | localhost:2669 | banalyse | Sleep   |  129 |       |
NULL                  |
| 12305 | root | localhost:2742 | banalyse | Sleep   |   73 |       |
NULL                  |
| 12306 | root | localhost:2743 | banalyse | Sleep   |    0 |       |
NULL                  |
| 12459 | root | localhost:3029 | NULL     | Query   |    0 | NULL  |
SHOW FULL PROCESSLIST |
+-------+------+----------------+----------+---------+------+-------+-
6 rows in set (0.00 sec)

А MySQL по-прежнему отъедает 50% CPU...

Неактивен

 

#14 21.02.2011 13:19:36

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

Добавил в my.ini:
log-slow-queries
long-query-time=1

Отредактированно ady (21.02.2011 13:56:33)

Неактивен

 

#15 21.02.2011 14:30:12

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

Re: Сервис MySQL перегружает жесткий диск

Какой тип таблиц, Innodb или myisam? Сколько запросов в секунду (смотреть лучше всего командой \s общее число запросов с момента старта сервера)

Неактивен

 

#16 23.02.2011 12:02:47

ady
Завсегдатай
Зарегистрирован: 02.04.2007
Сообщений: 38

Re: Сервис MySQL перегружает жесткий диск

Тип таблиц - Innodb.
Эта проблема пока пропала, посмотрел на долгие запросы и понял, что индексы потерялись (при переезде с оракла) smile.

Спасибо!

Неактивен

 

Board footer

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