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

Начало » Использование СУБД » Firebird, HQbird, InterBase » Firebird 5.0.1 использование памяти
Firebird 5.0.1 использование памяти [сообщение #5721] Sat, 16 November 2024 23:05 Переход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
Очень давно не использовал Firebird, а тут возникла необходимость куда-то складывать небольшое количество телеметрии (несколько записей в минуту). Решил попробовать применить для этой задачи firebird.
Установил 5.0.1 docker/linux. Все настройки по умолчанию, кроме AuthServer и WireCrypt (особенность клиента). Одна табличка 99,9(9)% INSERTы.  Размер базы на данный момент 32 Мб. При этом в topе написано, что процесс firebird потребляет 38% от 64Гб памяти. На мой вкус это как-то многовато. В первую очередь в голову приходит идея ограничить контейнер, но мне кажется это как-то грубо.

[Обновления: Sat, 16 November 2024 23:10]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5722 является ответом на сообщение #5721] Sun, 17 November 2024 11:23 Переход к предыдущему сообщениюПереход к следующему сообщению
basid в настоящее время в онлайне  basid
Сообщений: 166
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
Память, используемая процессом firebird состоит из:
1. Собственного кода и служебных структур сервера;
2. Страничного кэша;
3. Буфера временных объектов;
4. Объектов клиентских подключений.
Содержимое firebird.conf и databases.conf позволяет управлять пунктами два и три.
За пункт четыре отвечает разработчик приложения.
Пункт раз для 64ГБ ОЗУ - мизер, который можно не учитывать.

Ну и самое главное - научитесь уже разделять адресное пространство (VIRT) и занятую память (RES).
Re: Firebird 5.0.1 использование памяти [сообщение #5723 является ответом на сообщение #5722] Sun, 17 November 2024 11:35 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
basid писал(а) Sun, 17 November 2024 11:23
Ну и самое главное - научитесь уже разделять адресное пространство (VIRT) и занятую память (RES).
Ну так-то да, наверное вы правы, но мне как-то (может быть субъективно) кажется что для описанной ситуации такое использование даже VIRT не естественно. Или я занимаюсь ерундой и не надо об этом думать?
ps я посмотрел документацию:
%MEM — Represents the percentage of physical memory used by the process.
т.е это RES

[Обновления: Sun, 17 November 2024 11:49]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5724 является ответом на сообщение #5723] Sun, 17 November 2024 15:19 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 415
Зарегистрирован: August 2022
Senior Member
Да, ты занимаешься ерундой, мучая неизвестный для тебя продукт. Телеметрия гораздо проще и эффективнее пишется в плоские тестовые файлы CSV/JSON/итд.
Re: Firebird 5.0.1 использование памяти [сообщение #5725 является ответом на сообщение #5724] Sun, 17 November 2024 15:52 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
SD писал(а) Sun, 17 November 2024 15:19
Да, ты занимаешься ерундой, мучая неизвестный для тебя продукт. Телеметрия гораздо проще и эффективнее пишется в плоские тестовые файлы CSV/JSON/итд.
Мне иногда кажется что "дружелюбность коммьюнити" и популярность open-source продуктов как-то связна. Вы прямо наглядный, хрестоматийный пример.
Re: Firebird 5.0.1 использование памяти [сообщение #5726 является ответом на сообщение #5723] Sun, 17 November 2024 19:25 Переход к предыдущему сообщениюПереход к следующему сообщению
basid в настоящее время в онлайне  basid
Сообщений: 166
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
IlyaT писал(а) Sun, 17 November 2024 16:35
мне как-то (может быть субъективно) кажется что для описанной ситуации такое использование даже VIRT не естественно
Не забыли, что: Установил 5.0.1 docker/linux. Все настройки по умолчанию, кроме AuthServer и WireCrypt (особенность клиента)?
По умолчанию Firebird 3+ работает в режиме SuperServer с 2048 страницами кэша (на базу), что даёт 64 МБ при максимальном размере страницы. Ещё до 64 МБ (в четвёрке и далее - тоже на базу) даёт буфер временных объектов.
Таким образом, если вы ничего не путаете (а технической информации от вас пока не было), то собственно сервер СУБД может занять что-то около четверти гигабайта в вашем случае и при самых запредельных предоположениях.
Следовательно, если у вас какое-то гигантское потребление памяти, то винить в этом вам нужно самого себя. Потому, что объекты клиентских подключений - зона ответственности программиста.

P.S.
Научитесь предосталять технически полезные сведения и любое сообщество, внезапно, окажется гораздо менее токсичными.
Re: Firebird 5.0.1 использование памяти [сообщение #5727 является ответом на сообщение #5726] Sun, 17 November 2024 20:11 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
IlyaT писал(а) Sun, 17 November 2024 16:35

Научитесь предосталять технически полезные сведения и любое сообщество, внезапно, окажется гораздо менее токсичными.
Я готов предоставить любую необходимую информацию, только не знаю какую конкретно надо предоставить. Вы скажите - я всё предоставлю что скажете. Из того, что вы сказали, вырисовывается что память съедают объекты клиентских подключений. Это похоже на правду - я посмотрел, в MON$ATTACHMENTS больше 500 записей, хотя, по моему разумению подключение должно быть примерно одно. Кажется что клиент не всегда закрывает соединения, но создает новые.
Я не совсем автор клиента (не хочу вас грузить лишними подробностями, но если надо то поясню подробнее) и ограничен в возможностях изменить что-либо с клиентской стороны.  Я добавил в конфиг
ConnectionIdleTimeout = 300
но кажется что это ничего не изменило.

[Обновления: Sun, 17 November 2024 20:22]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5728 является ответом на сообщение #5727] Mon, 18 November 2024 01:08 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
IlyaT
Я добавил в конфиг
ConnectionIdleTimeout = 300
но кажется что это ничего не изменило.
Сервер был после этого перезапущен ?
Состояние коннекта и его таймер можно видеть в MON$ATTACHMENTS:
- MON$STATE (attachment state)
 0: idle
 1: active
- MON$IDLE_TIMER (idle timer expiration time)


Re: Firebird 5.0.1 использование памяти [сообщение #5729 является ответом на сообщение #5727] Mon, 18 November 2024 01:12 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 364
Зарегистрирован: August 2022
Senior Member
IlyaT
Я добавил в конфиг
ConnectionIdleTimeout = 300
но кажется что это ничего не изменило.
И, кстати, это значение - в минутах:

firebird.conf
# ----------------------------
# Set number of minutes after which idle attachment will be disconnected by the
# engine. Zero means no timeout is set.
...
Re: Firebird 5.0.1 использование памяти [сообщение #5730 является ответом на сообщение #5727] Mon, 18 November 2024 03:55 Переход к предыдущему сообщениюПереход к следующему сообщению
fraks в настоящее время не в онлайне  fraks
Сообщений: 140
Зарегистрирован: June 2022
Географическое положение: Новосибирск
Senior Member
IlyaT писал(а) Mon, 18 November 2024 00:11
я посмотрел, в MON$ATTACHMENTS больше 500 записей, хотя, по моему разумению подключение должно быть примерно одно.
...
Я не совсем автор клиента (не хочу вас грузить лишними подробностями, но если надо то поясню подробнее) и ограничен в возможностях изменить что-либо с клиентской стороны.

При  таком подходе у вас ничего путного не выйдет.
Требуется дрючить писателя клиента до тех пор пока он не научится закрывать соединения, когда они не нужны.
Re: Firebird 5.0.1 использование памяти [сообщение #5731 является ответом на сообщение #5730] Mon, 18 November 2024 03:58 Переход к предыдущему сообщениюПереход к следующему сообщению
fraks в настоящее время не в онлайне  fraks
Сообщений: 140
Зарегистрирован: June 2022
Географическое положение: Новосибирск
Senior Member
Ну и в рамках этой темы, совет писАть телеметрию в плоские файлы - вполне хорош. Потом эти файлы можно и в базу загрузить, если потребуется. И раз вы не писатель клиента, то и ответственность будет разделена - писатель пишет в файлы, и то что он вам в файлах передал то вы к себе и загрузили. И никто кривыми ручками в базу писАть не лезет.

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

[Обновления: Mon, 18 November 2024 03:59]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5732 является ответом на сообщение #5729] Mon, 18 November 2024 08:43 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
hvlad писал(а) Mon, 18 November 2024 01:12
И, кстати, это значение - в минутах:
Место для мема "Вот это поворот!" Недоглядел. Ну тогда выходит что работает. Оставлю пока так. Спасибо, что обратили внимание.
Re: Firebird 5.0.1 использование памяти [сообщение #5733 является ответом на сообщение #5731] Mon, 18 November 2024 09:17 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
fraks писал(а) Mon, 18 November 2024 03:58

Вообще, по канонам, так и надо делать для телеметрии, ибо база дело такое, 100% быть в онлайне не может, иногда требуется обслуживание, во время которого данные будут утеряны т.к. база недоступна.
КМК это больше про скорость вставки. Понятно что "пакетно" вставлять быстрее чем "поштучно", но я специально обратил внимание, что у меня очень маленький поток.
Зато я могу в реальном времени получать данные на дашборде для чего это всё собственно и затевалось. В моём случае отсутствие сервера БД на некоторое время более чем допустимо, но даже если бы это было не так, мне было бы проще поставить ещё один сервер (можно вообще независимый от первого) и писать туда то же самое, чем городить отдельный костыль csv2firebird и присматривать за ним.
ps Каноны это вообще дело такое... Я эксплуатировал несколько относительно крупных промышленных систем уровня MES/SCADA и во всех случаях они писали ТМ непосредственно в БД. Другой вопрос, что это были другие БД типа Osisoft Pi, Cassandra, различные TSDB итп Но это опять же про скорость вставки.
Re: Firebird 5.0.1 использование памяти [сообщение #5735 является ответом на сообщение #5733] Mon, 18 November 2024 09:37 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
Промежуточный итог:
1. Я очень благодарен всем нетоксичным участникам обсуждения за конструктивные и полезные советы.
2. На данном этапе кажется, что "утечка памяти" связана с некорректной работой клиента, который не всегда закрывает за собой соединения.
3. Так как я не имею возможности повлиять на автора клиента (он анонимен и недоступен) - я пробую решить проблему установив в конфиге ConnectionIdleTimeout=5
4. Пока кажется, что это работает, но требуется некоторое время, чтобы убедиться что проблема решена. Я вижу что старые соединения закрываются сервером, но теперь надо понять что память "не утекает".
Re: Firebird 5.0.1 использование памяти [сообщение #5737 является ответом на сообщение #5733] Mon, 18 November 2024 15:51 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 415
Зарегистрирован: August 2022
Senior Member
IlyaT писал(а) Mon, 18 November 2024 07:17

Зато я могу в реальном времени получать данные на дашборде для чего это всё собственно и затевалось.
Для этой задачи тем более использовать SQL сервер... неправильное решение. Отображение в реальном время обеспечивают системы передачи сообщений типа Что-то-там-MQ.
Re: Firebird 5.0.1 использование памяти [сообщение #5738 является ответом на сообщение #5737] Mon, 18 November 2024 16:06 Переход к предыдущему сообщениюПереход к следующему сообщению
pastor в настоящее время не в онлайне  pastor
Сообщений: 83
Зарегистрирован: June 2022
Географическое положение: Калуга
Member
реалтайм - он разный бывает.
раз в сутки - тоже.

я вот события и датчики сразу в БД пишу.

это все потому, что нет встроенного http сервера с json Smile

[Обновления: Mon, 18 November 2024 16:06]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5739 является ответом на сообщение #5737] Mon, 18 November 2024 16:08 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
SD писал(а) Mon, 18 November 2024 15:51
IlyaT писал(а) Mon, 18 November 2024 07:17

Зато я могу в реальном времени получать данные на дашборде для чего это всё собственно и затевалось.
Для этой задачи тем более использовать SQL сервер... неправильное решение. Отображение в реальном время обеспечивают системы передачи сообщений типа Что-то-там-MQ.
А график как я из очереди сообщений построю?
И вы можете русским языком объяснить что значит "неправильное"? У меня есть потребности, я эти потребности каким-то образом закрываю, стараясь при этом потратить минимум человеческих (в первую очередь) и вычислительных (опционально) ресурсов. Что не так? Я в рай из-за этого не попаду? Или что?

[Обновления: Mon, 18 November 2024 16:16]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5740 является ответом на сообщение #5739] Mon, 18 November 2024 16:32 Переход к предыдущему сообщениюПереход к следующему сообщению
pastor в настоящее время не в онлайне  pastor
Сообщений: 83
Зарегистрирован: June 2022
Географическое положение: Калуга
Member
IlyaT писал(а) Mon, 18 November 2024 16:08
SD писал(а) Mon, 18 November 2024 15:51
IlyaT писал(а) Mon, 18 November 2024 07:17

Зато я могу в реальном времени получать данные на дашборде для чего это всё собственно и затевалось.
Для этой задачи тем более использовать SQL сервер... неправильное решение. Отображение в реальном время обеспечивают системы передачи сообщений типа Что-то-там-MQ.
А график как я из очереди сообщений построю?
И вы можете русским языком объяснить что значит "неправильное"? У меня есть потребности, я эти потребности каким-то образом закрываю, стараясь при этом потратить минимум человеческих (в первую очередь) и вычислительных (опционально) ресурсов. Что не так? Я в рай из-за этого не попаду? Или что?
человек пытается переманить Вас на светлую сторону силы и сделать так, чтобы Ваши данные попадали в БД в несколько этапов.

чуждый Вам клиент складывает поминутные данные в текстовый файлик.
а дружественный демон смотрит такие файлики и складывает их в БД. а если их нет - вопиЕт об оном.

так достигается изоляция БД от кого попало. реалтайм и благорастворение воздухов.

[Обновления: Mon, 18 November 2024 16:32]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5741 является ответом на сообщение #5740] Mon, 18 November 2024 16:48 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
pastor писал(а) Mon, 18 November 2024 16:32
так достигается изоляция БД от кого попало. реалтайм и благорастворение воздухов.
Т.е. мне надо:
1. Перенастроить чуждый клиент, который на данный момент уже работает с приемлемым для меня качеством
2. Написать дружественный демон, дело не хитрое, но какое-то время займёт в любом случае
3. Следить за дружественным демоном, может быть даже какой-то мониторинг вокруг него навертеть
Чтобы что? Какой профит кроме благорастворения ?
Типа надо еще немножечко потрахаться только для того чтобы данные попадали на дашборд чуть позже чем сейчас?
Re: Firebird 5.0.1 использование памяти [сообщение #5742 является ответом на сообщение #5741] Mon, 18 November 2024 17:51 Переход к предыдущему сообщениюПереход к следующему сообщению
shalamyansky в настоящее время не в онлайне  shalamyansky
Сообщений: 150
Зарегистрирован: August 2022
Senior Member
IlyaT писал(а) Mon, 18 November 2024 16:48
Какой профит кроме благорастворения ?
Очевидно, тот профит, что решит проблему, с которой вы сюда обратились. Заодно предотвратит другие очень вероятные проблемы. Развязка слоев никогда не повредит.

Сообщество едкое, но для дела полезное. Спасибо им.
Re: Firebird 5.0.1 использование памяти [сообщение #5744 является ответом на сообщение #5735] Mon, 18 November 2024 20:26 Переход к предыдущему сообщениюПереход к следующему сообщению
basid в настоящее время в онлайне  basid
Сообщений: 166
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
IlyaT писал(а) Mon, 18 November 2024 14:37
я не имею возможности повлиять на автора клиента (он анонимен и недоступен)
Использовать в разработке древний и заброшенный проект - так себе решение.
Нужный вам CRUD пилится много на чём: ява, питон, пых-пых, точка-нет и ODBC, с которым много чего умеет работать.
Re: Firebird 5.0.1 использование памяти [сообщение #5745 является ответом на сообщение #5744] Mon, 18 November 2024 22:37 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
basid писал(а) Mon, 18 November 2024 20:26
Использовать в разработке древний и заброшенный проект - так себе решение.
Не такой уж он и заброшенный -  в прошлом году обновлялся всего лишь )))
На самом деле, вы конечно правы. Просто у меня уже много логики на Node-Red накручено, поэтому тут правильнее было бы просто другую СУБД применить с более живыми коннекторами. Но в конечном итоге кажется что у меня все получилось (пусть и с небольшой суетой), ресурсов firebird потребляет меньше чем всё остальное. Так что все счастливы, танцуют и поют песни как в индийском фильме.

[Обновления: Mon, 18 November 2024 22:40]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5748 является ответом на сообщение #5739] Tue, 19 November 2024 01:59 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 415
Зарегистрирован: August 2022
Senior Member
IlyaT писал(а) Mon, 18 November 2024 14:08
А график как я из очереди сообщений построю?
Натурально, принимая поток данных, складывая его в массив, отрисовывая этот массив в битмап и отображая этот битмап на экране с частотой развёртки. С какой частью этого алгоритма у тебя проблема?

IlyaT писал(а) Mon, 18 November 2024 14:08

И вы можете русским языком объяснить что значит "неправильное"?
Есть множество инструментов, которые подходят для решения заданной задачи. Есть множество инструментов, которыми умеет пользоваться разработчик. Если эти множества пересекаются - задача решается правильно, то есть продукт выдаёт нужный результат быстро и стабильно. Если нет - начинается мучительное натягивание совы на глобус, задача решена неправильно, продукт корёжит, он жрёт память, другие ресурсы и далее по списку симптомов тобою описанных выше.

СУБД предназначены для долговременного хранения информации и её обработки. Телеметрия и реал-тайм отображение графиков - совершенно другие задачи, для решения которых следует использовать другие инструменты.
Re: Firebird 5.0.1 использование памяти [сообщение #5749 является ответом на сообщение #5748] Tue, 19 November 2024 08:18 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
SD писал(а) Tue, 19 November 2024 01:59
СУБД предназначены для долговременного хранения информации и её обработки.
Интересный у вас подход - самому придумывать нелепые определения, а потом возмущаться несовершенством окружающего мира, который отказывается им следовать.
зы Разработчики in-memory движков, которые есть уже и в большинстве популярных РБД:
https://habrastorage.org/getpro/habr/upload_files/aaf/131/157/aaf131157faa5c00a54b8e6b8e5f758f.png

[Обновления: Tue, 19 November 2024 08:22]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5750 является ответом на сообщение #5745] Tue, 19 November 2024 08:57 Переход к предыдущему сообщениюПереход к следующему сообщению
basid в настоящее время в онлайне  basid
Сообщений: 166
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
IlyaT писал(а) Tue, 19 November 2024 03:37
Не такой уж он и заброшенный -  в прошлом году обновлялся всего лишь )))
Обновлялся. В части, которая вообще никак не связана с СУБД Firebird.
node-red-contrib-node-firebird обновлялся более пяти лет назад. И то, что вам пришлось включить легаси-авторизацию - хороший такой маркер.
А ещё, пробежавшись по npm-зависимостям обнаружил, что:Цитата:
node-firebird 1.1.9
• Public
• Published 4 months ago
Pure JavaScript and Asynchronous Firebird client for Node.js
Changelog for version v0.2.x
   added auto-reconnect
   added sequentially selects
   events for connection (attach, detach, row, result, transaction, commit, rollback, error, etc.)
   performance improvements
   supports inserting/updating buffers and streams
   reading blobs (sequentially)
   pooling
   database.detach() waits for last command
   better unit-test
Т.е. клиент умел корректно отключаться от базы уже в версии 0.0.2.
А если заглянуть в гитхаб клиента, то Srp он научился около двух лет назад:Цитата:
release v1.1.0
   Srp implementation by @maratth in #242
Про Srp256 ничего не сказано, но - хотя бы так.

Резюмируем.
Если брать более-менее актуальную версию клиента Firebird для NodeJS, то она умеет и Srp и пул подключений.
Следовательно, если ваше приложение для NodeJS использует легаси-авторизацию и не освобождает подключения (путём закрытия или возврата в пул, если вы его используете), то это не проблемы клиента и уж тем более - не проблемы сервера.
Re: Firebird 5.0.1 использование памяти [сообщение #5751 является ответом на сообщение #5750] Tue, 19 November 2024 09:24 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
basid писал(а) Tue, 19 November 2024 08:57
Следовательно, если ваше приложение для NodeJS использует легаси-авторизацию и не освобождает подключения (путём закрытия или возврата в пул, если вы его используете), то это не проблемы клиента и уж тем более - не проблемы сервера.
У меня же не "приложение для NodeJS", у меня приложение для Node-Red, которое в свою очередь использует NodeJS.
Повторюсь: я абсолютно с вами согласен, что я использую не идеальный стек для этой задачи. Для этого есть причины - большое количество логики в проекте уже реализовано на Node-Red и я не хочу плодить новые сущности. В связи с тем что стек не идеален - возникли некоторые трудности, которые удалось решить при поддержке сообщества. Плохо что ли? Хорошо!
Re: Firebird 5.0.1 использование памяти [сообщение #5752 является ответом на сообщение #5751] Tue, 19 November 2024 11:31 Переход к предыдущему сообщениюПереход к следующему сообщению
fraks в настоящее время не в онлайне  fraks
Сообщений: 140
Зарегистрирован: June 2022
Географическое положение: Новосибирск
Senior Member
IlyaT писал(а) Tue, 19 November 2024 13:24

У меня же не "приложение для NodeJS", у меня приложение для Node-Red, которое в свою очередь использует NodeJS.
Повторюсь: я абсолютно с вами согласен, что я использую не идеальный стек для этой задачи.
При чем тут "не идеален"?
Тут было показано что выбранный стек совершенно достаточен для того что бы корректно работать с коннектами, выбранные инструменты это умеют. Нужно только ручки подвыпрямить.
Re: Firebird 5.0.1 использование памяти [сообщение #5753 является ответом на сообщение #5752] Tue, 19 November 2024 12:54 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
fraks писал(а) Tue, 19 November 2024 11:31

Тут было показано что выбранный стек совершенно достаточен для того что бы корректно работать с коннектами, выбранные инструменты это умеют. Нужно только ручки подвыпрямить.
Тут было показано что NodeJS это умеет, а я использую не NodeJS а "Node Red" (что очевидно не одно и то же).
Вы просто не представляете что из себя представляет коннектор для Node Red. Обратите внимание на документацию   https://flows.nodered.org/node/node-red-contrib-node-firebir d-role
Там в одном месте указываются креденшиалсы и адрес сервера, а в другое заталкиваются запросы.Всё! Никаких других возможностей там нет.Совершенно нечего выпрямлять. Автор flow не управляет соединениями, в теории этим должен заниматься коннектор.
Править исходный код коннектора я не готов если вы это имеете в виду под "выпрямлением ручек".

[Обновления: Tue, 19 November 2024 13:01]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5754 является ответом на сообщение #5753] Tue, 19 November 2024 15:45 Переход к предыдущему сообщениюПереход к следующему сообщению
basid в настоящее время в онлайне  basid
Сообщений: 166
Зарегистрирован: June 2022
Географическое положение: Asia/Irkutsk
Senior Member
Читайте, пожалуйста, внимательно, а не то, что вам хочется:Цитата:
Если брать более-менее актуальную версию клиента Firebird для NodeJS, то она умеет и Srp и пул подключений.
Следовательно, если ваше приложение для NodeJS ...
Клиент Firebird для NodeJS, приложение для NodeJS.

P.S.
Если я не умею готовить NodeJS, то это ещё не означает, что я совсем не понимаю, как он работает.
Re: Firebird 5.0.1 использование памяти [сообщение #5755 является ответом на сообщение #5754] Tue, 19 November 2024 16:04 Переход к предыдущему сообщениюПереход к следующему сообщению
IlyaT в настоящее время не в онлайне  IlyaT
Сообщений: 14
Зарегистрирован: November 2024
Junior Member
basid писал(а) Tue, 19 November 2024 15:45
Читайте, пожалуйста, внимательно, а не то, что вам хочется
Простите, но я правда не понимаю что вы мне хотите сказать. Я не разрабатываю под NodeJS, моё приложение не для NodeJS, я "разрабатываю" под Node Red. В Node Red я не могу управлять подключениями. В коннекторе нет такой функциональности.

[Обновления: Tue, 19 November 2024 16:05]

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

Re: Firebird 5.0.1 использование памяти [сообщение #5756 является ответом на сообщение #5755] Wed, 20 November 2024 04:05 Переход к предыдущему сообщениюПереход к следующему сообщению
fraks в настоящее время не в онлайне  fraks
Сообщений: 140
Зарегистрирован: June 2022
Географическое положение: Новосибирск
Senior Member
А покажи как ты заполняешь строку коннекта и какой запрос выполняешь в этом коннекторе.

Вот тут
https://github.com/phantom21/node-red-node-firebird/blob/mas ter/firebird.js
вроде есть закрытие коннекта после выполнения запроса.

               db.query(query, function(err,result) {
                   if (err) {
                       node.error(err);
                       done(err,result);
                   }
                   db.detach();
                   done(err,result);
               })
Может у тебя такие запросы что где-то валится ошибка, которая не обрабатывается, и в итоге db.detach(); не выполняется.
Re: Firebird 5.0.1 использование памяти [сообщение #5757 является ответом на сообщение #5756] Wed, 20 November 2024 04:16 Переход к предыдущему сообщению
fraks в настоящее время не в онлайне  fraks
Сообщений: 140
Зарегистрирован: June 2022
Географическое положение: Новосибирск
Senior Member
Тут тоже детач присутствует.
https://github.com/excedra/node-red-contrib-node-firebird-ro le/blob/master/firebird-db-role.js

Ну и наверное надо в этом Node Red включить логи и посмотреть что там пишется, со стороны коннектора Firebird.

[Обновления: Wed, 20 November 2024 04:17]

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

Предыдущая тема: gstat (windows) к базе на сервере ubuntu
Следующая тема: charset win1251 для isql в ubuntu
Переход к форуму:
  


Текущее время: Wed Dec 18 11:49:26 GMT+3 2024

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