Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль. |
|
Ошибка при обмене данными |
|
|
deniska312
Пользователь iNETsHOP
Количество сообщений
17
Зарегистрирован:
17-05-2016, 23:32:49
|
Ошибка при обмене данными
Доброго времени суток. Имеется проблема с обменом данными между базой сайта.
Сайт на CMS Joomla 3 + Virtuemart 3
Суть проблемы в том что при обмене данными на таблице TBL_GOODS на запросе peice->price идет загрузка и обрывается ошибкой
[10.08.2016 17:21:19] ERROR(Exception): Сделана попытка выполнить операцию на объекте, не являющемся сокетом.
[10.08.2016 17:21:23] ERROR(Exception): Thread http error
Что только не пробовал. И изменял количество запросов на поток от 1 до 1000 ставил, ничего не меняет, и кол-во потоков менял от 1 до 5, тоже самое. И пробовал с сервера где стоит программа пробрасывать пакеты на сайт, все без потерь. Пакеты кидал огромных размеров. Из 10000 пробросов 1 потеря. Логи сайта и хостинга ошибок не выдают.
Парой по 20-30 раз надо пробовать чтобы прошел обмен.
Сайт тоже пробовал нагружать, ничего не виснет и не отрубает. Звонил поставщику хостинга, они говорят что это не на их стороне ошибка
При изменении потока и кол0ва запросов ошибка не становится чаще или реже, все остается одинаковым. Выскакивать она может на 20-30% и на 60% и на 95%. Никакого систематизма. Иногда бывает проскакивает обмен на 2 раз. Ночью проходит обмен чаще с 7-8 раза.
Уже не знаю куда дальше смотреть, чем проверять.
|
Распечатать
|
|
support
Support
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
|
Такая ошибка обычно свидетельствует о потере пакетов или когда хост обрывает соединение при обмене через http-тоннель. Таймаут при обмене через http-тоннель равен 600 секунд, т.е. 10 минут, а значит программа не обрывает соединение и ждет ответа сервера пока он обработает отправленный пакет данных, внесет информацию в базу данных сайта и вернет ответ с результатами успешной или не успешной работы.
Попробуйте сделать минимальный объем отправляемых данных, например настройте отправку пакетов через http-тоннель на 100 записей базы данных и в 1 поток.
Хостинги на базе вебсервера ngnix (если на вашем хостинге он установлен) обычно обрабатывают запросы в от одного IP в одной очереди, а значит не зависимо от того, сколько потоков отправки данных вы установите в настройках, они все-равно будут становится в очередь и обрабатываться по одному.
|
Распечатать
|
|
deniska312
Пользователь iNETsHOP
Тема начата
Количество сообщений
17
Зарегистрирован:
17-05-2016, 23:32:49
|
Яданные настройки ставил не один раз, все без изменений(
Куда еще можно посмотреть или проверить? Может ли mysql не принимать запись и выдавать ошибку?
|
Распечатать
|
|
phantom
Пользователь iNETsHOP
Количество сообщений
11
Зарегистрирован:
23-02-2009, 19:56:48
|
Цитата Написал: deniska312
Яданные настройки ставил не один раз, все без изменений(
Куда еще можно посмотреть или проверить?
Хостеры редко вникают в проблемы клиентов и пытаются в них разобраться, тем более если вы проверяли потерю пакетов через ping, то там размер пакета грубо говоря 100 байт, а размер пакета с данными программы намного больше да еще он должен распаковаться, преобразоваться и записаться в базу магазина.
Как вариант чтобы развеять все сомнения, есть хостеры которые для теста дают VPS или хостинг например на неделю. Возьмите такой хост, бросьте туда базу магазина и скрипты тоннеля (обычно идут отдельной папкой и ни к чему не привязаны) и проверьте обмен. Если результат тот же - пинайте поддержку программы, если проблем не будет - хостера.
|
Распечатать
|
|
deniska312
Пользователь iNETsHOP
Тема начата
Количество сообщений
17
Зарегистрирован:
17-05-2016, 23:32:49
|
Спасибо) сейчас попробую)
|
Распечатать
|
|
support
Support
Количество сообщений
1199
Зарегистрирован:
11-04-2008, 19:11:57
|
Обмен данными через http-тоннель
Цитата Написал: deniska312
Может ли mysql не принимать запись и выдавать ошибку?
При ошибке записи в базу данных mysql или ошибках в sql-скриптах ответ сервера и текст ошибки будут возвращены через http-тоннель и показаны в логах обмена программы. Если возникают ошибки в php-скриптах тоннеля, то они или так же возвращаются через тоннель и/или видны в логах самого веб-сервера который обрабатывает http-запросы. В вашем случае, это выглядит как обрыв соединения на стороне веб-сервера без каких-либо ответов или его недоступность.
Нагрузочные тесты обычно запрашивают одну и ту же страницу, которая в последствии отдается из кеша вебсервера и кеша базы дданых. При обмене данными (при передаче данных в базу магазина) кеш не используется, т.к. данные вносятся в базу сайта и всегда разные. Т.е. если бы нагрузочный тест показал проблемы доступности - это бы свидетельствовало о том, что сайт и вебсервер не выдерживает нагрузку, если нагрузочный тест проходит на получение закешированных страниц, это может не давать гарантии что такая же ситуация с POST-запросами http которые еще выполняют интенсивную запись в базу данных сайта.
|
Распечатать
|
|
Статистика форума |
|
Тем: 506, Сообщений: 3222, Пользователей: 2257
Приветствуем новичка по имени L9800708 |
Ближайшие дни рождения |
|
Сегодня именинников нет |
|
|
Copyright 2007-2015 "Программа iNETsHOP - работа с прайс-листами поставщиков для интернет магазинов ®"
|
|