«Lost connection to MySQL server during query» при обновлении 1 млн. товаров

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Василий Кузьменко
  • Группа: Пользователь
  • Сообщений: 35
  • Регистрация: 31.03.2010

24.01.2012 16:33

У меня проблема, в магазине более 1млн. товаров, однотипных, но в категории они не отображаются, там нагрузки нет.
Когда тестировал с около 30-50К товаров, обновление индексов происходило нормально. Но когда стало много товаров обновление идёт около 2-3 часов и если российская сборка подключена непременно вываливается вот в эту ошибку:
Catalog URL Rewrites index process unknown error:
exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2013 Lost
connection to MySQL server during query' in /***/www/lib/Ze
nd/Db/Statement/Pdo.php:228
Stack trace:
#0 /***/www/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement
->execute(Array)
#1 /***/www/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend
_Db_Statement_Pdo->_execute(Array)
#2 /***/www/lib/Zend/Db/Statement.php(300): Varien_Db_Statem
ent_Pdo_Mysql->_execute(Array)
#3 /***/www/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_S
tatement->execute(Array)
#4 /***/www/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_
Db_Adapter_Abstract->query('UPDATE `core_ur...', Array)
#5 /***/www/lib/Varien/Db/Adapter/Pdo/Mysql.php(389): Zend_D
b_Adapter_Pdo_Abstract->query('UPDATE `core_ur...', Array)
#6 /***/www/lib/Zend/Db/Adapter/Abstract.php(632): Varien_Db
_Adapter_Pdo_Mysql->query('UPDATE `core_ur...', Array)
#7 /***/www/app/code/local/Df/Catalog/Model/Resource/Url.php
(200): Zend_Db_Adapter_Abstract->update()
#8 /***/www/app/code/local/Df/Catalog/Model/Resource/Url.php
(136): Df_Catalog_Model_Resource_Url->relinkRewrites()
#9 /***/www/app/code/local/Df/Catalog/Model/Url.php(248): Df
_Catalog_Model_Resource_Url->makeRedirect()
#10 /***/www/app/code/local/Df/Catalog/Model/Url.php(204): D
f_Catalog_Model_Url->makeRedirectsToCanonicalProductUrlForConcreteProduct()
#11 /***/www/app/code/local/Df/Catalog/Model/Url.php(130): D
f_Catalog_Model_Url->makeRedirectsToCanonicalProductUrl()
#12 /***/www/app/code/core/Mage/Catalog/Model/Url.php(253):
Df_Catalog_Model_Url->refreshProductRewrites('1')
#13 /***/www/app/code/local/Df/Catalog/Model/Url.php(106): M
age_Catalog_Model_Url->refreshRewrites()
#14 /***/www/app/code/core/Mage/Catalog/Model/Url.php(246):
Df_Catalog_Model_Url->refreshRewrites('1')
#15 /***/www/app/code/local/Df/Catalog/Model/Url.php(106): M
age_Catalog_Model_Url->refreshRewrites()
#16 /***/www/app/code/core/Mage/Catalog/Model/Indexer/Url.ph
p(249): Df_Catalog_Model_Url->refreshRewrites()
#17 /***/www/app/code/core/Mage/Index/Model/Process.php(166)
: Mage_Catalog_Model_Indexer_Url->reindexAll()
#18 /***/www/app/code/core/Mage/Index/Model/Process.php(194)
: Mage_Index_Model_Process->reindexAll()
#19 /***/www/shell/indexer.php(158): Mage_Index_Model_Proces
s->reindexEverything()
#20 /***/www/shell/indexer.php(198): Mage_Shell_Compiler->ru
n()
#21 {main}

Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[HY000]: Gene
ral error: 2013 Lost connection to MySQL server during query' in /***/www/lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0 /***/www/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend
_Db_Statement_Pdo->_execute(Array)
#1 /***/www/lib/Zend/Db/Statement.php(300): Varien_Db_Statem
ent_Pdo_Mysql->_execute(Array)
#2 /***/www/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_S
tatement->execute(Array)
#3 /***/www/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_
Db_Adapter_Abstract->query('UPDATE `core_ur...', Array)
#4 /***/www/lib/Varien/Db/Adapter/Pdo/Mysql.php(389): Zend_D
b_Adapter_Pdo_Abstract->query('UPDATE `core_ur...', Array)
#5 /***/www/lib/Zend/Db/Adapter/Abstract.php(632): Varien_Db
_Adapter_Pdo_Mysql->query('UPDATE `core_ur...', Array)
#6 /***/www/app/code/local/Df/Catalog/Model/Resource/Url.php
(200): Zend_Db_Adapter_Abstract->update()
#7 /***/www/app/code/local/Df/Catalog/Model/Resource/Url.php
(136): Df_Catalog_Model_Resource_Url->relinkRewrites()
#8 /***/www/app/code/local/Df/Catalog/Model/Url.php(248): Df
_Catalog_Model_Resource_Url->makeRedirect()
#9 /***/www/app/code/local/Df/Catalog/Model/Url.php(204): Df
_Catalog_Model_Url->makeRedirectsToCanonicalProductUrlForConcreteProduct()
#10 /***/www/app/code/local/Df/Catalog/Model/Url.php(130): D
f_Catalog_Model_Url->makeRedirectsToCanonicalProductUrl()
#11 /***/www/app/code/core/Mage/Catalog/Model/Url.php(253):
Df_Catalog_Model_Url->refreshProductRewrites('1')
#12 /***/www/app/code/local/Df/Catalog/Model/Url.php(106): M
age_Catalog_Model_Url->refreshRewrites()
#13 /***/www/app/code/core/Mage/Catalog/Model/Url.php(246):
Df_Catalog_Model_Url->refreshRewrites('1')
#14 /***/www/app/code/local/Df/Catalog/Model/Url.php(106): M
age_Catalog_Model_Url->refreshRewrites()
#15 /***/www/app/code/core/Mage/Catalog/Model/Indexer/Url.ph
p(249): Df_Catalog_Model_Url->refreshRewrites()
#16 /***/www/app/code/core/Mage/Index/Model/Process.php(166)
: Mage_Catalog_Model_Indexer_Url->reindexAll()
#17 /***/www/app/code/core/Mage/Index/Model/Process.php(194)
: Mage_Index_Model_Process->reindexAll()
#18 /***/www/shell/indexer.php(158): Mage_Index_Model_Proces
s->reindexEverything()
#19 /***/www/shell/indexer.php(198): Mage_Shell_Compiler->ru
n()
#20 {main}


Если российскую сборку отключить, то обновление всех индексов просходит нормально, но убиваются ссылки на статьи, которые написаны через "Журнал"
Помогите разрешить эту проблему, уже и так и сяк пробовал, не получается избежать этой ошибки.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

24.01.2012 17:14

Каково значение параметра wait_timeout вашего сервера MySQL?

#3 Василий Кузьменко
  • Группа: Пользователь
  • Сообщений: 35
  • Регистрация: 31.03.2010

24.01.2012 17:25

wait_timeout 28800

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

24.01.2012 17:27

Посмотрите, какое конкретно диагностическое сообщение оставляет в такой ситуации сервер баз данных MySQL в своём журнале неполадок.

#5 Василий Кузьменко
  • Группа: Пользователь
  • Сообщений: 35
  • Регистрация: 31.03.2010

24.01.2012 17:48

120124 19:09:54 [Note] Plugin 'ARCHIVE' is disabled.
120124 19:09:54 [Note] Plugin 'BLACKHOLE' is disabled.
120124 19:09:54 [Note] Plugin 'FEDERATED' is disabled.
120124 19:09:54 [Note] Plugin 'PBXT' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3.4
120124 19:09:54  InnoDB: Initializing buffer pool, size = 128.0M
120124 19:09:54  InnoDB: Completed initialization of buffer pool
120124 19:09:54  InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
120124 19:09:54  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
120124 19:09:56 Percona XtraDB (http://www.percona.com) 1.0.17-13.0 started; log sequence number 68451513848
120124 19:09:56 [Note] Event Scheduler: Loaded 0 events
120124 19:09:56 [Note] /usr/sbin/mysqld: ready for connections.Version: '5.2.10-MariaDB-mariadb107~squeeze-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (MariaDB - http://mariadb.com/)


#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

24.01.2012 17:52

Уверены ли вы, что опубликовали содержимое именно журнала неполадок?

#7 Василий Кузьменко
  • Группа: Пользователь
  • Сообщений: 35
  • Регистрация: 31.03.2010

24.01.2012 18:02

Цитата

Уверены ли вы, что опубликовали содержимое именно журнала неполадок?

Возможно напутал чего. Файл называется mysql-err.log находится в папке /var/log/mysql

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

24.01.2012 18:05

Присутствует ли параметр log-error в настрочном файле MySQL и каково его значение?

#9 Василий Кузьменко
  • Группа: Пользователь
  • Сообщений: 35
  • Регистрация: 31.03.2010

24.01.2012 18:27

Вот, нашёл log-error = /var/log/mysql/mysql-err.log

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

24.01.2012 18:41

Каково значение параметра MySQL net_read_timeout?

#11 Василий Кузьменко
  • Группа: Пользователь
  • Сообщений: 35
  • Регистрация: 31.03.2010

24.01.2012 18:45

net_read_timeout 30

#12 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

24.01.2012 18:49

30 секунд - это очень мало.
Поставьте ради тестирования полчаса: 1800.
Потом перезапустите сервер MySQL, разумеется.
И заново попробуйте воспроизвести дефект.

#13 Василий Кузьменко
  • Группа: Пользователь
  • Сообщений: 35
  • Регистрация: 31.03.2010

24.01.2012 18:51

Да, сейчас попробую.

Поделиться темой: