Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с передачей данных на удаленный сервер / 3 сообщений из 3, страница 1 из 1
05.09.2014, 22:01
    #38739099
Norest Bebest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с передачей данных на удаленный сервер
Суть проблемы:

На удаленных сервер перестали поступать данные c mysql после увеличения объема этих самых данных

Описание:

С локального сервера установлен ssh туннель на 3306 порт на удаленный сервер.

Коннект к mysql удаленного сервера идет php скриптом

$dbh = mysql_connect("127.0.0.1:3306", $user, $pswd) (3306 пробрасывается на удаленный сервер)

Запрос такого типа:

$QS="select * from `http` where work=1 union select * from `http` where work=0 and wasgood>0 ";
$result = mysql_query($QS);

Скрипт сначала получает количество результатов в ответе (например 10.000), потом делит их на
10, т.е. получает 1000 и передает их в потоки

$threads->newThread('./ping.php', array('thread_id' => $j,'count' => $ct))
где

т.е. каждый поток получает цифру 1000 и 10 потоков запрашивают

$j=0;
for ($i=0;$i<$thread_nums;$i++) {
sleep(1);
$threads->newThread('./ping.php', array('thread_id' => $j,'count' => $ct));
print "New thread: $j\n";
$j=$j+$ct;

}

Если сказать проще, то 10 потоков делят количество данных из базы на 10 и каждый обрабатывает свой участок выборки (скажем по 1000 результатов)

$QS="select * from `http` where work=1 union select * from `http` where work=0 and wasgood>0 ORDER by id LIMIT $thread_id,$cnt ";


В результате все работало когда строк было до 10000 , каждый поток брал до 1000 результатов, обрабатывал и возвращал результат, все было нормально.

Но когда результат вырос за 10.000, потоки начали вылетать с ошибкой, как я понял -
слишком большой объем данных.

Для теста запускал этот же скрипт локально на том сервере, где стоит mysql -
все работает. Запрос этих же данных удаленно - ошибка (ругается на получение нулевых данных):

PHP Notice: Undefined offset: 0 in /var/ib/ctest/ping/threads.php on line 45
PHP Warning: stream_get_contents() expects parameter 1 to be resource, null given in /var/ib/ctest/ping/threads.php on line 45
PHP Warning: feof() expects parameter 1 to be resource, boolean given in /var/ib/ctest/ping/threads.php on line 46
PHP Warning: Division by zero in /var/ib/ctest/ping/pinghttp.php on line 69
PHP Warning: Division by zero in /var/ib/ctest/ping/pinghttp.php on line 71

Возможно это где-то в настройках mysql какой-то параметр, связанный с таймаутом соединения
или размером передавамых даннных , что здесь можно исправить?

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
05.09.2014, 23:08
    #38739126
Artem_Nav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с передачей данных на удаленный сервер
Norest Bebest, можно попробовать покрутить max_allowed_packet в настройках сервера.
...
Рейтинг: 0 / 0
05.09.2014, 23:27
    #38739137
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с передачей данных на удаленный сервер
Norest BebestЗапрос этих же данных удаленно - ошибка (ругается на получение нулевых данных):

PHP Notice: Undefined offset: 0 in /var/ib/ctest/ping/threads.php on line 45
PHP Warning: stream_get_contents() expects parameter 1 to be resource, null given in /var/ib/ctest/ping/threads.php on line 45Вообще, следует перед использованием проверять результат выполнения запроса. Или, сразу после выполнения запроса убедиться, что он отработал без ошибок и вернул какие-то данные. В общем случае, даже если нет никаких явных ошибок выполнения запроса, запрос может вернуть в результате ноль строк (нет данных, удовлетворяющих условию). Тогда попытка использования результатов запроса в последующих вычислениях приведет к ошибке. Ну а при ошибках выполнения запроса гарантированы ошибки в дальнейшем использовании результатов.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с передачей данных на удаленный сервер / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]