Если у Вас есть DHCP, работающий на Windows Server 2008 (или R2), можно использовать DHCP NAP, чтобы препятствовать тому, "чтобы пользователи жулика" получили IP. Существует несколько других способов защитить сеть с помощью NAP, включая IPSec или 802.1X; и это может быть реализовано по VPNs также.
Как Matt Simmons указал, это не тривиально. См. документ NAP от этой страницы загрузки.
Две наиболее вероятные проблемы заключаются в следующем:
1) ваш запрос блокируется другим - проверьте журнал медленных запросов, что было запущено, когда вы запустили обновление
2) ваша виртуальная машина не расписывается на хост-машине. Настройте сценарий сторожевого таймера для записи контрольного сигнала в файл журнала
Могут быть и другие причины, но если вы не устраните две указанные выше, нет особого смысла обсуждать их.
С точки зрения решения проблем, первое это просто вопрос настройки запроса, для последнего вам нужно поговорить с тем, кто управляет хост-машиной.
Как выглядит:
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 (сначала прочтите об этом!) Значительно ускорит процесс, особенно при больших обновлениях / вставках.
Надеюсь, это поможет.
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.