Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Низкая производительность CSP / 23 сообщений из 23, страница 1 из 1
20.02.2005, 21:21
    #32925160
eugene_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Огорчает низкая производительность 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
21.02.2005, 17:00
    #32926789
Hoar Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Попробуйте определить некоторое количество первоначально запущенных фоновых процессов- возможно, время тратится на их создание в операционной системе при осуществлении новых соединений.
...
Рейтинг: 0 / 0
21.02.2005, 17:07
    #32926813
eugene_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Хорошо, попробую.
Хотя даже при одном потоке страница (samples/custom.jsp) выдается примерно за 1 секунду.
...
Рейтинг: 0 / 0
21.02.2005, 19:06
    #32927087
Hoar Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Некоторый затык при первом обращении может вызвать наличие #server()# - будет идти подгрузка апплета
...
Рейтинг: 0 / 0
22.02.2005, 21:27
    #32929356
eugene_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Попробовали увеличить количество фоновых процессов на 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
01.03.2005, 12:16
    #32938306
VadimF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Евгений,

У меня к Вам несколько вопросов:
Почему Вы тестируете версию, которая вышла 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
04.03.2005, 00:09
    #32945046
eugene_s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Вадим.

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


На всякий случай - Если я правильно понял, перловый скрипт должен забивать соединениями Cache-сервер. Тогда так:
Перл соединяется с Cache только посредством ODBC, а там нет никаких грейс-периодов, как только он (клиент) отвалится, его лицензионные слоты немедленно освободятся.
...
Рейтинг: 0 / 0
04.03.2005, 14:48
    #32946515
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Hoar FrostКуки тут не причем - если браузер не разрешает сохранять куки, то идентификатор сессии передается в строке браузера.
Да. Продолжим мысль - а если клиент не намерен передавать идентификатор сессии в строке запроса и обращается каждый раз к одной и той же csp странице, то...
...
Рейтинг: 0 / 0
04.03.2005, 14:53
    #32946534
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
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
04.03.2005, 15:43
    #32946706
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Низкая производительность CSP
Hoar FrostКуки тут не причем - если браузер не разрешает сохранять куки, то идентификатор сессии передается в строке браузера.

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

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

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

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

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

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

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

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

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

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

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


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