INET/inet_error: send errno = 10054

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 03 мар 2005, 15:10

В продолжение этой темы и "IB 6.5 Server + W2KSP2 Помогите, плиз, чайнику":
Вопрос: обязательно/желательно ли ставить IB сервер на отдельную машину.
Проблема продолжается та-же, но реже - ошибки 10053 и 10054 частенько и 2-5 раз в сутки требуется перезапуск IB сервера.
Решал по форуму и докам: обновил все клиентские машины до последних патчей, отключил 2 старые машины на Вынь98 от сервера, поставил ibconsvc на сервер, убрал все не нужное. По логу не получается отследить ошибку - какая-то плавающая: может произойти когда кто-то лезет в 1С или интернет и т.д., от конкретного клиента не зависит, исправил ibconfig:connection_timeout и dummy_packet_intervel - ничего не помогает. Причем если выключить совсем все компьютеры в сети и оставить 3 (основных рабочих включая сервер) и работать только в Interbase программе - все отлично.
Поэтому и вопрос: насколько остальные сетевые программы (The Bat, 1C, EServ/аналог WinGate/ + некоторые MS офисные документы) на сервере сбивают IB сервер?

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 03 мар 2005, 15:31

а железо какое у сервера?
может ему памяти на всех не хватает и он в подкачку дисковую половину выгружает. Отсюда и тормоза.
Смени ИБ на Firebird SuperServer 1.5.2 проблемы решатся

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 03 мар 2005, 16:39

DSKalugin писал(а):а железо какое у сервера?
может ему памяти на всех не хватает и он в подкачку дисковую половину выгружает. Отсюда и тормоза.
Смени ИБ на Firebird SuperServer 1.5.2 проблемы решатся
Переход на Firebird SuperServer 1.5.2 с IB server 6.5 требует переписывания клиентской программы?

Celeron2400 512m SIS win2kSP4, файл подкачки 768м, там вся база всего лишь 3.5 мега - программу только только запустили.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 03 мар 2005, 17:03

andycat писал(а): Переход на Firebird SuperServer 1.5.2 с IB server 6.5 требует переписывания клиентской программы?
Не требует. Грубоговоря, не вдаваясь в подробности, это новая более продвинутая версия с учетом исправления ошибок в IB. Как сделать переход безболезненным и простым читай статьи на этом сайте. Там есть на эту тему сочинение.
andycat писал(а): Celeron2400 512m SIS win2kSP4, файл подкачки 768м, там вся база всего лишь 3.5 мега - программу только только запустили.
"EServ/аналог WinGate" может мешать, а остальное просто вытеснять из памяти.

Для начала расскажи о программе. На чем написана, через какие компоненты и методы соединяется с базой, кикая работа ведется с базой...
Качни IBAnalist с этого сайта и проверь свою базу. Там же и рекомендачии увидешь. А также очень полезная информация приложена в хэлпе и в примерах к этой программе.
Первое скорей всего то что у тебя размер страницы 1024 и работаешь через БДЕ

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 03 мар 2005, 17:49

Delphi 7 + компоненты палитры Interbase , из BDE я ушел специально, т.к. были проблемы работы в сети.
IBAnalist попробую, но сама БД не такая сложная - 8 связанных таблиц, из них только 2 основные, а остальные как справочники (автомобили, страховщики и т.д.) изменяются соответсвенно редко в основном только при отображении, но вот две основных редактируются постоянно и достаточно интенсивно.
Eserv (соответственно Интернет) используется только на двух клиентских компьютерах, причем на нем не используется IB программа, но сбои при входе в Интернет иногда бывают, так-что я думаю проблема не в нем, хотя.... отключать я его пробовал, не помогает, а вот от 1С, TheBat и документы - от них отказаться на сервере нельзя.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 03 мар 2005, 18:13

так у тебя Интербез стоит на том же сервере, который раздает интернет в локалку???? Т.е. высунувши попу во внешнюю сеть напоказ всем хакерам?
Нука дай свой айпишник, посмотреть :-))
тогда все понятно. Если попа не прикрыта (файерволом) говоря по русски если снаружи есть доступ на порт tcp 3050 и пароль SYSDBA/masterkey то любой человек и я в том числе могу подключиться к твоей базе по интернету и завалить ее, а может наоборот, навести порядок :-)))
т.е. защищать надо сервер

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 03 мар 2005, 18:54

Удачи 8) ...
А если серьезно, у меня возникла идея своих проблем с сетью, подскажите плиз, если я не прав:
Есть основная таблица примерно 40 полей я вывожу список записей для просмотра пользователем (примерно 400 шт. много т.к. нужны данные для просмотра за последний месяц от текущей даты), из сервера для просмотра я беру 19 полей общий список выводится меньше 2 секунд, но есть одно но: в таблице есть такие 4 поля - id марки автомобиля страхователя, id модели автомобиля страхователя, аналогично для потерпевшего; таблицы для марок и моделей соответственно общие - для потерпевшего я беру наименования через left outer join , а для страхователя через LOOKUP поля базы и соответственно через дополнительный IBQuery (как написать правильный SQL запрос я пока не знаю - может подскажете?), так вот если отображать страхователя через LOOKUP загрузка DBGrid идет от 7 до 15 секунд - т.е на порядок дольше чем без него, как я понимаю для каждой записи если использовать LOOKUP ibquery каждый раз лезет на сервер? из-за этого может рваться сеть?

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 03 мар 2005, 19:33

используй inner join, внешнее соединение left join требует много памяти и ресурсов сервера. забудь про лукап вообще. Это для локальный СУБД проходило только.
С транзакциями надо правильно работать. Если у тебя правка и вставка через такие методы как
insert, edit
Post
вот в этом и проблема

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 03 мар 2005, 20:10

DSKalugin писал(а):используй inner join, внешнее соединение left join требует много памяти и ресурсов сервера. забудь про лукап вообще. Это для локальный СУБД проходило только.
С транзакциями надо правильно работать. Если у тебя правка и вставка через такие методы как
insert, edit
Post
вот в этом и проблема
ни в коем случае - никаких insert, edit, Post , только запросы, но проблемы возникают именно непредсказуемо, но в основном при этом LOOKUPовском SELECT запросе, может из-за этого модет быть проблема?
если да - подскажите, плиз, образец select sql запроса нужного в данном случае?

sag
Сообщения: 116
Зарегистрирован: 02 ноя 2004, 11:42

Сообщение sag » 03 мар 2005, 21:40

Проблема продолжается та-же, но реже - ошибки 10053 и 10054 частенько
Реже это как? Каждую минуту, тыщу раз в сутки?
и 2-5 раз в сутки требуется перезапуск IB сервера.
опиши подробнее почему приходится перезагружать сервер
Смени ИБ на Firebird SuperServer 1.5.2 проблемы решатся
вот так все и одним махом?! :)
используй inner join, внешнее соединение left join требует много памяти и ресурсов сервера.
не слушай. Изучай внимательно учебники по sql, когда обстановка того требует - используй left join, когда нет - не используй.
забудь про лукап вообще.
так вот совсем и напрочь? А иногда и по чуть-чуть то хоть можно?
подскажите, плиз, образец select sql запроса нужного в данном случае?
это тебе уже на sql.ru разъяснили.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 03 мар 2005, 21:58

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

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 03 мар 2005, 22:03

на sql.ru запрос подсказали только-что - всем спасибо - попробую

Совершенно согласен с sag..

ошибка кстати вываливаются совершенно непредсказуемо (или раз в минуту или раз в час), т.е. визуально (и по логам соответственно) зависит только от нагрузки сети + наверное неправильный select запрос, т.е. клиент входит в прогу открывает список и если сеть перегружена IB сервер валится.

sag
Сообщения: 116
Зарегистрирован: 02 ноя 2004, 11:42

Сообщение sag » 04 мар 2005, 00:13

andycat писал(а):Причем если выключить совсем все компьютеры в сети и оставить 3 (основных рабочих включая сервер) и работать только в Interbase программе - все отлично.
Чтобы проверить твой железный сервер, хотя бы на время перенеси рабочую базу на другую машину. Объемы у тебя мизерные, навороченного железа тебе не требуется.
Merlin писал(а):но конкретно по этим ошибкам - сетевые карты трясти надобно да хабы, и ничего более.
По этим ошибкам да. Мне вот полностью избавиться от «сетевых» ошибок не удается (в день бывает до нескольких десятков, но не как из пулемета), причина – наличие в моем зоопарке чутьживых станций-долгожителей. Но у него еще и сервер, вроде как, рушится.
andycat писал(а):т.е. визуально (и по логам соответственно) зависит только от нагрузки сети + наверное неправильный select запрос, т.е. клиент входит в прогу открывает список и если сеть перегружена IB сервер валится.
Как определяешь, что сеть перегружена? Как валится иб? Виснет и не отвечает и дисками мигает, перестартовывает или еще как? В логе, случаем, еще чего интересного не пишет (типа абнормал (-1))?
Тут дело в чем. Есть вариант, что завал сервера не связан с ошибками сети. Может быть ты иб некорректным запросом каким-нибудь убиваешь. Вот уже и не вспомню каким макаром, но были варианты убиения старых версий запросом, причем на первый взгляд очень даже безобидным. Поэтому рискну дать тебе подкупающие своей новизной советы касательно иб: если это твой проект, переходи с 6.5 на современные версии иб/фб - меньше багов, больше возможностей; и (самое важное на мой взгляд) тщательно тестируй свое приложение (запросы, хп и тд и тп), тестируй на «рабочих» объемах данных. Ох. Вот и я про дядьку :)

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 04 мар 2005, 08:50

именно абнормал(-1)
некогда тестировать - людям надо работать, да и у меня кроме этого других забот хватает, перепишу запрос - напишу

sag
Сообщения: 116
Зарегистрирован: 02 ноя 2004, 11:42

Сообщение sag » 04 мар 2005, 09:16

именно абнормал(-1)
воспользуйся поиском в этом форуме, ключевая фраза "terminate abnormally". Если время найдешь.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 04 мар 2005, 12:08

Merlin писал(а):sag, респект :) Я пару раз порывался встрять, но не решился - вопросы про бузину, ответы про дядьку :) Запросы с теми джойнами которые нужны писать конечно надобно учиться, но конкретно по этим ошибкам - сетевые карты трясти надобно да хабы, и ничего более.
Проблема может быть в чем угодно, в том числе и в неправильной работе приложения. Для полноты картины надо выяснить как можно больше, а не заявлять как ты про умирающее железо.
Там кстати вертится еще 1С и еще что несколько сетевых софтин, на которые жалоб нет. Так причем тут тогда железо

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 04 мар 2005, 13:56

Проблема решена:
слишком большой select запрос, очень много (было 7 сделал 3) join связей - ошибки и падения сервера прекратились (пока во всяком случае), отсюда мораль - сокращать SQL запросы....

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 04 мар 2005, 14:37

мораль должна быть другой - свести падение к минимально воспроизводимому примеру и выслать разработчикам

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 04 мар 2005, 15:03

он же вроде с IB 6.5 мучается?

andycat
Сообщения: 65
Зарегистрирован: 22 фев 2005, 12:06

Сообщение andycat » 04 мар 2005, 15:06

если бы IB был лицензионный я бы так и делал....

Ответить