тормозит сервер

12
S
На сайте с 09.10.2006
Offline
45
#11

Вы бы запостили структуру таблицы с индексами + sql запросы, которые ложат mysql.

Чаще всего спасают от такого простановка индексов для столбцов по которым идёт выборка.

Ну и всё-таки советую найти админа, чтобы проверил конфиг mysql. У меня проблема решалась именно тюненгом mysql (табличка весит > 1 Гига тип myisam + в неё очень часто записываются данные). Из админов рекомендую Roxis.

dspu
На сайте с 10.05.2006
Offline
268
#12
slip:
Вы бы запостили структуру таблицы с индексами + sql запросы, которые ложат mysql.

Чаще всего спасают от такого простановка индексов для столбцов по которым идёт выборка.

Ну и всё-таки советую найти админа, чтобы проверил конфиг mysql. У меня проблема решалась именно тюненгом mysql (табличка весит > 1 Гига тип myisam + в неё очень часто записываются данные). Из админов рекомендую Roxis.

у меня тоже часто записываются - с этим проблем нет, а валится она при обширном чтении, почистил таблицу - все летало до 600 мб, потом стали уже скрипты по 4-5 секунд отрабатываться на чтение, сейчас автор скрипта сделал апдейт с индексами как раз - "будем поглядеть" что из этого получится.

саппорт сервера меня тоже тыкал в скрипты, так что скорее база не при чем

S
На сайте с 09.10.2006
Offline
45
#13
у меня тоже часто записываются - с этим проблем нет, а валится она при обширном чтении, почистил таблицу

myisam блокирует таблицу при вставки новой записи. Поэтому если в это же время будет выборка из этой таблицы, то запрос выборки будет ожидать пока вставка не закончится. Лучше почитайте сами про блокировки mysql. Очень вероятно проблема именно в этом.

Также если из таблицы часто удалются записи, то не мешает её ещё и оптимайзить время от времени (OPTIMIZE TABLE). Иначе таблица фрагментируется и будет ооочень тормозить при выборке записей.

V
На сайте с 25.07.2006
Offline
128
#14
slip:
myisam блокирует таблицу при вставки новой записи

На это нужно попробовать посмотреть глазами. Нужно дать команду mysql -u root -p, содеиниться таким образом с сервером и сделать запрос

show full processlist;

Если в очереди куча запросов, то сразу все будет видно - многие будут в состоянии Locked, а один - в состоянии выполнения.

Если зайти в mysql во время затыка не получается, то стоит хотя бы на уровне процессов посмотреть, сколько выполняется запросов:

ps awux| grep -i mysql

Если их меньше, чем max_connections, то причина не в этом. Возможно это баг mysql.

Вообще, это все очень пахнет багом. Если бы была штатная работа обычного запроса, то загрузка сервера не была бы 0.

В логах mysql ничего нет?

Приватный linux-администратор
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий