powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Mysql потребляет много памяти
10 сообщений из 10, страница 1 из 1
Mysql потребляет много памяти
    #39144528
Евген2016
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем! Я чайник в вопросах БД, но понять в чем проблема мне нужно.
Суть проблемы

Когда работает модуль импорта данных из xml фидов то через сутки БД виснет. Такое ощущение что вся память (15 ГБ) израсходовалась именно туда.

Опытным путем было установлено что скрипт модуля импорта потребляет всего 18МБ
http://prntscr.com/9ooe62

фиды реально тяжелые-Оzon.ru 160 000 офферов.

Работа импорта построена таким образом что старая инфа с витрины удаляется а новая затягивается. Примитивно довольно таки. Нет сравнения хеш сумм и т.д

Конфиг файл на сервере выглядит так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
#
# Basic mysql configuration. Use bvat for advanced settings.
# Parameters set by bvat are stored in /etc/mysql/conf.d/bvat.cnf.
# If you want to change any parameter, you'll have to redefine it in /etc/mysql/conf.d/z_bx_custom.cnf
#

[client]
port = 3306
socket = /var/lib/mysqld/mysqld.sock
default-character-set = utf8

[mysqld_safe]
nice = 0
socket = /var/lib/mysqld/mysqld.sock

[mysqld]

# Basic mysql server configuration
user = mysql
port = 3306
basedir = /usr
datadir = /var/lib/mysql
socket = /var/lib/mysqld/mysqld.sock
skip-external-locking
default-storage-engine = innodb
pid-file = /var/run/mysqld/mysqld.pid
transaction-isolation = READ-COMMITTED
max_allowed_packet = 16M
myisam-recover = BACKUP
expire_logs_days = 10
max_binlog_size = 100M

# Cache parameters
query_cache_size = 32M
table_open_cache = 4096
thread_cache_size = 32
key_buffer = 16M
thread_stack = 128K
join_buffer_size = 2M
sort_buffer_size = 2M

# Parameters for temporary tables
tmpdir = /dev/shm
max_heap_table_size	= 32M
tmp_table_size = 32M

# InnoDB parameters
innodb_file_per_table
innodb_buffer_pool_size	= 32M
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 64M
innodb_flush_method = O_DIRECT

# Database charset parameters
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect = "SET NAMES utf8 COLLATE utf8_unicode_ci"
skip-character-set-client-handshake
skip-name-resolve

[mysqldump]
quick
quote-names
max_allowed_packet = 16M
default-character-set = utf8

[mysql]

[isamchk]
key_buffer = 16M

# Include additional settings
!includedir /etc/mysql/conf.d/


под спойлер не получилось завернуть.

Этот файл настраивался, а может шел по умолчанию при создании сайта фрилансером. На момент создания был реализован только ручной импорт. Фрилансер больше ни чего не настраивал. Когда сделали нам автоматич модуль импорта, то был замечен такой баг.

Пока обращаться к специалистам не видим смысла, так как большинство сразу хотят диагностику всего сайта провести, мол кривые руки делали и что бы знать что и куда - диагностика покажет.
Сайт действительно верстался как экспериментальный. Адрес сайт www.ataora.ru
Многие кто жаловался на скорость сайта не говоря о дизайне. Между тем мониторинг показывает загрузку сайта 5-6 сек без с чистого кеша и уже далее 2,3 и последующий хиты - страницы кешированные открываются быстрее. Дизайн простенький.. В общем кто зайдет на сайт тот все и увидит.



Меня же интересует сводный диагноз, если это возможно, по работе mysql
какие команды в putty использовать что бы получить максимум информации при работе модуля импорта при операциях чтения/запись в БД

Может уже есть готовый конфиг на случай больших баз данных? Дамп базы на сегодня весит порядка 700 МБ не такая уж и большая база.
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39144552
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкакие команды в putty использовать что бы получить максимум информации при работе модуля импорта при операциях чтения/запись в БД

top
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39144558
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евген2016через сутки БД виснетВ чем это выражается?
MySQL сам по себе виснут не может, если не налетели на баг (что очень маловероятно).
Евген2016Такое ощущение что вся память (15 ГБ) израсходовалась именно туда.Не вижу, откуда бы это следовало. Посмотрите реальный расход памяти в системе.
Евген2016key_buffer = 16M
innodb_buffer_pool_size = 32MЧто-то не похоже это на большой расход памяти.
Евген2016фиды реально тяжелые-Оzon.ru 160 000 офферов.Не знаю что такое "фиды" и "офферов", но, например, применительно к прайс-листам это весьма небольшой объем.


Разбирайтесь, какие именно запросы выполняются скриптом.
Таблицы на каком движке используются?
Индексы по ним все созданы, какие надо под конкретные запросы?

Евген2016Пока обращаться к специалистам не видим смысла, так как большинство сразу хотят диагностику всего сайта провести, мол кривые руки делали и что бы знать что и куда - диагностика покажет.Пока что остается только согласиться с тем, нужна более подробная диагностика.
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39144574
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПока обращаться к специалистам не видим смысла, так как большинство сразу хотят диагностику всего сайта провести, мол кривые руки делали и что бы знать что и куда - диагностика покажет.
А придется
Практически нереально стабильную версию mysql заставить действительно потреблять 15 гб памяти. Так бывает, но очень редко.
Тем более ваш конфиг довольно "скромный". Я бы даже увеличил innodb_buffer_pool_size = 32M, потому что ну очень уж мало.

авторКогда работает модуль импорта данных из xml фидов то через сутки БД виснет. Такое ощущение что вся память (15 ГБ) израсходовалась именно туда.
и на каких же данных основано это ощущение ?

Сайт ведь из разных программ состоит, не только mysql. Во время парсинга нарушается некое "равновесие" ну и наверное начинает тормозить.
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39144604
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindПрактически нереально стабильную версию mysql заставить действительно потреблять 15 гб памяти.
Ну вообще-то LOAD XML [LOCAL] INFILE по части потребления памяти ведёт себя весьма безобразно. Такое впечатление, что он пытается "всосать" весь файл, и не чистит/отпускает память, занятую уже обработанными ключами.
Правда, для того, чтобы сожрать столько, нужно, чтобы сам XML имел размер в несколько десятков гигабайт.
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39144918
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, печально. А если в myisam или еще как-то воздействовать на механизм транзакций ?
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39145003
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind , а это всё тут при чём? LOAD XML [LOCAL] INFILE является высокоуровневой инструкцией (т.е. вообще не в курсе, на каком движке таблица) и неделимой неатомарной инструкцией (т.е. внутри она каждую отдельную вставку выполняет как независимую автофиксируемую транзакцию, а снаружи это не управляется).
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39145007
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, ну вроде нигде не написано о транзакциях, а это могло быть единственное нормальное объяснение. поэтому спросил.
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39145330
VGrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwindТем более ваш конфиг довольно "скромный".


Код: sql
1.
2.
# Include additional settings
!includedir /etc/mysql/conf.d/



Одному Богу известно, какие настройки скрываются за этой строкой...
...
Рейтинг: 0 / 0
Mysql потребляет много памяти
    #39145500
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VGrey, только сегодня для вас сеанс феноменального прорицания : там один лишь файл mysqld_safe_syslog.cnf, как и положено в debian, который никто не портил.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Mysql потребляет много памяти
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]