powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / TCP-server - какие ограничения?
11 сообщений из 11, страница 1 из 1
TCP-server - какие ограничения?
    #39020275
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Опробовал эту технологию ( http://karataev.nm.ru/cache/mdapi.html ) на Caché Evaluation.
Впечатления самые хорошие, но опыта реальной работы под хорошей нагрузкой нету.
В связи с этим вопросы:

1.Сколько обслуживающих процессов может породить мастер-процесс(listener)? Ограничения лицензионные или аппаратные?

2.Когда клиент отключается, обслуживающий процесс закрывается. Для нового клиента будет порожден новый процесс.
Есть ли возможность не закрывать обслуживающий процесс при отключении клиента?
И, соответственно, не порождать новый процесс под нового клиента, а приконнектить TCP-клиента к ждущему процессу?
Т.е. иметь пул активных процессов.

3.Насколько существенны затраты ресурсов на создание/завершение процессов?
Для случая, когда сеансы короткие, типа передать один-два пакета -
80% создание процесса и 20% на передачу данных, или наоборот?
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39020306
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DirksDR ,

Хорошо бы ссылки перед публикацией проверять.
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39020384
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очевидно, имелось в виду: https://web.archive.org/web/20131105094134/http://karataev.nm.ru/cache/mdapi.html

P.S. Жаль, что сайт закрылся...
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39020420
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

Хостер прекратил поддерживать проект nm.ru.
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39020437
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не смотрел subj, но из общих соображений (если автор не ввёл своих ограничений):

- Cache' позволяет пользователю запустить до 25 процессов в рамках одной лицензионной единицы (ЛЕ); 26-й запущенный процесс приведёт к расходу 26 ЛЕ;

- способ идентификации пользователей зависит от версии Cache' и некоторых настроек механизма лицензирования; по умолчанию это обычно IP-адрес клиента;

- в однопользовательской версии потратить более 1 ЛЕ не получится;

- Cache' позволяет иметь пул рабочих процессов ОС, настройку ищите в Портале ( [Home] > [Configuration] > [Startup Settings] - параметр JobServers ). Это позволяет свести запуск/остановку процесса к инициализации его памяти и созданию/очистке записи в таблице процессов Cache', в ОС он будет запущен при старте Cache' и в дальнейшем завершаться не будет.
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39021893
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

Спасибо, Алексей.
Про пул почитаю.
Вы сами этим пользовались? Прирост производительности имеет место?
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39022351
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий, практически не пользовался.

Когда-то давно во времена Cache 5.0 была задача, где часто запускались JOBы, что навело на мысль воспользоваться JobServers, но в текущем релизе была ошибка (утечка памяти, ЕМНИП) и предупреждение от ISC фичей пока не пользоваться. Когда ошибку исправили, проект уже был сдан, и настройки решено было не трогать.

В дальнейшем я поостыл к этой идее. Соображения такие. В Cache нет команды "запустить job из пула", поэтому пулом пользуются все: суперсервер, CSP, и т.д. Если вы делаете небольшой пул, "основному потребителю" может его и не хватить. Значит, придётся делать пул с запасом, учитывая максимальное количество параллельных JOBов. Иметь множество запущенных процессов ОС, которые пусть даже ничего не делают, но всё равно занимают память, согласитесь, тоже не лучший вариант.

Сейчас мне больше нравится иметь ограниченный набор рабочих процессов (обычно не более количества доступных ядер), которые получают задания на обработку из общего источника. Примерно так работают CSP, DeepSee и некоторые утилиты InterSystems. Тогда время обработки заданий отдельным JOBом становится заведомо больше временных затрат на его запуск, и снижаются накладные расходы на диспетчеризацию большого количества JOBов, каждый из которых выполняет какую-то мелочь.
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39022598
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey MaslovСоображения такие. В Cache нет команды "запустить job из пула", поэтому пулом пользуются все: суперсервер, CSP, и т.д. Если вы делаете небольшой пул, "основному потребителю" может его и не хватить. Значит, придётся делать пул с запасом, учитывая максимальное количество параллельных JOBов. Иметь множество запущенных процессов ОС, которые пусть даже ничего не делают, но всё равно занимают память, согласитесь, тоже не лучший вариант.

Сейчас мне больше нравится иметь ограниченный набор рабочих процессов (обычно не более количества доступных ядер), которые получают задания на обработку из общего источника. Примерно так работают CSP, DeepSee и некоторые утилиты InterSystems. Тогда время обработки заданий отдельным JOBом становится заведомо больше временных затрат на его запуск, и снижаются накладные расходы на диспетчеризацию большого количества JOBов, каждый из которых выполняет какую-то мелочь.


Вставлю свои пять копеек по JOB.
Первое . Да имеется ограничение на количество одновременно запущенных, точнее на количество СРАЗУ запускаемых.
ПК не справляется и виснет.
Если делать их с задержкой хотя бы по 5 сек (пакетами по 5-10 штук), то можно запускать хоть 100, без изменения настроек в Каше.

Второе - по поводу кол-ва лицензий. Можно их "устаканить", если запускать через основную программу как if (sek1#300)=0 {Job Analiz^DohodVnutriDna}   // где ^DohodVnutriDna - отдельно запускаемый процесс (программа)

                     //а сама программа DohodVnutriDna начинается 

Analiz //(как метка начала программы - иначе запускаться не будет)
 
                   //и выходим из программы через
  Halt
  Quit В этом случае - отнимание лицензий не происходит. У меня эта программа запускается каждые 5 минут в течении 9 часов. Кол-во активированный лицензий не меняется (стабильно), чего не скажешь, если запускать постоянно Studio и Terminal, вот они за час работы (при постоянном входе-выходе) могут запросто съесть все лицензии.

Но в любом случае, вам придется менять настройки памяти в Каше, чтобы она не висла (увеличивать её). С настройками по умолчанию, тяжелые приложения напрочь стопорят работу Cache.
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39022632
О-О-О
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Количество всех процессов пользователя не может превышать кол-во лицензий умноженное на 24 и минус 1
Если 4 лицензии, то 4*24-1=96-1=95 одновременно запущенных процесса.
Важно учесть ЕЩЕ одну особенность.
КАЖДОЕ соединение по DDE и по ODBC также воспринимаются Cache как одна лицензия.


Есть еще подводные камни. Так если вы заходите в локальный сервер для просмотра графика, то каждый заход-выход отнимает одну лицензию. Можно четыре раза зайти, чтобы посмотреть график - и у вас отнимается 4 лицензии, даже если в текущее время все графики закрыты полностью!!!
ПРИ ЗАХОДЕ В ПЯТЫЙ РАЗ вас уже не пустят, так как ВСЕ ЛИЦЕНЗИИ ЗАНЯТЫ, хотя по факту - ничего не работает!!!
Через 30-60 минут, Каше обнуляет счётчик используемых лицензий.
Поэтому, рекомендуется для пользователей создать учетную запись, и тогда лицензии не отнимаются (если закрыли-открыли окно заново), могут отниматься всевдо лицензии (лицензия на поток из 24 остаться 23 или 22). То же самое касается и Terminal.
В первое время очень сильно по этому поводу напрягался, потом понял в чём дело и проблема решилась.
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39022672
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О-О-ОКоличество всех процессов пользователя не может превышать кол-во лицензий умноженное на 24 и минус 1
Если 4 лицензии, то 4*24-1=96-1=95 одновременно запущенных процесса.Если вы имели в виду процессы всех пользователей , то 25*Max_Licensed, в вашем случае 100, считая "запускающие" процессы. Т.е. каждый пользователь, вошедший через терминал, CacheActiveX, etc (практически всё кроме CSP), может запустить ещё 24 процесса.
О-О-ОКАЖДОЕ соединение по DDE и по ODBC также воспринимаются Cache как одна лицензия.Точнее, как ещё одно соединение соответствующего пользователя. Это не означает автоматического списания ещё одной ЛЕ, т.к. если пользователь уже был активен на момент установления нового соединения, списания ЛЕ не будет до тех пор, пока не будет запущено суммарно 25 процессов. На 26-й раз спишется сразу 25 ЛЕ. С маленькой лицензией этого не прочувствуешь, будет просто отказ в соединении.
О-О-ОЕсть еще подводные камни. Так если вы заходите в локальный сервер для просмотра графика, то каждый заход-выход отнимает одну лицензию. Можно четыре раза зайти, чтобы посмотреть график - и у вас отнимается 4 лицензии, даже если в текущее время все графики закрыты полностью!!!Скорее всего, CSP Grace Period, на эту тему немало копий было сломано, но сейчас документировано вполне нормально.
...
Рейтинг: 0 / 0
TCP-server - какие ограничения?
    #39022737
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov, О_О_О
Спасибо ответившим, информация к размышлению получена:)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / TCP-server - какие ограничения?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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