[Warning] Aborted connection 13466 to db: reading communication packets)

12
D
На сайте с 28.06.2008
Offline
1101
841

Запустил на сервере парсер.

Первые 2000 записей он отработал штатно.

Далее стал очень часто останавливаться с ошибкой

PHP Warning:  Error while sending QUERY packet. PID=14392 in /database/driver/pdo.php on line 416

В логе мускуля ошибка

[Warning] Aborted connection 13466 to db: (Got timeout reading communication packets)

Начал гуглить - советую увеличить max_allowed_packet - но он у меня и та был

max_allowed_packet = 1000M

Попробовал поднять до - 524288000, не помогло.

Добавил с скрипт парсера

set_time_limit(0);
ini_set("memory_limit", "1000M");

- не помогло.

connect_timeout = 10

wait_timeout = 60

Больше мыслей нет.

M
На сайте с 17.09.2016
Offline
124
#1

on line 416 на этой строке что?

Запрос к базе или подключение?

D
На сайте с 28.06.2008
Offline
1101
#2

Это стандартный файл Джумлы, строку выделил жирным

if ($this->prepared instanceof PDOStatement)
{
// Bind the variables:
if ($this->sql instanceof JDatabaseQueryPreparable)
{
$bounded = $this->sql->getBounded();

foreach ($bounded as $key => $obj)
{
$this->prepared->bindParam($key, $obj->value, $obj->dataType, $obj->length, $obj->driverOptions);
}
}

$this->executed = $this->prepared->execute();
}
M
На сайте с 17.09.2016
Offline
124
#3

Посмотрите ещё параметр interactive_timeout

И в целом все timeout параметры

D
На сайте с 28.06.2008
Offline
1101
#4

interactive_timeout = 60, остальный timeout привел выше. А может эта некая защита - тормозящая запросы?

M
На сайте с 17.09.2016
Offline
124
#5

firewall посмотрите

лог ядра ещё как вариант

база локальная ?

D
На сайте с 28.06.2008
Offline
1101
#6

База локальная.

Фаервол - ну а смысл? Первые 2000 прошли же нормально.

Тем более я в консоле вижу когда он зависает.

Тут же торможу, запускаю заново - он 5-20 записей отрабатывает и опять зависает.

Пробовал добавлять слип в цикл на 1-2 сек. Без толку.

Сейчас гуглю mysql close

M
На сайте с 17.09.2016
Offline
124
#7

В firewall может быть всё что угодно)

В том числе и лимит подключений/запросов в сек/мин/час и т.д.

Если скрипт зависает, то тогда посмотрите ещё tcpdump'ом трафик

lonelywoolf
На сайте с 23.12.2013
Offline
151
#8

Mobiaaa, А разве он через сеть работает? Или всё же через сокет по дефолту обмен? Файрволл не при делах, 99%, если подключение идёт по localhost, а не 127.0.0.1

Платный и бесплатный хостинг с защитой от DDoS (http://aquinas.su)
LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#9
Mobiaaa:
В firewall может быть всё что угодно)
В том числе и лимит подключений/запросов в сек/мин/час и т.д.
Если скрипт зависает, то тогда посмотрите ещё tcpdump'ом трафик

какой ещё firewall на локалке и 127.0.0.1, да ещё и у Dram :)

Там скорее всего запрос на две тонных данных или переменная какая-то не очищается и херачится постоянно одно и тоже в БД

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
D
На сайте с 28.06.2008
Offline
1101
#10

Не локалка, а вот второе похоже на правду. Как закрывать соединение с базой по завершении итерации цикла в пхп?

---------- Добавлено 22.10.2019 в 16:38 ----------

Сейчас прогнал еще 2000 - проблем не было. Я думаю это защита на той стороне, тормозит запросы

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий