powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Низкая производительность CSP
23 сообщений из 23, страница 1 из 1
Низкая производительность CSP
    #32925160
eugene_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огорчает низкая производительность CSP на Cache 4.
Больше 15 одновременных обращений к странице CSP - или выдает ошибку о недоступности ресурса, или задержка на секунд 15.



Тестировали следующим образом.
Apache Jakarta JMeter - 15 одновременных потоков.
Страница samples/точно_не_помню.csp (самый первых пример, тот что графиком)
Компьютер: Cel 2400, 256RAM, Win2000prof
На Cache автокомпиляция CSP отключена.

На том же самом железе java 1.5, TOMCAT 5, приложение на tapestry 3.0, которое работает с данными, хранящимися в Cache.
Спокойно обрабатывает 50 одновременных запросов.

Кто-нибудь реально работал на CSP под Cache4?
Что с производительностью?
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32926789
Hoar Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте определить некоторое количество первоначально запущенных фоновых процессов- возможно, время тратится на их создание в операционной системе при осуществлении новых соединений.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32926813
eugene_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо, попробую.
Хотя даже при одном потоке страница (samples/custom.jsp) выдается примерно за 1 секунду.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32927087
Hoar Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Некоторый затык при первом обращении может вызвать наличие #server()# - будет идти подгрузка апплета
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32929356
eugene_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовали увеличить количество фоновых процессов на 20 и на 200. Результат тот же.

Выяснилось, что после запуска JMeter с количеством потоков 15, при подключении к Cache через терминал выдается следующее сообщение "USER LICENSES EXCEDED" и терминал закрывается. Очень странно, т.к. количество лицензий на сервере в несколько раз больше, чем 15.

Также при подключении из Java с использованием ObjectFactory происходит задержка при установки соединения около 1-2 секунд.

Чтобы избежать внедрения апплетов в код HTML, генерируемый CSP, написали следующих код.
Код: plaintext
1.
2.
3.
4.
5.
<html>
 <body>
  <p> Test </p>
 </body>
</html>

Самое страшное , что иногда CSP выдает ошибку о недоступности страницы при работе JMeter.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32938306
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений,

У меня к Вам несколько вопросов:
Почему Вы тестируете версию, которая вышла 3 года назад?
У Вас есть какая-то готовая система на Cache' 4, производительность которой Вас не устраивает?
Зачем Вы тестируете? Если хотите делать новую систему, то советую обратиться в InterSystems. Вам поможет технический консультант. Это будет гораздо эффективнее.

CSP-страницы в Cache - это классы Cache'. Когда идет обращение к странице, у соответствующего класса Cache' выполняется соответствующий метод.

Есть несколько вариантов работы. Они могут всегда компилироваться при обращении к странице, компилироваться, если произошли изменения, никогда не компилироваться. Может быть у Вас страницы всегда компилируются.

Еще один вариант - увеличить количество процессов Cache', в которых обрабатывается CSP-запросы. 200 - слишком много. Как правило 20-40 вполне достаточно.

Кстати, если Вы хотите работать на Java, у Cache' есть JDBC и объектный интерфейс Java Binding (http://platinum.intersystems.com/csp/docbook/DocBook.UI.Page.cls?KEY=GCJB). Попробуйте с ним поработать.
Но он значительно улучшился в 5-ой версии, так что на старой использовать не стоит.

С уважением, Вадим
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32945046
eugene_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вадим.

Ситуация следующая.
Я помогаю одной организации перейти на web-серверную техноголию. У них уже есть программа написанная на DTM, работающая на алфавитно-цифровых терминалах. Данные находятся на Cache. Т.к. опыт написанию на CacheScript у них огромных (более 10 лет), то принято решение использовать CSP.
Cache 4 у них купленная. Срок поддержки (по их словам) закончен.
Производительность Cache при обработке данных устраивает всех.

VadimFЕсть несколько вариантов работы. Они могут всегда компилироваться при обращении к странице, компилироваться, если произошли изменения, никогда не компилироваться. Может быть у Вас страницы всегда компилируются.

Компиляция CSP-страниц отключена.

VadimF
У Вас есть какая-то готовая система на Cache' 4, производительность которой Вас не устраивает?

Производительность существующего приложения достаточная.
Однако на новых компьютерах клиент DTMax не запускается.
А при использовании CSP - выдача сервером Cache страниц HTML очень низкая.

VadimF
Почему Вы тестируете версию, которая вышла 3 года назад?

Эта версия уже куплена.

VadimF
Кстати, если Вы хотите работать на Java, у Cache' есть JDBC и объектный интерфейс Java Binding (http://platinum.intersystems.com/csp/docbook/DocBook.UI.Page.cls?KEY=GCJB).

Выполнение пустого метода класса Cache из Java через ObjectFactory занимает около 5 мс. Это устравивает. Подключение к базе - около 2 сек. Дальше подключения кешируются. С доступом из Java проблем нет.
Просто переучивание сотрудников на Java займет много времени.


С уважением, Евгений
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32945734
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как Вы запрашиваете страницы,
напрямую от Cache через 1972 порт или
через веб сервер?
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32945886
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eugene_sСамое страшное , что иногда CSP выдает ошибку о недоступности страницы при работе JMeter.
Скорее всего это происходит потому, что клиент не поддерживает куки или еще что-то, что используется механизмом csp для выделения лицензий. При первом подключении клиента лицензия выделяется. При последующем подключении csp пытается определить была ли выделена лицензия или нет. Если у него это "не получается", то он выделяет новую. Если лизензии кончились, то запрос отвергается. Это недоработка в механизме лицензирования csp. Фактически, достаточно простейшего скрипта на перле чтобы на некоторое время вывести сайт на csp в состояние недоступности для новых подключений. И пока не кончатся грейс-периоды аллокированных слотов лицензий, новые подключения будут отвергаться. Разработчики Интерсистемс в курсе проблемы. Но как-то вяло шевелятся. Дают отписки что эта проблема должна закрываться сторонними средствами, административными, что в рамках интранет системы это нормально, но большинство эксплуатационников это не устраивает. Решения этой проблемы пока не существует.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32945899
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжение темы исчерпания лицензий - в принципе, есть шанс самостоятельно контролировать распределение лицензионных слотов, выставив в каждой csp странице работу со слотами врукопашную. Курим $System.License. И поискать в интернете учебные материалы по csp. Возможно, на каких-то семинарах этот вопрос освещался.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32946398
Hoar Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Куки тут не причем - если браузер не разрешает сохранять куки, то идентификатор сессии передается в строке браузера.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32946417
Hoar Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я[quot eugene_s]Самое страшное , что иногда CSP выдает Фактически, достаточно простейшего скрипта на перле чтобы на некоторое время вывести сайт на csp в состояние недоступности для новых подключений. И пока не кончатся грейс-периоды аллокированных слотов лицензий, новые подключения будут отвергаться.


На всякий случай - Если я правильно понял, перловый скрипт должен забивать соединениями Cache-сервер. Тогда так:
Перл соединяется с Cache только посредством ODBC, а там нет никаких грейс-периодов, как только он (клиент) отвалится, его лицензионные слоты немедленно освободятся.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32946515
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hoar FrostКуки тут не причем - если браузер не разрешает сохранять куки, то идентификатор сессии передается в строке браузера.
Да. Продолжим мысль - а если клиент не намерен передавать идентификатор сессии в строке запроса и обращается каждый раз к одной и той же csp странице, то...
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32946534
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hoar FrostНа всякий случай - Если я правильно понял, перловый скрипт должен забивать соединениями Cache-сервер. Тогда так:
Перл соединяется с Cache только посредством ODBC, а там нет никаких грейс-периодов, как только он (клиент) отвалится, его лицензионные слоты немедленно освободятся.
1) ничего он не должен, и речь не про cache сервер, а про csp демон и лицензии
2) речь ведем не про odbc, а про http запросы к csp странице посредством штатного csp демона

Чтобы не быть голословным, изучите, например, такую ситуацию:
Код: plaintext
1.
2.
3.
4.
5.
use LWP::Simple;
for(;;)
{
   print get("http://server/path/page.csp");
}
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32946706
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hoar FrostКуки тут не причем - если браузер не разрешает сохранять куки, то идентификатор сессии передается в строке браузера.

такой возможности в 4ой каше нет, если отключены кукисы, то работать не будет (там где они нужны)
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32947016
Hoar Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сори, не прав. Действительно, в 4-ке только куки. Тем более повод переходить на Cache 5.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32947302
eugene_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maksim UMА как Вы запрашиваете страницы,
напрямую от Cache через 1972 порт или
через веб сервер?
Через 1972
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32947304
eugene_s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я
Чтобы не быть голословным, изучите, например, такую ситуацию:
Код: plaintext
1.
2.
3.
4.
5.
use LWP::Simple;
for(;;)
{
   print get("http://server/path/page.csp");
}

Тест на Jakarta JMeter делает именно это.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32947871
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
eugene_s Maksim UMА как Вы запрашиваете страницы,
напрямую от Cache через 1972 порт или
через веб сервер?
Через 1972
Насколько я помню, не рекомендуется использовать этот способ для
реальной работы.
Более корректно было бы через веб сервер.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32962008
aou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
aou
Гость
Самое простое решение проблемы с лицензиями - переопределение метода OnPreHTTP() на

Код: plaintext
1.
2.
     
    set tOk=%session.Login(%request.GetCgiEnv("REMOTE_ADDR"),"", 1 )
    quit $$$OK

Грубо говоря - мы заставляем Cache' считать сессии не на основании сессии браузера, а на основании IP адреса.

Для удобства можно внести этот код в Супер-Класс для CSP страниц по умолчанию.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32962866
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aouСамое простое решение проблемы с лицензиями - переопределение метода OnPreHTTP() на

Код: plaintext
1.
2.
     
    set tOk=%session.Login(%request.GetCgiEnv("REMOTE_ADDR"),"", 1 )
    quit $$$OK

Грубо говоря - мы заставляем Cache' считать сессии не на основании сессии браузера, а на основании IP адреса.

Для удобства можно внести этот код в Супер-Класс для CSP страниц по умолчанию.
При массовой атаке это не спасет.
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32962933
darkexpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я
При массовой атаке это не спасет.

Этот подсчет лицензий полный идиотизм. Выполнить DoS проще некуда. Чем вообще думают разработчики? Явно не головой
...
Рейтинг: 0 / 0
Низкая производительность CSP
    #32966197
aou
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
aou
Гость
darkexpert ну я
При массовой атаке это не спасет.

Этот подсчет лицензий полный идиотизм. Выполнить DoS проще некуда. Чем вообще думают разработчики? Явно не головой

Тип лицензий при которых количество пользователей считается рассчитан на ситуацию интранет, в которой существует _известное_ количество пользователей. Для открытого интернет, в котором возможны атаки существуют другие типы лицензий. Поговорите с представителями IS.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Низкая производительность CSP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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