SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 04.02.2012 15:56:20

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

Ненормальная нагрузка на HDD

Имею в своем распоряжении железку Intel i7 2600 + 2x4Gb ddr3 + 1Tb sata под сервер базы данных
ОС Centos 5.7 с последними обновлениями
Установлен mysql 5.5.20 из Remi

Все установлено вот буквально только что.

my.cnf

Код:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

user=mysql
key_buffer_size=2048M
max_connections=700
low_priority_updates=1
old_passwords=0
read_buffer_size=8M
sort_buffer_size=2048M
query_cache_type=0
query_cache_limit=1M
query_cache_min_res_unit=1K
query_cache_size=0
table_cache=50000
thread_cache_size=2048
tmp_table_size=128M

#concurrent_insert=2
#myisam_sort_buffer_size=64M
#myisam-recover=QUICK,BACKUP,FORCE
#skip-innodb

innodb_data_home_dir = /var/lib/mysql/innobase
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/innobase
innodb_buffer_pool_size=4096M
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DIRECT
innodb_log_buffer_size=4M
innodb_log_file_size=256M
innodb_file_per_table=1
innodb_lock_wait_timeout=50
innodb_force_recovery=0
innodb_thread_concurrency=50

port=3306
bind-address=192.168.1.18

skip-name-resolve

[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Включаю сайт, делаю буквально пару-тройку кликов по странице и наблюдаю загрузку HDD в 100% (см. скриншот)

Подумал битый диск - поменял диск на 500-сотку из запаса, переустановил все то же самое в чистую - разницы нет, поведение точно такое же.
Смарт обоих дисков наличия бедблоков не показывает.

В биосе режим SATA AHCI

Без нагрузки на hdd

Код:

#hdparm -t /dev/sda

Timing buffered disk reads:  278 MB in  3.00 seconds =  92.54 MB/sec
Timing buffered disk reads:  332 MB in  3.02 seconds = 110.02 MB/sec

Судя по скриншоту - mysql усиленно что-то куда-то пишет, НО ЧТО ? И как такое может быть да же при полностью отсутствующей нагрузке ?

upd: пардон, забыл: суммарный объем файлов в папке мускуля ~2гб, 670 файлов, 9 папок.

Отредактированно krevedko13 (04.02.2012 16:18:39)


Прикрепленные файлы:
Attachment Icon hdd.png, Размер: 46,396 байт, Скачано: 580

Неактивен

 

#2 04.02.2012 17:10:21

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

Re: Ненормальная нагрузка на HDD

Почему именно MySQL? Посмотрите atop - кто именно пишет. Можно сделать strace -p на mysql, чтобы посмотреть его текущие системные вызовы.

В конфигурации подозрительно sort_buffer_size=2048M - эта прамять выделяется для каждого подключения.

Неактивен

 

#3 04.02.2012 17:21:09

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

Re: Ненормальная нагрузка на HDD

На этом сервере больше и нет ничего. На приатаченном скриншоте "atop -d" и показывает 100% на мускуль, разве нет ?

sort_buffer_size был задран во время последнего перелопачивания конфига, что 256 Мб как было, что 2 Гб - поведение однотипное.

strace -p 3509 и немножко потыкал страницы сайта

Код:

Process 3509 attached - interrupt to quit
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(51323), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 39
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(39, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(39, F_SETFL, O_RDONLY)            = 0
fcntl(39, F_GETFL)                      = 0x2 (flags O_RDWR)
setsockopt(39, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(39, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(39, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
setsockopt(39, SOL_IP, IP_TOS, [8], 4)  = 0
setsockopt(39, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(51326), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 39
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(39, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(39, F_SETFL, O_RDONLY)            = 0
fcntl(39, F_GETFL)                      = 0x2 (flags O_RDWR)
setsockopt(39, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(39, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(39, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
setsockopt(39, SOL_IP, IP_TOS, [8], 4)  = 0
setsockopt(39, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(51330), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 39
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(39, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(39, F_SETFL, O_RDONLY)            = 0
fcntl(39, F_GETFL)                      = 0x2 (flags O_RDWR)
setsockopt(39, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(39, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(39, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
setsockopt(39, SOL_IP, IP_TOS, [8], 4)  = 0
setsockopt(39, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(51333), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 39
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(39, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(39, F_SETFL, O_RDONLY)            = 0
fcntl(39, F_GETFL)                      = 0x2 (flags O_RDWR)
setsockopt(39, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(39, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(39, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
setsockopt(39, SOL_IP, IP_TOS, [8], 4)  = 0
setsockopt(39, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(51337), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 39
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(39, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(39, F_SETFL, O_RDONLY)            = 0
fcntl(39, F_GETFL)                      = 0x2 (flags O_RDWR)
setsockopt(39, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(39, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(39, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
setsockopt(39, SOL_IP, IP_TOS, [8], 4)  = 0
setsockopt(39, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(51342), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 39
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(39, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(39, F_SETFL, O_RDONLY)            = 0
fcntl(39, F_GETFL)                      = 0x2 (flags O_RDWR)
setsockopt(39, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(39, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(39, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
setsockopt(39, SOL_IP, IP_TOS, [8], 4)  = 0
setsockopt(39, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(51346), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 104
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(104, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(104, F_SETFL, O_RDONLY)           = 0
fcntl(104, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(104, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(104, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(104, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(104, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(104, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1

к сожалению не имею понятия как интерпритировать эти данные ....

Да же простое открытие phpMyAdmin вызывает взлет активности диска (см. скриншот dhh2.png), так врядли дело в приложении работающем с моей БД.

Отредактированно krevedko13 (04.02.2012 17:28:01)


Прикрепленные файлы:
Attachment Icon hdd2.png, Размер: 42,391 байт, Скачано: 581

Неактивен

 

#4 04.02.2012 18:16:36

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

Re: Ненормальная нагрузка на HDD

В strace отобразились только операции с сокетами, операций с диском не видно. Что показывает SHOW FULL PROCESSLIST в консоли MySQL, когда диск занят?

Неактивен

 

#5 04.02.2012 18:41:21

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

Re: Ненормальная нагрузка на HDD

Дал кратковременную нагрузку на сайт (реальную, не бенчмарк):

По данным phpMyAdmin это какие-то несчастные 200 запросов в секунду, но из-за нагрузки на диск консоль отвечает заметно медленно, а генерация любой страницы сайта уходит в неприличные значения (боевые nginx и apache на другом физическом сервере, на этом только ненагруженный апач для phpMyAdmin)
Оперативной памяти свободно больше половины, свопинга нет.

hdd 100%
SHOW FULL PROCESSLIST в атаче
strace

Код:

setsockopt(789, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(789, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(789, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(789, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(789, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(56444), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 249
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(249, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(249, F_SETFL, O_RDONLY)           = 0
fcntl(249, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(249, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(249, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(249, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(249, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(249, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(56445), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 319
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(319, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(319, F_SETFL, O_RDONLY)           = 0
fcntl(319, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(319, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(319, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(319, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(319, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(319, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(56446), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 322
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(322, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(322, F_SETFL, O_RDONLY)           = 0
fcntl(322, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(322, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(322, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(322, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(322, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(322, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(56448), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 335
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(335, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(335, F_SETFL, O_RDONLY)           = 0
fcntl(335, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(335, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(335, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(335, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(335, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(335, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(56449), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 380
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(380, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(380, F_SETFL, O_RDONLY)           = 0
fcntl(380, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(380, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(380, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(380, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(380, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(380, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(56450), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 398
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(398, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(398, F_SETFL, O_RDONLY)           = 0
fcntl(398, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(398, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(398, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(398, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(398, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(398, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(36969), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 405
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(405, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(405, F_SETFL, O_RDONLY)           = 0
fcntl(405, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(405, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(405, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(405, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(405, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(405, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(56459), sin_addr=inet_addr("192.168.1.5")}, [16864854713185599504]) = 410
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(410, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(410, F_SETFL, O_RDONLY)           = 0
fcntl(410, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(410, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(410, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(410, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(410, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(410, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(36971), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 434
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(434, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(434, F_SETFL, O_RDONLY)           = 0
fcntl(434, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(434, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(434, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(434, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(434, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(434, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1) = 1 ([{fd=10, revents=POLLIN}])
fcntl(10, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(10, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
accept(10, {sa_family=AF_INET, sin_port=htons(36972), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 434
fcntl(10, F_SETFL, O_RDWR)              = 0
getsockname(434, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("192.168.1.18")}, [16864854713185599504]) = 0
fcntl(434, F_SETFL, O_RDONLY)           = 0
fcntl(434, F_GETFL)                     = 0x2 (flags O_RDWR)
setsockopt(434, SOL_SOCKET, SO_RCVTIMEO, "\36\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
setsockopt(434, SOL_SOCKET, SO_SNDTIMEO, "<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
fcntl(434, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
setsockopt(434, SOL_IP, IP_TOS, [8], 4) = 0
setsockopt(434, SOL_TCP, TCP_NODELAY, [1], 4) = 0
futex(0xf7a364, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xf7a360, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xf797c0, FUTEX_WAKE_PRIVATE, 1)  = 1
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}], 2, -1 <unfinished ...>

Отредактированно krevedko13 (04.02.2012 18:48:55)


Прикрепленные файлы:
Attachment Icon log.txt, Размер: 45,770 байт, Скачано: 1,279

Неактивен

 

#6 04.02.2012 19:46:03

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

Re: Ненормальная нагрузка на HDD

Судя по processlist, у Вас очень много тяжелых запросов, использующих tmp table на диске. Вам нужно оптимизировать запрос 'SELECT DISTINCT ..', который занимает первые строчки в processlist - его выполнение требует порядка минуты.

Неактивен

 

#7 04.02.2012 21:46:43

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

Re: Ненормальная нагрузка на HDD

Благодарю. Оптимизация запроса спасла.

Судя по мануалу на выбор создавать темп в памяти или на диске ответственны tmp_table_size и max_heap_table_size , сейчас выставил их по 256M.
Погоняю базу в живую и буду снимать показания с тюнеров.

Неактивен

 

#8 05.02.2012 18:03:21

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

Re: Ненормальная нагрузка на HDD

Хм, а почему никто не советует что-то вроде:

Код:

[mysqld]
tmpdir = /dev/shm

есть какие-то предубеждения или нестабильность работы ?

/* что при перезагрузке память чистится понятно */

Неактивен

 

#9 05.02.2012 18:34:43

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

Re: Ненормальная нагрузка на HDD

А в чем логика такого действия? Куда быстрее не складывать таблицу на ФС
(даже если ФС в памяти), чем складывать.

Неактивен

 

#10 05.02.2012 19:27:41

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

Re: Ненормальная нагрузка на HDD

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

Про tmpfs я не в контексте моего вопроса спрашиваю, а вообще smile

Неактивен

 

#11 05.02.2012 21:48:16

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

Re: Ненормальная нагрузка на HDD

Если вдруг в tmpdir будет недостаточно место, то, например, создание индексов на больших таблицах будет выполняться бесконечно долго: http://webew.ru/posts/2699.webew

MEMORY таблицы эффективнее, чем дисковые таблицы в памяти.

Неактивен

 

#12 06.02.2012 02:39:01

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

Re: Ненормальная нагрузка на HDD

А в контексте Вашего запроса — поднять tmp_table_size эффективнее, чем
перевесить временный раздел в ОЗУ.

Неактивен

 

Board footer

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