SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » На чем переписывать win-приложение для Web?
Re: На чем переписывать win-приложение для Web? [сообщение #4630 является ответом на сообщение #4625] Mon, 11 March 2024 16:32 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
pastor
в фибах есть свой таймер, отваливаемся по нему
ConnectionIdleTimeout не зависит от клиента.
Re: На чем переписывать win-приложение для Web? [сообщение #4631 является ответом на сообщение #4629] Mon, 11 March 2024 16:33 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
avp писал(а) Mon, 11 March 2024 15:31
hvlad писал(а) Mon, 11 March 2024 16:26

OIT "застревает" совершенно от другого.
От недофетченного курсора он обязан застревать при консистентности.

hvlad писал(а) Mon, 11 March 2024 16:26

И никак не связан с накоплением и\или сборкой мусора.
В любом случае мусора будет больше и снимок TIP будет разбухать.

Я понимаю - можно чего-то не знать.
Но упираться в своём невежестве - это надо уметь.
Re: На чем переписывать win-приложение для Web? [сообщение #4632 является ответом на сообщение #4626] Mon, 11 March 2024 16:36 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad
МП
hvlad
pastor
наше все - автоотключение пользователя по таймауту.
доводов ЗА - миллион
ConnectionIdleTimeout в помощь
это который в API обозван isc_dpb_connect_timeout?  :evil:
Иди доку чти, evil
а нету у вас больше нихрена в isc_dpb_ХХХ
Re: На чем переписывать win-приложение для Web? [сообщение #4633 является ответом на сообщение #4628] Mon, 11 March 2024 16:39 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
hvlad писал(а) Mon, 11 March 2024 16:30
Для минимизации рисков нужно уметь их оценивать. Где твои оценки ? На чём они основаны ?
Ну давайте запустим снапшот на год и посмотрим как будет база работать.
Возможно даже и доработает.
Но кто подпишется кровью что всё будет ОК?

hvlad писал(а) Mon, 11 March 2024 16:30

Пока что и вижу, что ты не понимаешь что такое OIT и на что он влияет.
Может я и забыл уже чего. Но точно помню что активный снапшот удерживает версии во всей базе.

hvlad писал(а) Mon, 11 March 2024 16:30

Какие высоконагруженные объекты с таким уровнем знаний ?
Там ума много не надо. Запросы простые. Но их много.


Re: На чем переписывать win-приложение для Web? [сообщение #4634 является ответом на сообщение #4632] Mon, 11 March 2024 16:41 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
МП
а нету у вас больше нихрена в isc_dpb_ХХХ
У тебя тоже обострение ?
Или бан в гугле не снят ? Smile

Читай doc/README.session_idle_timeouts
Re: На чем переписывать win-приложение для Web? [сообщение #4635 является ответом на сообщение #4630] Mon, 11 March 2024 16:44 Переход к предыдущему сообщениюПереход к следующему сообщению
pastor в настоящее время не в онлайне  pastor
Сообщений: 83
Зарегистрирован: June 2022
Географическое положение: Калуга
Member
hvlad писал(а) Mon, 11 March 2024 16:32
pastor
в фибах есть свой таймер, отваливаемся по нему
ConnectionIdleTimeout не зависит от клиента.
в 2.5 ? Smile
Re: На чем переписывать win-приложение для Web? [сообщение #4636 является ответом на сообщение #4633] Mon, 11 March 2024 16:45 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
Давай-ка ты сначала прочитаешь хотя бы релизноты от 4-ки, хотя бы разделы про ReadConsistency и изменения в сборке мусора.
А уже потом расскажешь тут о своём бесценном, политом кровью, опыте работы с высоконагруженными приложениями с простыми запросами,
для которых ума много не надо.
И заодно воспоминаниями о том, чего до 4-ки никогда не было и как оно влияло на бесценное, политое и т.п. приложение.
Re: На чем переписывать win-приложение для Web? [сообщение #4637 является ответом на сообщение #4635] Mon, 11 March 2024 16:47 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
pastor писал(а) Mon, 11 March 2024 15:44
hvlad писал(а) Mon, 11 March 2024 16:32
pastor
в фибах есть свой таймер, отваливаемся по нему
ConnectionIdleTimeout не зависит от клиента.
в 2.5 ? Smile
Тут вроде о 4-ке речь шла...
Пора бы уже бы и переезжать бы, как бы - на 5-ку Wink
Re: На чем переписывать win-приложение для Web? [сообщение #4638 является ответом на сообщение #4634] Mon, 11 March 2024 16:47 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad писал(а) Mon, 11 March 2024 16:41
МП
а нету у вас больше нихрена в isc_dpb_ХХХ
У тебя тоже обострение ?
Или бан в гугле не снят ? Smile

Читай doc/README.session_idle_timeouts
не надо делать мне красиво.
функции для аттачмента ты реализовал, а на DPB забил болт.
Re: На чем переписывать win-приложение для Web? [сообщение #4639 является ответом на сообщение #4638] Mon, 11 March 2024 16:53 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
МП писал(а) Mon, 11 March 2024 15:47
hvlad писал(а) Mon, 11 March 2024 16:41
МП
а нету у вас больше нихрена в isc_dpb_ХХХ
У тебя тоже обострение ?
Или бан в гугле не снят ? Smile

Читай doc/README.session_idle_timeouts
не надо делать мне красиво.
функции для аттачмента ты реализовал, а на DPB забил болт.
А почему оно должно быть в DPB ?
И где твоя (вежливая) просьба об этом ?
И чем тебе не подходит SET SESSION IDLE TIMEOUT, если уж на то пошло ?
Re: На чем переписывать win-приложение для Web? [сообщение #4640 является ответом на сообщение #4639] Mon, 11 March 2024 17:19 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 889
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
hvlad
А почему оно должно быть в DPB ?
И где твоя (вежливая) просьба об этом ?
И чем тебе не подходит SET SESSION IDLE TIMEOUT, если уж на то пошло ?
когда вы эти "безобразия" творили, я ещё только c 1.5 на 3.0 переползал Wink

касаемо того, почему оно должно быть в DPB - дык, параметр коннекта, не иначе.
databases.conf конечно хорошо, действует до того как, но для всех коннектов этой базы, без разбора.
а Attachment::setIdleTimeout() действует на того кого надо, но таки после коннекта.
дополнительный раунд трип.
а если засандалить в DPB, то как говорят у нас в бухгалтерии - "я ничо не делала, а оно само!"
Re: На чем переписывать win-приложение для Web? [сообщение #4641 является ответом на сообщение #4616] Mon, 11 March 2024 17:50 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 332
Зарегистрирован: June 2022
Senior Member
hvlad писал(а) Mon, 11 March 2024 15:25
sim_84
Параметр ReadConsistency не рулит транзакциями. Он переключает поведение для isc_tpb_reс_version и isc_tpb_noreс_version чтобы они превращались или нет в isc_tpb_read_consistency.

Другое дело, что дефолтное значение 1 для ReadConsistency спорно.
Спорить нужно было лет 8 назад, когда оно появилось в альфе\бете.
И, нет, ходить всю жизнь по лезвию - не есть причиной заставлять всех новичков делать так же.
Лично я не спорю по поводу дефолтного значения ReadConsistency

hvlad писал(а) Mon, 11 March 2024 15:25

sim_84
Но с другой стороны приложениям на Delphi, где зафигачили длинную RC RO транзакцию несёт вред.
Какой вред ? Кто его измерил и может показать ?
Не в искуственном тесте.
Ну лично я никакого вреда не замечал. У меня есть недофетченные курсоры в гридах, которые висят по пол дня. Но ночером люди таки расходятся, так что и OST двигается вперёд.
Если кто-то на ночь приложение не выгружает, то соединение само отрубится по тайм-ауту простоя соединения (4 часа).

Re: На чем переписывать win-приложение для Web? [сообщение #4642 является ответом на сообщение #4636] Mon, 11 March 2024 21:18 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
hvlad писал(а) Mon, 11 March 2024 16:45
Давай-ка ты сначала прочитаешь хотя бы релизноты от 4-ки, хотя бы разделы про ReadConsistency и изменения в сборке мусора.
Вот прямо оттуда:
Each new top-level statement creates its own database snapshot that sees the most recently committed data.

т.е. недофетченный курсор означает что этот "snapshot" будет жить пока не достигнут eof.
Больше там ничего не написано.

Re: На чем переписывать win-приложение для Web? [сообщение #4643 является ответом на сообщение #4641] Mon, 11 March 2024 21:24 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
sim_84 писал(а) Mon, 11 March 2024 17:50

Ну лично я никакого вреда не замечал. У меня есть недофетченные курсоры в гридах, которые висят по пол дня. Но ночером люди таки расходятся, так что и OST двигается вперёд.
Если кто-то на ночь приложение не выгружает, то соединение само отрубится по тайм-ауту простоя соединения (4 часа).
У меня вот 24x7 всё работает и отражает юзерам в реалтайме ситуацию. Такой таймаут вообще не вариант.
Re: На чем переписывать win-приложение для Web? [сообщение #4644 является ответом на сообщение #4642] Mon, 11 March 2024 22:14 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 332
Зарегистрирован: June 2022
Senior Member
avp писал(а) Mon, 11 March 2024 21:18
hvlad писал(а) Mon, 11 March 2024 16:45
Давай-ка ты сначала прочитаешь хотя бы релизноты от 4-ки, хотя бы разделы про ReadConsistency и изменения в сборке мусора.
Вот прямо оттуда:
Each new top-level statement creates its own database snapshot that sees the most recently committed data.

т.е. недофетченный курсор означает что этот "snapshot" будет жить пока не достигнут eof.
Больше там ничего не написано.

А как этот snapshot формируется ты читал? Начиная с 4.0 он очень дешёвый, и никакой приватной копии tip не делается.
Re: На чем переписывать win-приложение для Web? [сообщение #4645 является ответом на сообщение #4643] Mon, 11 March 2024 22:18 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 332
Зарегистрирован: June 2022
Senior Member
avp писал(а) Mon, 11 March 2024 21:24

У меня вот 24x7 всё работает и отражает юзерам в реалтайме ситуацию. Такой таймаут вообще не вариант.
Таки каждый юзер работают 24 часа в сутки? Ты хоть понял что это за тайм-аут? Это тайм-аут простоя соединения, то есть соединения в котором ничего не выполняется.

Что за сфера деятельности такая где юзеры по 24 часа работают?

[Обновления: Mon, 11 March 2024 22:44]

Известить модератора

Re: На чем переписывать win-приложение для Web? [сообщение #4647 является ответом на сообщение #4637] Tue, 12 March 2024 08:23 Переход к предыдущему сообщениюПереход к следующему сообщению
pastor в настоящее время не в онлайне  pastor
Сообщений: 83
Зарегистрирован: June 2022
Географическое положение: Калуга
Member
hvlad писал(а) Mon, 11 March 2024 16:47
pastor писал(а) Mon, 11 March 2024 15:44
hvlad писал(а) Mon, 11 March 2024 16:32
pastor
в фибах есть свой таймер, отваливаемся по нему
ConnectionIdleTimeout не зависит от клиента.
в 2.5 ? Smile
Тут вроде о 4-ке речь шла...
Пора бы уже бы и переезжать бы, как бы - на 5-ку Wink
собс-но этим и занимаюсь

за счет клиентов, работающих на 2.5

я к тому, что 85% нужного функционала реализовано через SQL, библиотеки и пр. еще в 1.5
еще 10% добили встроенными функциями в 2.5
надежности вроде хватает, производительности - с избытком
одних репликаций три штуки - на все случаи жизни Smile

переезжаем токмо из-за несовместимости с операционками
пережевываеем несовместимости по типам, cursor stability и мелочам развертывания/сопровождения

а
Re: На чем переписывать win-приложение для Web? [сообщение #4648 является ответом на сообщение #4640] Tue, 12 March 2024 11:31 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
МП
hvlad
А почему оно должно быть в DPB ?
И где твоя (вежливая) просьба об этом ?
И чем тебе не подходит SET SESSION IDLE TIMEOUT, если уж на то пошло ?
когда вы эти "безобразия" творили, я ещё только c 1.5 на 3.0 переползал Wink

касаемо того, почему оно должно быть в DPB - дык, параметр коннекта, не иначе.
databases.conf конечно хорошо, действует до того как, но для всех коннектов этой базы, без разбора.
а Attachment::setIdleTimeout() действует на того кого надо, но таки после коннекта.
дополнительный раунд трип.
а если засандалить в DPB, то как говорят у нас в бухгалтерии - "я ничо не делала, а оно само!"
Если оно тебе прям так надо - ты знаешь где трекер.
"Оно само" в данном случае - не получится.

PS доп. roundtrip после коннекта - это, конечно, трагедия...
...триггеры на коннект, кстати, никто не отменял
Re: На чем переписывать win-приложение для Web? [сообщение #4650 является ответом на сообщение #4644] Tue, 12 March 2024 15:06 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
sim_84 писал(а) Mon, 11 March 2024 22:14

А как этот snapshot формируется ты читал? Начиная с 4.0 он очень дешёвый, и никакой приватной копии tip не делается.
Какая собственно разница? Версии записей всё равно должны удерживаться.
Re: На чем переписывать win-приложение для Web? [сообщение #4651 является ответом на сообщение #4645] Tue, 12 March 2024 15:08 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
sim_84 писал(а) Mon, 11 March 2024 22:18

Таки каждый юзер работают 24 часа в сутки? Ты хоть понял что это за тайм-аут? Это тайм-аут простоя соединения, то есть соединения в котором ничего не выполняется.
Соединение периодически из базы подгружает инфу и отражает на экране.

sim_84 писал(а) Mon, 11 March 2024 22:18

Что за сфера деятельности такая где юзеры по 24 часа работают?
Промавтоматика. ПО работает постоянно.
Re: На чем переписывать win-приложение для Web? [сообщение #4653 является ответом на сообщение #4650] Tue, 12 March 2024 15:59 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 417
Зарегистрирован: August 2022
Senior Member
avp писал(а) Tue, 12 March 2024 13:06

Какая собственно разница? Версии записей всё равно должны удерживаться.
Не должны. Точнее должны, но не все, а только реально кому-то видимые. Именно поэтому RCRC и является умолчательным: у него нет недостатков по сравнению с RC. Параметр в конфиге - исключительно для багоюзеров.
Re: На чем переписывать win-приложение для Web? [сообщение #4654 является ответом на сообщение #4651] Tue, 12 March 2024 16:52 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 332
Зарегистрирован: June 2022
Senior Member
avp
Соединение периодически из базы подгружает инфу и отражает на экране.
И откуда в этом случае недофетченные курсоры? То есть если это какое-то информационное табло, то не имеет смысла не до конца грузить курсор.

И почему когда она периодически подгружает информацию это не делается в новой транзакции?
Информационное табло обычно одно, ну может чуть больше (пальцев рук хватит). И уж эти места легко переделать на отдельные читающие транзакции.
Re: На чем переписывать win-приложение для Web? [сообщение #4657 является ответом на сообщение #4653] Tue, 12 March 2024 17:52 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
SD писал(а) Tue, 12 March 2024 15:59
avp писал(а) Tue, 12 March 2024 13:06

Какая собственно разница? Версии записей всё равно должны удерживаться.
Не должны. Точнее должны, но не все, а только реально кому-то видимые. Именно поэтому RCRC и является умолчательным: у него нет недостатков по сравнению с RC. Параметр в конфиге - исключительно для багоюзеров.
Если курсор недофетчен, то по идее все записи в базе должны удерживаться. Ибо заранее неизвестно какие записи затронет этот курсор.
И я не против сделать его умолчательным. Я не понимаю, почему нельзя было сделать флаг в tpb для отключения этого.
Re: На чем переписывать win-приложение для Web? [сообщение #4658 является ответом на сообщение #4654] Tue, 12 March 2024 17:55 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
sim_84 писал(а) Tue, 12 March 2024 16:52
avp
Соединение периодически из базы подгружает инфу и отражает на экране.
И откуда в этом случае недофетченные курсоры? То есть если это какое-то информационное табло, то не имеет смысла не до конца грузить курсор.
ПО имеет многооконную архитектуру. Неизвестно что открыл юзер и оставил на экране. В том числе и информационные окна.

Re: На чем переписывать win-приложение для Web? [сообщение #4660 является ответом на сообщение #4658] Tue, 12 March 2024 19:47 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 332
Зарегистрирован: June 2022
Senior Member
Давай всё таки разберёмся. У вас эти окна тупо открыты с недофетченными курсорами и ничего не делают или всё таки в них данные обновляются? Если данные постоянно обновляются 24/7, то курсоры как минимум надо переоткрывать, то есть никакого удержания версий не будет.
Re: На чем переписывать win-приложение для Web? [сообщение #4661 является ответом на сообщение #4660] Tue, 12 March 2024 21:07 Переход к предыдущему сообщениюПереход к следующему сообщению
avp в настоящее время не в онлайне  avp
Сообщений: 83
Зарегистрирован: October 2023
Member
sim_84 писал(а) Tue, 12 March 2024 19:47
Давай всё таки разберёмся. У вас эти окна тупо открыты с недофетченными курсорами и ничего не делают или всё таки в них данные обновляются? Если данные постоянно обновляются 24/7, то курсоры как минимум надо переоткрывать, то есть никакого удержания версий не будет.
В программе есть разные формы. И динамические и статические. Юзер может понаоткрывать произвольно их.
Re: На чем переписывать win-приложение для Web? [сообщение #4662 является ответом на сообщение #4661] Tue, 12 March 2024 22:30 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 332
Зарегистрирован: June 2022
Senior Member
Самые хреновые это формы с которыми не работает пользователь, сами они не обновляются и в них недофетченные курсоры. Но такие плохо вяжутся с понятием пользователь работает 24/7. Раз они тупо ничего не делают часами закрывайте или обновляйте их по таймеру.

[Обновления: Tue, 12 March 2024 22:32]

Известить модератора

Re: На чем переписывать win-приложение для Web? [сообщение #4663 является ответом на сообщение #4662] Tue, 12 March 2024 22:33 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 332
Зарегистрирован: June 2022
Senior Member
И да, я не верю что это пипец какая сложная задача.
Re: На чем переписывать win-приложение для Web? [сообщение #4665 является ответом на сообщение #4657] Wed, 13 March 2024 01:48 Переход к предыдущему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 417
Зарегистрирован: August 2022
Senior Member
avp писал(а) Tue, 12 March 2024 15:52

Если курсор недофетчен, то по идее все записи в базе должны удерживаться. Ибо заранее неизвестно какие записи затронет этот курсор.
Во-первых, ну будут удерживаться и что? Только не говори, что у тебя в базе каждая запись обновляется раз в минуту и каждая из этих версий кем-то недофетчивается.
Во-вторых, недофетченные курсоры это чисто твои (и ФИБС-ов) архитектурные проблемы.
В-третьих, ты эти проблемы реально видишь в выводе gstat или теоретизируешь?
Предыдущая тема: IRequest против IStatement
Следующая тема: ANN: FIREBIRD CONF 2024: техническая конференция для разработчиков и администраторов
Переход к форуму:
  


Текущее время: Sun Dec 22 11:21:08 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01393 секунд