- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Возник такой вопрос по FEDERATED tables. Есть таблиза на одном сервере там лежат данные клиентов (назовем хостинг 1) и ест ее federated на другом (назовем хостинг 2). До последнего времени все нормально работало и вот с прошлой недели начались проблемы, при чем странные.
Допустим довольно часто надо сделать запрос к federated table вида SELECT * FROM table - он висит ровно три минуты и потом выдает: Error Code: 1159 Got timeout reading communication packets
Иду на хостинг, где физически лежит та таблица, проверяю базу, все нормально, не битая.
Иду назад в хостинг 2 и пишу запрос типа SELECT * FROM table WHERE id=1 - работает
Ну ладно, может дело в обьеме данных, если выбирать все, но применяю фиктивный WHERE: SELECT * FROM table WHERE id>0 - выдает все записи, длится не больше 0,2 Секунды. В итоге получается, что не работает только запрос SELECT * FROM table (без WHERE!)
В итоге нашел типа "решение", которое помогло всего на два дня - на первом хостинге скопировал все данние в другую таблицу, на втором хостинге удалил старую federated и создал новую с connection string к новой таблице - заработало на всех запросах.
Ну ладно думаю, решено. И вот вчера тоже самое, но уже с новой таблицей-копией и ее federated.
Списался и горовил с обоими хостерами - типа проблема не у них и если что кивают друг на друга. Ну и как бороться с этим, может кто встречал решение, бо создавать и пересоздавать копии каждые два дня это ж не метод....
Вообще, это скорее в администрирование нужно было писать.
версия базы (на обоих серверах, надеюсь, совпадает)? пинг между хостингами стабильный? fail2ban или другая "временная" банилка не может мешать?
Можно попробовать таймауты ( connect_timeout? net_read_timeout? ) в my.cnf увеличить... хотя, видимо, какой-то из них и равен 3 минутам..
Спасибо за ответ - сижу вот читаю всякие страшилки с похожими ошибками, все же такое ощущение, что что-то там хостеры поменяли или улучшили. "Покращення" во всей красе и видимо оно теперь отлавливает connection string к federated table, достигает какого-то порога и отрубает такой коннект. Просто при копировании таблицы и создании новой федеретед таблицы поменялись только connection string в create table engine=federated... В итоге он и используется при каждом запросе и по идее вот он ответ, но чего тогда оно работает для простых запросов. Банит еще на уровне разбора самого запроса?
Версии к сожалению не совпадают - на первом где данные физически лежат MySQL-Servers 5.0.51a, на втором с федератед - 5.1.56. Тут я особо выбирать не могу - на первом у нас обычный хостинг аккаунт и у них по дефолту 5-я версия, на другом наш виртуал сервер, можно его конечно понизить до 5-й, но не знаю поможет ли это и не получится ли еще больше проблем в других местах.
Что касается пинга - ну наверное стабильный, ведь запросы с WHERE id=1 все проходят беспроблемно.
fail2ban етц - ну на первом хостинге говорят что ничего не меняли (хотя кто там проверит...), а на своем виртуальном мы тоже ничего такого не ставили. И хостер тоже разводит руками
connect_timeout=10, net_read_timeout=30, никого с 180 не нашел, может если их там конечно в разном порядке поскладывать, то и получится 180, но... странно это все :)
А можно попросить администрацию перенести вопрос в раздел "Администриривание"?