SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 25.03.2009 14:32:42

babayka
Участник
Зарегистрирован: 25.03.2009
Сообщений: 3

Виснет запрос. Прошу помощи =(

Проблема следующего характера.
Непредсказуемо иногда зависают запросы к одной и той же таблице.
В процесс-лист просто висят со статусом Sending data. Памяти, процессора не отжирают.
Kill процесса не помогает. Только restart сервера.
Однако невозможно выполнить последующие запросы. Они так же начинаю висеть.
Таблица - одна из набора таблиц Drupal сайта.
На ресурсах друпала ничего нет похожего из на эту проблему.
Таблица живая. Размер около 1 мегабайта без индексов. Индексный файл около полумегабайта.
myisamchk проверялись - нет ошибок.
===========

Сведения:
Freebsd 7.0, MySQL 5.1.30 optimized multithread.
Машина: Intel CoreQuad, 4G Ram, SATA RAID (ICH8) HDD
MySql работает в Jail. Коннект идет по IP.
Кроме указанной проблемы с указанной таблицей других проблем нет.


Запрос:


SELECT s.source, t.translation, t.language FROM locales_source s LEFT JOIN locales_target t ON s.lid = t.lid AND t.language = 'ru' WHERE s.textgroup = 'default' AND s.version = '6.10' AND LENGTH(s.source) < 75;
 


Структура таблицы:
locales_source | CREATE TABLE `locales_source` (
  `lid` int(11) NOT NULL AUTO_INCREMENT,
  `location` varchar(255) NOT NULL DEFAULT '',
  `textgroup` varchar(255) NOT NULL DEFAULT 'default',
  `source` blob NOT NULL,
  `version` varchar(20) NOT NULL DEFAULT 'none',
  PRIMARY KEY (`lid`),
  KEY `source` (`source`(30))
) ENGINE=MyISAM AUTO_INCREMENT=11800 DEFAULT CHARSET=utf8 |
===========


my.cnf:

[client]
port            = 3306
socket          = /tmp/mysql.sock

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 512M
max_allowed_packet = 2M
table_cache = 1024
sort_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 256M
thread_cache_size = 16
query_cache_size = 16M
query_cache_limit = 32M
join_buffer_size = 4M
max_heap_table_size = 128M
thread_concurrency = 4

skip-character-set-client-handshake

max_connections = 100
table_definition_cache = 1024

skip-federated

log-bin=mysql-bin
expire_logs_days=2

server-id       = 1

general-log-file=/var/db/mysql/mysql.log
slow-query-log = 1
slow-query-log-file=/var/db/mysql/mysql-slow.log
log-queries-not-using-indexes = 1


[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

Отредактированно babayka (25.03.2009 14:43:15)

Неактивен

 

#2 25.03.2009 14:56:22

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

Re: Виснет запрос. Прошу помощи =(

Отрабатывают ли другие потоки при этом? Может быть, есть как-то процесс, который лочит табличку?

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

Неактивен

 

#3 25.03.2009 15:00:15

babayka
Участник
Зарегистрирован: 25.03.2009
Сообщений: 3

Re: Виснет запрос. Прошу помощи =(

Если я правильно понял, то другие потоки не отрабатывают. mtop показывает все запросы после текущего висят.
Сборка из портов.
А стандартную.. вы имеете в виду уже готовый бинарник скачать?

Неактивен

 

#4 25.03.2009 15:15:48

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

Re: Виснет запрос. Прошу помощи =(

А что показывает "SHOW PROCESSLIST"? smile
Нет, скачать исходники, не патченные никем из FreeBSD community.

Неактивен

 

#5 25.03.2009 15:29:04

babayka
Участник
Зарегистрирован: 25.03.2009
Сообщений: 3

Re: Виснет запрос. Прошу помощи =(

"SHOW PROCESSLIST" не смотрел, поскольку mtop тоже самое делает. Но обязательно погляжу как возникнет такая ситуация снова.

Неактивен

 

Board footer

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