![Медленный доступ к MySQL из клиентов Windows на виртуальном сервере](https://rvso.com/image/717751/%D0%9C%D0%B5%D0%B4%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA%20MySQL%20%D0%B8%D0%B7%20%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%BE%D0%B2%20Windows%20%D0%BD%D0%B0%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5.png)
У меня установлена система UniCenta POS с открытым исходным кодом на трех кассовых компьютерах в пабе, где я раньше работал.
Клиенты направляются на виртуальный сервер под управлением CentOS 6 и MySQL 5.6.39 с phpMyAdmin для управления.
Приложение написано на Java и работает с MySQL.
Пару месяцев назад установка начала работать очень медленно, кнопки на экране реагировали через несколько секунд. В оживленном пабе это серьезная проблема.
Я попробовал изменить настройки в my.cnf на сервере, чтобы повысить производительность сервера MySQL, изначально думая, что проблема именно в этом, но это не помогло.
Я обновил программное обеспечение UniCenta до последней версии, чтобы посмотреть, решит ли это проблему, но результата по-прежнему нет.
Я подумал, что попробую клиент на моем Mac с OS-X El Capitan, и он работает отлично, без каких-либо задержек.
Я пробовал устанавливать разные версии Java на клиентские компьютеры, но это не дало никакого эффекта.
Я изменил skip_name_resolve на on после того, как увидел упоминание об этом в нескольких сообщениях в Интернете, но это все еще не решило проблему.
Я протестировал виртуальный ПК с Windows 7 на моем Mac с локальной базой данных, и все работает отлично, без замедлений. Так что проблема где-то между клиентами и виртуальным сервером.
Я пробовал отключить NetBIOS через TCP/IP на клиентах Windows, но это не помогло.
Я думаю, что трассировка Wireshark — это следующий шаг в выяснении проблемы, но я решил опубликовать это и посмотреть, есть ли у кого-нибудь еще какие-нибудь умные идеи относительно стека TCP/IP Windows 7 или других сетевых проблем, которые могут быть причиной проблемы.
18-02-2018 Кроме того, я установил клиентское программное обеспечение на другой компьютер с Windows 7 в том же месте, что и кассы, и оно отлично работает с базой данных, размещенной на VPS.
Теперь я скопировал базу данных VPS в локальную базу данных, и три кассовых компьютера прекрасно работают с этой локальной базой данных.
Похоже, проблема возникает на некоторых компьютерах при доступе к базе данных, размещенной на VPS.
Wireshark не выявляет проблем с подключением между клиентами и сервером, поэтому устранение неполадок затруднено.
Дальнейшее обновление: Возможным исправлением является отключение настройки автоматического обновления в приложении. Эта настройка выполняет большую задачу обновления каждый раз при запуске и при нескольких перезагрузках экрана, создавая тем самым большой объем трафика на SQL-сервер.
Отключение этой опции, похоже, решило проблему со скоростью, и приложение работает нормально и реагирует своевременно.
решение1
Ответом было отключить настройку автообновления в приложении. Это было связано с количеством создаваемых SQL-подключений, и, возможно, можно настроить параметры опроса сервера MySQL, чтобы справиться с количеством запросов, которые происходят с настройками автообновления.