Я получаю это сообщение довольно часто.
До сих пор я просмотрел несколько решений, но не нашел ничего, чтобы решить эту проблему.
Но сначала вот моя установка:
Я использую среду PHP7, которая разбита на различные элементы для причины масштабируемости.
1 NGINX WebServer
2-й сервер приложений, использующий PHP7-FPM с haproxy & Memcache
2-й сервер баз данных с настроенным кластером галереи
1 сервер заданий с PHP7-CLI & HAProxy
1 сервер входа для распространения приложений (nfs) и обслуживания системы
Сервер входа также является основным логином для разработчиков
Моя проблема в том, что я иногда получаю следующее сообщение:
Предупреждение: PDOStatement :: execute (): сервер MySQL исчез
После перезапуска haproxy на любом из серверов приложений он снова работает для 3-10 просмотров страниц.
Но после этого я снова получаю то же сообщение.
Пожалуйста, помогите мне найти мою ошибку.
Вот мой конфиг haproxy:
global
log 127.0.0.1 local0 notice
user haproxy
group haproxy
defaults
log global
retries 2
timeout connect 10000
timeout server 10000
timeout client 10000listen mysql-cluster
log global
timeout connect 10000
timeout server 10000
timeout client 10000
bind 127.0.0.1:3306
mode tcp
option mysql-check user proxy
balance roundrobin
server db1 1.1.1.1:3306 check
server db2 1.1.1.2:3306 check
Я ценю любую помощь, которая приводит меня к решению этой проблемы
После исследования и тестирования в течение некоторого времени я нашел основную причину своих проблем.
Прежде всего, права прокси-пользователя, если они не отражены на втором сервере.
И у меня были некоторые проблемы с функцией записи.
Поэтому я добавил еще одно соединение на порт 3307, который отвечает за запись.
Чтобы сохранить идею кластера, я устанавливаю основную базу данных на первом подключении, а остальные резервные копии на случай, если другие не удаются.
Я настраиваю все согласно статье в
http://severalnines.com/tutorials/mysql-load-balancing-haproxy-tutorial
спасибо за помощь людям, которые позвонили мне, когда увидели этот пост 🙂
Просто измените настройки тайм-аута
тайм-аут сервера 10м
тайм-аут клиента 10м