MySQL Execution Time Spikes

Если у Вас есть DHCP, работающий на Windows Server 2008 (или R2), можно использовать DHCP NAP, чтобы препятствовать тому, "чтобы пользователи жулика" получили IP. Существует несколько других способов защитить сеть с помощью NAP, включая IPSec или 802.1X; и это может быть реализовано по VPNs также.

Как Matt Simmons указал, это не тривиально. См. документ NAP от этой страницы загрузки.

2
задан 9 May 2012 в 01:14
3 ответа

Две наиболее вероятные проблемы заключаются в следующем:

1) ваш запрос блокируется другим - проверьте журнал медленных запросов, что было запущено, когда вы запустили обновление

2) ваша виртуальная машина не расписывается на хост-машине. Настройте сценарий сторожевого таймера для записи контрольного сигнала в файл журнала

Могут быть и другие причины, но если вы не устраните две указанные выше, нет особого смысла обсуждать их.

С точки зрения решения проблем, первое это просто вопрос настройки запроса, для последнего вам нужно поговорить с тем, кто управляет хост-машиной.

0
ответ дан 3 December 2019 в 13:10

Как выглядит:

SHOW CREATE TABLE catalogsearch_query\G
SHOW INNODB STATUS;
SELECT * FROM information_schema.PROCESSLIST WHERE State='Locked' ORDER BY Time;

?

Я подозреваю, что вы столкнулись с проблемой "открытия / закрытия столов". Я бы не стал перезапускать вашу БД слишком часто, ей потребуется время, чтобы разогреться, особенно при выполнении большого количества обновлений.

Чтобы завершить ее, я бы тоже хотел увидеть это:

SHOW STATUS LIKE '%cache%';
SHOW STATUS LIKE '%table%';

И все это в один момент беда, держу пари, что когда у вас проблемы и вы играете за «флеш-столами»; , это займет много времени.

Несколько важных параметров конфигурации, которые ускорят обработку:

innodb_log_buffer_size  = 16M
innodb_file_per_table   = 1
innodb_open_files = 16000
innodb_io_capacity   = 400
innodb_flush_log_at_trx_commit = 2
innodb_flush_method  = O_DIRECT
innodb_thread_concurrency=8
innodb_lock_wait_timeout = 90

Имейте в виду, что это исходит от MariaDB, то есть mysql на стероидах. (XtraDB) В частности, настройка per_table радикальна, но влияет только на новые таблицы, вам нужно будет воссоздать проблемные таблицы, если вы хотите, чтобы они были в их собственном innodb. Это вместе с методом сброса O_DIRECT и trx_commit = 2 (сначала прочтите об этом!) Значительно ускорит процесс, особенно при больших обновлениях / вставках.

Надеюсь, это поможет.

0
ответ дан 3 December 2019 в 13:10

Sounds almost definitely like a peripheral issue influencing what is going on and fairly typical of running Magento in a constrained and contended environment like a VPS.

If your configuration was previously working well and you haven't changed any code or installed any extensions - then it will be an external influence, most likely an increase in traffic - but with a VPS, it is more than likely increased I/O activity.

It sounds exactly like I/O wait - simply installing a graphing tool like Munin would conclusively prove this (showing a correlating in MySQL slow queries with I/O activity/wait).

I'll refer to a few other posts on the same vain - as running Magento in a VPS always yields similar behaviour.

  1. https://serverfault.com/a/368649/113375
  2. https://serverfault.com/a/367861/113375
  3. https://stackoverflow.com/a/8216096
1
ответ дан 3 December 2019 в 13:10

Теги

Похожие вопросы