Официальный сайт студ.городка НГТУ
Программирование и БД » [MySQL] Got error 126 и большие таблицы 

#1  07.04.09 20:25

[MySQL] Got error 126 и большие таблицы

Многоуважаемый All!

У меня уже мозги набекрень... никак не могу вычислить проблему... имеются большие таблицы (порядка 8,5 миллионов записей) и на этих таблицах постоянно возникает проблема с файлами ключей... отрабатывает REPAIR TABLE, работает некоторое время, потом опять сваливается... есть подозрение, что это нагрузка как-то влияет... таблицы имеют тип myisam...

Подскажите плз в каком направлении копать...

P.S. файл my.cnf, памяти на серваке 4Гб, MySQL 5.1.32

Код::

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

max_connections=400
max_user_connections=400

key_buffer=1G
join_buffer_size=512M
table_cache=1024
max_allowed_packet = 1M
sort_buffer = 128M
record_buffer = 32M
query_cache_limit = 8M
# max_join_size = 10500000
max_sort_length = 20
myisam_sort_buffer_size = 512M

thread_cache = 64
# Try number of CPU’s*2 for thread_concurrency
thread_concurrency = 8

query_cache_size = 80M
query_cache_type = 1

tmp_table_size = 32M
max_heap_table_size = 32M

log-bin=/var/log/mysql/mysql-bin
innodb_flush_log_at_trx_commit=1
sync_binlog=1

slow_query_log=1
log_queries_not_using_indexes=1
slow_query_log_file=/var/log/mysql/slow-queries.log

P.P.S. забыл добавить... когда было памяти всего 1Гб, особых проблем не возникало... добавили до 4 Гб - сразу начались проблемы... думал, что проблема с памятью физически, но тестирование проблем не выявило...

Исправлено Jaguar (08.04.09 01:19)

Offline

#2  08.04.09 12:43

Re: [MySQL] Got error 126 и большие таблицы

Укроп написал(а):

попробуй проапгрейдить/пересобрать мускул, ну и вообще  сам знаешь myisam не лучий тип

Это не я бляяя...

Offline

#3  08.04.09 21:37

Re: [MySQL] Got error 126 и большие таблицы

Диман, я у же проапгредил мускуль, т.к. без этого получалась 127 ошибка, которую пофиксили после какой-то там версии... 5.1.32 - это почти последний билд... я понимаю, что myisam не лучший вариант, но при 1Гб все работало, а после добавления памяти прет каждый день

Offline

#4  09.04.09 13:13

Wic
Профиль

Re: [MySQL] Got error 126 и большие таблицы

Jaguar, какая система стоит на сервере? Пробовал убирать оперативку, может системе много 4 гига?

Offline

#5  09.04.09 14:38

Re: [MySQL] Got error 126 и большие таблицы

Wic, FC7 64bit
копутер стоит в Нью-Йорке на площадке хостера... хостер "протестировал" память и утверждает, что память работает без сбоев...

Offline

#6  09.04.09 23:37

Wic
Профиль

Re: [MySQL] Got error 126 и большие таблицы

Jaguar, а размеры буферов и кэший увеличивать?

Offline

#7  10.04.09 01:42

Re: [MySQL] Got error 126 и большие таблицы

Wic, конфиг выше... предлагай...

Offline

#8  10.04.09 10:40

Wic
Профиль

Re: [MySQL] Got error 126 и большие таблицы

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

max_connections=400
max_user_connections=400

key_buffer=2G
join_buffer_size=1024M
table_cache=1024
max_allowed_packet = 1M
sort_buffer = 512M
record_buffer = 64M
query_cache_limit = 16M
# max_join_size = 10500000
max_sort_length = 20
myisam_sort_buffer_size = 1024M

thread_cache = 64
# Try number of CPU’s*2 for thread_concurrency
thread_concurrency = 8

query_cache_size = 128M
query_cache_type = 1

tmp_table_size = 128M
max_heap_table_size = 128M

log-bin=/var/log/mysql/mysql-bin
innodb_flush_log_at_trx_commit=1
sync_binlog=1

slow_query_log=1
log_queries_not_using_indexes=1
slow_query_log_file=/var/log/mysql/slow-queries.log

например так

Исправлено Wic (10.04.09 10:43)

Offline

#9  10.04.09 14:43

Re: [MySQL] Got error 126 и большие таблицы

1. с такими настройками уже пробовал... толку ноль... к тому же при таких настройках большого кол-ва соединений не выдержать...
2. key_buffer не советуется поднимать более 25% RAM, т.к. иначе это проблема уже приложения

P.S. пришли к выводу, что проблема в самом движке MyISAM... сейчас делаю конвертирование table engine в InnoDB... но, вот все же хочеться понять, что же происходит такое, что приводит к крашу файлов ключей постоянно...

Offline

#10  10.04.09 19:13

Re: [MySQL] Got error 126 и большие таблицы

попробуй чтоли --delay-key-write выключить (параметр командной строки для mysqld)

Offline

#11  11.04.09 11:41

Re: [MySQL] Got error 126 и большие таблицы

Matrim, тож пробовал... его можно выставить и в my.cnf... тож не спасло...

Offline

#12  12.04.09 14:21

Re: [MySQL] Got error 126 и большие таблицы

Jaguar, места в temp директории точно хватает? :)

Offline

#13  12.04.09 14:50

Re: [MySQL] Got error 126 и большие таблицы

Jaguar, ты попробуй сюда обратиться: sql.ru
Есть раздел форума, посвященный именно mysql, ну и на форум этот обычно квалифицированные люди заходятю

Offline

#14  12.04.09 15:35

Re: [MySQL] Got error 126 и большие таблицы

Matrim написал(а):

места в temp директории точно хватает? :)

300Гб :)

Дональдак, да как-то уже все равно... а спецы - один спец уже посмотрел в живую на сервак... вердикт - переход на InnoDB, но причин поломки так и не назвал... только разговоры про какие-то мифические пределы MyISAM

Offline

#15  13.04.09 19:28

Wic
Профиль

Re: [MySQL] Got error 126 и большие таблицы

Jaguar, переход на innoDB помог?

Offline

#16  13.04.09 20:08

Re: [MySQL] Got error 126 и большие таблицы

Wic, мы тут вспомнили что еще произошло в то время, как начались краши... были созданы новые таблицы в InnoDB... другими словами, вся база изначально работала на MyISAM, потом создали 9 таблиц InnoDB + добавили памяти... перевод больших таблиц на InnoDB помог только в отношении этих таблиц, но стали так же падать (хаотично) другие таблицы, которые остались на MyISAM... т.ч. напрашивается вывод о коллизии при совместном использовании разных движков (в частности InnoDB + MyISAM)... в некоторых местах читал, что это не рекомендуется... собственно, вероятность 99%, что причина именно в этом...

Offline

#17  13.04.09 21:14

Wic
Профиль

Re: [MySQL] Got error 126 и большие таблицы

Jaguar, а вот как всё оказалось...будешь все таблицы на InnoDB переводить?

Offline

#18  13.04.09 21:20

Re: [MySQL] Got error 126 и большие таблицы

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

Offline

#19  14.04.09 01:03

Wic
Профиль

Re: [MySQL] Got error 126 и большие таблицы

Jaguar, а если не секрет что за система, чего делает?

Offline

#20  14.04.09 09:28

Re: [MySQL] Got error 126 и большие таблицы

сервис, который занимается рассылкой SMS... легальный спам :)

ну, вот и ответ от клиента:

ok, now please convert other tables as well, do it in order from bigger to smaller ones.

Offline

#21  08.05.09 11:27

Re: [MySQL] Got error 126 и большие таблицы

Укроп написал(а):

Укроп написал(а):

ну и вообще  сам знаешь myisam не лучий тип

сила серебряной луны и викодина

Это не я бляяя...

Offline

Программирование и БД » [MySQL] Got error 126 и большие таблицы 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.038 сек.
Выполнено 14 запросов.