Имя: Пароль:
1C
1С v8
1с 8.3 (sql) + Hyper-v
, ,
0 janetland
 
09.09.14
18:08
Привет всем.
Задача следующая: поднять на виртуальной машинке сервер терминалов для клиентов 1с 8.3, завязать его на физический сервер sql 2008 r2.

Ввиду своей хомячной натуры, жалко отдавать всю железку под работу 10 клиентов 1с. Настройки виртуалки следующие: windows 2008 R2 стандарт, 10240-20480 динамика по памяти, 1 проц. Система на которой живет сама виртуалка: 2008 ентерпрайз R2, 48гига памяти, 2х процессорный хеон 2.53 Е5649.

Сервер приложений 1с живет тут же, на виртуальной машинке с терминалкой. В настройках указано - Локальный кластер, режим распределения нагрузки - по памяти. Стояло по производительности, но в один прекрасный момент при выполнении отчета он сожрал всю память, и не пускал _никого_ из клиентов - "недостаточно свободной памяти 1с сервера для выполнения операции".

Забавно наблюдать следующую картину: сколько виртуальной машине не выделяй памяти, (доходило до 30 гигов), что в режиме динамики что жестко задано, постоянно в терминале hyper-v наблюдаю картину "требуется памяти".

Вопрос следующий: какие настройки оптимальны для 1с 8.3 (релиз платформы последний 8.3.5.1117), для hyper-v? Или уже необходимо смотреть в сторону кластера 1с серверов, апгрейда железок (другое)?
Сиквельная база 8гигов, не бог весть что, бывало и больше.
Какие будут предложения по использованию оного у все-знающего all?
1 ДенисЧ
 
09.09.14
18:24
Удачи вам, мистер Горски.

Иппитесь сами со своими извращениями.
2 janetland
 
10.09.14
11:01
Денис, познавательный ответ. Если в Вашей организации до сих пор не знают что такое виртуализация и с чем ее едят - советую сходить на курсы. Узнаете много нового.

На нагруженной базе 1с 8.2 (сиквел) в 200гигов при порядка 100-150 пользователях такого отъедания памяти не видал, а тут приходится танцевать с бубном и грешить на программисткий код..
3 ansh15
 
10.09.14
13:09
>>в один прекрасный момент при выполнении отчета он сожрал всю память, и не пускал _никого_ из клиентов
Хороший отчет. Имеет смысл посмотреть, что с ним не так.
Ну, памяти добавьте, раза в два, хотя бы, может быть успокоится... В плане виртуализации присоединюсь к (1)
4 antistaks
 
10.09.14
13:15
>>Забавно наблюдать следующую картину: сколько виртуальной машине не выделяй памяти, (доходило до 30 гигов), что в режиме динамики что жестко задано, постоянно в терминале hyper-v наблюдаю картину "требуется памяти".
+(1) Удачи вам, мистер Горски 2
5 ikea
 
10.09.14
13:20
Души хомяка, отдавай железяку под 1с.
6 Stormicon
 
10.09.14
13:37
Проблема все-таки действительно в коде. У нас порядка 30 баз, около 15 виртуалок, тройка хороших железных сервера, ни разу не встречал подобного. Да, пользователей в общей сложности за 500+
7 Stormicon
 
10.09.14
13:38
Только вопрос - у вас двухпроцессорный Xeon с общим количеством ядер 16 или 32 ?
8 Stormicon
 
10.09.14
13:38
Впрочем, не суть важно, одноядерная виртуалка - ваша беда.
9 Ринат-СПб
 
10.09.14
13:39
попробуй сначала платформу смени на 8.3.4
У меня глюки с 8.3.5 везде и всюду :)

и немного не понял - у тебя стоит винда, ты под ней поднимаешь виртуалку с виндой? О_о
10 DrZombi
 
гуру
10.09.14
13:56
(0) Ставь Сервер 1С х64. :)
11 rsv
 
10.09.14
13:57
(0) виртуализация это просто экономия ... Прежде всего лицензий ос
12 DrZombi
 
гуру
10.09.14
13:58
+(0)У вас Виртуализация на какой базе?
13 DrZombi
 
гуру
10.09.14
13:59
(11)А на самом деле и Лицензий не экономят, просто людям в погонах вломы все 30 серверов анализировать и выискивать, где там нет лицензий :)
14 DrZombi
 
гуру
10.09.14
14:02
(12) Поставь лучше :)
wiki:VMware_ESX
15 DrZombi
 
гуру
10.09.14
14:04
+(0) >>> постоянно в терминале hyper-v наблюдаю картину "требуется памяти".

Тут появилась мысль, что все дело в ваших "прямых" рученках :)
И 1С тут ни приделах... 1С, если это 32-битный сервер, больше 2Гб не отъест. Да и 64 битный не далеко отъехал :)

А еще есть умельцы, которые пишут отчеты, которые в свою очередь могут вообще положить сервер :)
16 Ринат-СПб
 
10.09.14
14:06
Поговорил с нашим сисом - он сказал, что виртуализация у Винды не очень. Перепробовав много вариантов пришел к основе на KVM

(14) VMvare имеет ограничения на использование ресурсов
17 Адинэснег
 
10.09.14
14:20
(2) с 2х процессорный хеон 2.53 Е5649. его точно не едят
18 Адинэснег
 
10.09.14
14:24
а скуль/база отдельно живет?
19 janetland
 
10.09.14
14:35
Ух, понаписали) Сейчас, по-порядку..

(3) как выяснилось, там не отчет, а некая обработка, которая реиндексит базу после вмешательства бухгалтерских ручек: меняется состав для производства и идет пересчет рецептуры (со слов программера)
(7) 16 ядер. в виртуалке отдано 4 ядра системе
(9) 8.3.4.496 - спасибо, наелся) в режиме дебага - не видит точки останова в указанной конфигурации (приходится релоадить конфу), периодически слетает библиотека com-объекта из системы (пришлось вбить в планировщик в ночной сервис) на чистой установленной системе(!)
потестили с программерами 8.3.5.1119 - полет нормальный, неделя без проблем, хотя 8.3 - сыровата, да, не спорю. У 8.2 таких проблем не наблюдаю.
Да, у меня винда. Стоит 2008 интерпрайз. под ней пашет 3 2008 стандарта - лицензии, чтоб их. платим аренду мелкомягкому, а не покупаем - поэтому винда. сам юниксоид. впваря наше все, но вот только лицензии у них без аренды, а это дорого 8) с ребятами в погонах познакомился в другой компании, так что нафик-нафик городить зоопарк ноу-лиценза.
(15)1с сервер ес-но стоит х64 битный, давно уже..
(16) а какие ограничения? на стойке НР и Делла с Интелом они презентовали и мелкомягкие и вмваре решения - вроде как особых ограничений не было
(22) а что не так? скуль живет на рядом стоящей железке, физической, сетка гиг
20 janetland
 
10.09.14
14:38
(15)и таки да, каюсь, мелкомягкий изврат недавно тестю лет так 15ть.. ранее все больше по Фрям да по Гентушкам.. )
21 DrZombi
 
гуру
10.09.14
14:39
(19) >>> 8.3.4.496 - спасибо, наелся) в режиме дебага - не видит точки останова в указанной конфигурации

Дебаг лучше не включать на рабочей базе :)
22 Ринат-СПб
 
10.09.14
14:42
(19) Эм... я на скульных базах и не дебаглю, так что может и есть такая прабла - но всегда снимаю копию и разбираюсь на своем компе в файловом варианте :)

(16) Сорри, не вникал... Этим все таки СА у нас занимается, мое дело ему поставить задачу и получить нужные ресурсы :)
Если нужно - могу уточнить
23 janetland
 
10.09.14
14:43
(21)я имел ввиду стартап сервис 1с:
"C:\Program Files\1cv8\8.3.4.496\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
считаете, его надобно вырубить, и запустить для программеров отдельный сервер 1с под их тесты?
а косяков не будет при обращении к 1 базе из-под разных серверов приложений 1с?
24 janetland
 
10.09.14
14:48
(19)базы лежат в паре километров от офиса (мы же в россии живем, причину пояснять же не надо?) а 6 гигов сливать полчаса - удовольствия нет) резервных железок тоже особо нет, разве что прикупить офисный комп и отдать на растерзание писателям кода и дебагу)... поэтому виртуалка однозначно.
25 arsik
 
гуру
10.09.14
14:50
windows масдай
26 Stormicon
 
10.09.14
14:56
(24) все-таки отдайте хотя бы 2 ядра на виртуалку. нам пришлось на каждую выдавать по 4, с учетом части конфигураций под толстым клиентом.
Для дебага - стоят тестовые сервера на виртуалках, в скуль пишется все на железо
27 Stormicon
 
10.09.14
14:57
Еще, rphost.exe один в диспетчере?
28 janetland
 
10.09.14
15:07
(27)один. смысл его плодить на 10 пользователей? будет 50 работать - порежу.
29 janetland
 
10.09.14
15:10
(26)4 уже поставил. все равно долго, 2 часа. на выходных запущу эту же обработку в 1с клиенте напрямую на sql, поглядим на результат
30 lodger
 
10.09.14
15:14
(28) а если... поставить 32х битное 1с-сервер приложение, наплодить их и связать в кластер?
эти бедолаги больше 2гб не нажрут. нагрузку они распределят меж собой. один упавший будет перезапущен, а кластер как жил так и будет жить.
а если есть отчеты\обработки способные заставить одного сожрать всю свою память и повесится - пинать пейсателя отчета\обработки.
31 Stormicon
 
10.09.14
15:23
ну в общем-то остается только сама обработка. Пилить на куски, с фиксацией транзакциями. Это навскидку, без анализа загрузки таблиц ничего не скажешь. Единственное, судя по всему или очень такой немаленький запрос, без оптимизации или обработка в циклах (тех же запросов к примеру).
32 janetland
 
10.09.14
17:53
(30)пока что думаю на счет 2012 кластера на 2х физических девайсах, а уж внутри - развернусь с х64 битными серверами 1с. падать кстати оно не падает, а как висело (работало) так и висит (я про rphost.exe) вот только больше никого не пущает)
а как сию обработку достать? ранее внешние обработки находились в виде файлов на файло-помойке (а-ля extforms), а сейчас, на сколько понимаю, оно загружается в сам сиквел. в режиме юзера лежит сие чудо в операции-сервис-доп. обработки, просмотрел в конфигураторе - вроде пусто, внешних *.epf тоже нету в наличии. точнее есть - но уж больно их дофига) хз которая из..
33 lodger
 
10.09.14
18:26
(32)  в операции-сервис-доп. обработки - там открываешь элемент, в нем ищешь кнопку "Сохранить на диск".
получишь .epf а дальше дело техники.
34 janetland
 
10.09.14
20:39
(32)нет там сохранить, только выполнить, отмена и настроить список
35 janetland
 
11.09.14
15:38
вытащил обработку
http://letitbit.net/download/29799.2ca974dfb7e256db014fbf9ecaf7/ОбработкаДок.epf.html
глянет может кто свежим взглядом?
36 lodger
 
15.09.14
15:06
(35) полистал код пару минут.
1) цикличные запросы(на каждую строку ищем спецификации, склады). для начала попробуй это исключить.
2) использование метода Выгрузить вместо Выбрать.
объект запрос и так содержит в себе все собранные данные, а метод выгрузить создает еще одну ТЗ (едим память). надо бы обходы через выбрать(), выборка.следующий()

з.ы.
Основной особенностью динамических выборок является то, что они не считывают данные целиком в память, а получают их блоками по мере обхода выборки методом Следующий(). Это позволяет обходить большие объемы данных, не опасаясь, что возникнут проблемы с использованием памяти компьютера.
В то время как выгрузить создает сразу всю таблицу.
37 janetland
 
16.09.14
13:33
(36)Благодарю, любезнейший. Буду мучать программеров оптимизацией.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан