Переключение на Главную Страницу Страницы: 1 [2] 3 4 ... 7 ОтправитьПечать
Очень популярная тема (более 25 ответов) Сервер приложений для v7 (число прочтений - 24191 )
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #15 - 16. Мая 2007 :: 07:49
Печать  
Uzhast писал(а) 16. Мая 2007 :: 07:26:
Есть ведь некоторый предел на количество одновременно запущенных одинэсов. Как собираешься это решать?

Ты имеешь ввиду ограниченное количество GDI-объектов на систему?
Никак не собираюсь решать.
Можно опытным путем нащупать максимальное количество экземпляров 1С (допустим n) и установить максимальный размер пула скажем n-3.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #16 - 16. Мая 2007 :: 07:52
Печать  
steban писал(а) 16. Мая 2007 :: 07:49:
Ты имеешь ввиду ограниченное количество GDI-объектов на систему?
Никак не собираюсь решать.
Можно опытным путем нащупать максимальное количество экземпляров 1С (допустим n) и установить максимальный размер пула скажем n-3.

Подозреваю, ограничение будет сильно разным в зависимости от конфигурации Улыбка А разделить по, например, разным терминальным сессиям никак? Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Сервер приложений для v7
Ответ #17 - 16. Мая 2007 :: 07:57
Печать  
Братцы, ограничение GDI и USER объектов нас не должно волновать.

Ограничение в 10000 на процесс в этом режиме никогда не будет достигнуто
(какой смысл открывать формы и выводить таблицы в серверном процессе?)  Язык

А общей лимит для всех процессов можно установить любым (сам тестировал для 40000).
Я на эту тему в тех форуме приводил рецепт.

Кстати, надо его вытащить сюда в какой-нибудь FAQ.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #18 - 16. Мая 2007 :: 07:59
Печать  
steban писал(а) 16. Мая 2007 :: 07:43:
Через WMI можно стартовать/останавливать COM+ приложения.

Можно еще так:
Код
Выбрать все
set ComPlus = createobject("COMAdmin.COMAdminCatalog")
set Pril=ComPlus.GetCollection("Applications")
Pril.Populate()
PrCount=pril.Count - 1
for each f1 in Pril
    if f1.Name="1CV8" then
	  ComPlus.ShutDownApplication(f1.Name)
    end if
next 


Код отсюда.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #19 - 16. Мая 2007 :: 08:01
Печать  
kms писал(а) 16. Мая 2007 :: 07:57:
Братцы, ограничение GDI и USER объектов нас не должно волновать.

Не факт, что это GDI и USER. Как-то давно сталкивался, что не мог открыть несколько Комплексных (просто запустить не мог). А с другими конфами все было нормально. Так что, ограничение может вызываться чем-то другим, связанным с тяжестью конфы. Правда, это было давно на старых релизах. Так что, надо это дело тщательно протестировать, ИМХО.
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #20 - 16. Мая 2007 :: 08:09
Печать  
Uzhast писал(а) 16. Мая 2007 :: 07:52:
Подозреваю, ограничение будет сильно разным в зависимости от конфигурации Улыбка

Правильно, но ограничения на размер пула определяет не компонент, а тот, кто его устанавливает.

Uzhast писал(а) 16. Мая 2007 :: 07:52:
А разделить по, например, разным терминальным сессиям никак? Улыбка

В смысле?..... Службы терминалов тут не используются....

А вообще, на сайте MS пишут, что при помощи Microsoft Application Center можно организовать COM+ Application Cluster с балансировкой нагрузки
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #21 - 16. Мая 2007 :: 08:15
Печать  
steban писал(а) 16. Мая 2007 :: 08:09:
В смысле?..... Службы терминалов тут не используются....

А вообще, на сайте MS пишут, что при помощи Microsoft Application Center можно организовать COM+ Application Cluster с балансировкой нагрузки

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

По поводу кластера. Допустим, есть некое ограничение на количество одинэсов. При максимальном количестве 1С сервер загружается на 10%. Для чего здесь кластер? Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Сервер приложений для v7
Ответ #22 - 16. Мая 2007 :: 08:34
Печать  
Uzhast

Заинтриговал, кстати.

Проблемы GDI/USER известны, вопрос лимита количества открытых файлов на сервере - тоже.
Ну... еще проблема с контейнерами при объединении толстых конфигураций под NT...
А что было в твоем-то случае? Тема xxx не раскрыта Подмигивание


P.S.
У меня вчера тоже сервер Степана сразу не заработал.
Точнее, с сервером все ОК, а вот вызывать методы AppDispatch вообще не получалось.
Потом выяснил, что у v77.Application те же грабли, т.е. вообще что-то с работой 1С через OLE.

Уже думал, что глюк 27 релиза; закрыл все, запустил заново - заработало...
Что это было - не знаю, видимо как говорит fez, "shit happens".
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #23 - 16. Мая 2007 :: 08:42
Печать  
kms писал(а) 16. Мая 2007 :: 08:34:
Проблемы GDI/USER известны, вопрос лимита количества открытых файлов на сервере - тоже.
Ну... еще проблема с контейнерами при объединении толстых конфигураций под NT...
А что было в твоем-то случае? Тема xxx не раскрыта Подмигивание

ХЗ. Может, зря я панику поднимаю? Улыбка В общем, дело было лет 5 назад в NT4 Workstation. Базы запускались локально. Так что, количество файлов не при чем вроде... Может, на NT4 максимальное количество GDI-объектов меньше?... А у Комплексных вроде меню особо жирные Улыбка Может, они так влияли...
Но все равно, если дело в GDI, то берем 10 баз 1С и запускаем на каждую 10 экземпляров 1С. Каждый экземпляр пусть съедает 200 GDI-объектов. Получаем, что всего одинэс сожрет 20000 объектов. Максимальное количество превышено. А как его можно увеличить?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #24 - 16. Мая 2007 :: 08:53
Печать  
Uzhast писал(а) 16. Мая 2007 :: 08:01:
Не факт, что это GDI и USER. Как-то давно сталкивался, что не мог открыть несколько Комплексных (просто запустить не мог).

Скорее всего именно в GDI и была проблема.
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #25 - 16. Мая 2007 :: 09:04
Печать  
Arta писал(а) 16. Мая 2007 :: 08:53:
Скорее всего именно в GDI и была проблема.

Может, и в GDI... Но как-то проскальзывала тема на Т1С, что человек не мог запустить 1С больше 8 раз. А такое количество 1С съедает совсем мало GDI-объектов. Так что, дело может быть и в чем-то другом...
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #26 - 16. Мая 2007 :: 10:37
Печать  
Провел эксперимент:
ОС-WinXP SP2
1С-77025.
На сервере приложений настроен запуск файловой ТиС.
Поставил минимальный размер пула - 30.
При старте запустилось 5 экземпляров 1С. 6-й никак не мог запуститься и пожирал 100% процессорного времени.
Закрыл другие приложения - запустилось 8 экземпляров. Каждый экземпляр 1cv7s.exe занимал ~400 объектов GDI.

Вывод:
а хрен его знает, какой из этого вывод. Может быть, действительно, затык не в ограничениях на GDI.
Завтра поэкспериментирую на серверной оси и SQL-ной 1С.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Сервер приложений для v7
Ответ #27 - 16. Мая 2007 :: 11:28
Печать  
steban писал(а) 16. Мая 2007 :: 10:37:
Провел эксперимент:
ОС-WinXP SP2
1С-77025.
На сервере приложений настроен запуск файловой ТиС.
Поставил минимальный размер пула - 30.
При старте запустилось 5 экземпляров 1С. 6-й никак не мог запуститься и пожирал 100% процессорного времени.
Закрыл другие приложения - запустилось 8 экземпляров. Каждый экземпляр 1cv7s.exe занимал ~400 объектов GDI.

Еще один вариант теста.
Мин. размер поставил = 1, макс. размер = 50.

Потом из 1С запустил такой скрипт:
Код
Выбрать все
	_нум =40; // у меня max = 31

	v7 =0;
	Если _нум >0 Тогда
		_сп =СоздатьОбъект("СписокЗначений");
		Для _ин =1 По _нум Цикл
			v7=CreateObject("v7AppServer.Connection");
			Сообщить("Итерация: " +Строка(_ин) +" " +v7.AppDispatch.EvalExpr("ТекущееВремя()"));
			_сп.ДобавитьЗначение(v7);
		КонецЦикла;
	КонецЕсли;
 


На 31 закончилось видать число объектов, общее для всей системы (даже меню в других процессах перестало отрисовываться).
W2k3 R2 Svr Sp1, 1Cv7s R27, локальная DBF база, ~400 файлов, ~400 USER, ~100 GDI на сеанс.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Сервер приложений для v7
Ответ #28 - 16. Мая 2007 :: 11:33
Печать  
kms писал(а) 16. Мая 2007 :: 11:28:
Еще один вариант теста.

А что за конфа открывалась?
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Сервер приложений для v7
Ответ #29 - 16. Мая 2007 :: 11:36
Печать  
Uzhast писал(а) 16. Мая 2007 :: 11:33:
А что за конфа открывалась?

ТиС9
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 ... 7
ОтправитьПечать