Имя: Пароль:
IT
Админ
Проблемы с производительностью 1С 8.1 в терминале Windows Server 2008
0 caxaf1
 
01.03.11
12:43
Здравствуйте!
Вот такая делема ...
- поставили новый сервак с Windows Server 2008;
- 1с 8.1 файловая размером 4.5 Гб;
- настройли терминал RDP к 40 пользователям, выделенным приложением 1cv8 (то есть открывается только приложение).
Всё ПО лицензионное.
Производительность оставляет желать лучшего. Модальные окна 1С затираются при переключений между терминальным приложением и программой на клиентском компе, в итоге пользователь после этого не видит модального окна. А при переключении 1С вообще может зависнуть и отвиснуть через несколько минут.
В общем очень медленно работает 1С.
Получается ... перешли на новый сервак, а производительность упала :(((

А заходя в полноценный RDP-сеанс (с рабочим столом), всё работает нормально, как было на старом серваке!

Недавно вообще кошмар был ... принтеры отваливались все разом несколько раз в день, победили эту проблему с помощью ScrewDrivers.
А теперь нужно решить еще один самый больной вопрос с производительностью в терминальных сеансах.

Помогите советами, плиз!
1 Amra
 
01.03.11
12:45
Кури сайт мелкомягких, проблема с модальными окнами решается патчем.
2 Волшебник
 
01.03.11
13:49
(0) Все проблемы из-за файловой базы. Ставьте клиент-сервер
3 caxaf1
 
01.03.11
15:14
(2) На "старом" серваке всё работало нормально, не быстро, но терпимо. А на "новом" - ужасно!
Конечно надо клиент-сервер, со временем перейдем на него, но далеко не факт, что проблемы с производительностью решаться.

Я подозреваю, что тут дело в настройках Windows. Но куды копать, мне не хватает извилин. Подумал, может добрые люди совет дадут хоть какой-нить.

То есть нужно обеспечить нормальную работу терминальных сеансов, как было прежде на Windows 2003 (работали через Citrix).
А сейчас на Windows 2008 работают через RDP и сеансы периодически полностью зависают (приходится сбрасывать сеанс пользователя), могут отвиснуть через минут 5-10.
4 simol
 
01.03.11
15:16
База 4,5 и 40 пользователей и еще есть сомнения, что проблема не в файловой?
5 Иде я
 
01.03.11
15:19
Памяти у сервера сколько ?
6 Fram
 
01.03.11
15:19
(3) да, связка windows 2003 + citrix хорошо себя зарекоммендовала
7 Thorn-deep
 
01.03.11
15:32
Прямо страшный сон. Несчитаю что файловый режим менее оправдан, мне с ним безопаснее создавать бэкапы, выгрузки. Пользователей пока около 20 но постоянно забивающие ТН и прочее.

Пробовал различные варианты распределения времени процессора и способа распределения оперативки. Наиболее оптимально встало именно для "сервера терминалов" оптимизировать работу "программ" в обоих случаях, (лицензии раздаются на устройство).

чтобы ненужно было отслеживать активность сеанса (в ночное время делается выгрузка к примеру) установить следущие параметры:
http://sep32.ru/photo/picture.php?/660/category/1

Чтобы пользователи нерастрачивали попусту ресурсы сервера рекомендую также установить "ограничение по времени для активных, но бездействующих сеансов служб терминалов" в интервале до 30 минут. (на картинке строчкой ниже параметр).
8 ДенисЧ
 
01.03.11
15:32
(1) что за патч?
9 Amra
 
01.03.11
15:34
(1) Навскидку не помню, была ветка здесь же про это
10 Fram
 
01.03.11
15:38
(0) пока не решишь проблему верни windows 2003 + citrix. потратишь от силы несколько часов, а этот гемор у тебя на долго
11 miki
 
01.03.11
15:43
(3)Клиенты, поди, XP?
12 Vovan1975
 
01.03.11
15:47
40 пользюков в файловой версии, это жесть...
13 Vovan1975
 
01.03.11
15:52
(0) сколько размер самой большой таблицы и каков прирост?
14 tdm
 
01.03.11
15:56
есть подобная же проблема только база уже клиент/сервер - модальные окна не постоянно но периодически не отрисовываются и пользователи "висят"
15 tdm
 
01.03.11
15:56
(1) можно ссылку ?
16 tdm
 
01.03.11
16:02
с 8.2 та же проблемка((
проблемы с принтерами были - нашли "глючный" драйвер помогло
у нас  только 2008 r2
если есть ветка с решение проблемы однозначно над помещать в книгу знаний (искал не нашел там)

(10) сколько решение на базе citrix будет стоить? в то время как win2008 имеет схожие возможности
17 Fram
 
01.03.11
16:06
(16) Читай (3) у него до этого стоял citrix. Сомневаюсь, что лицензионный, но все же
18 caxaf1
 
02.03.11
04:35
(11) да, клиенты на ХР
19 caxaf1
 
02.03.11
06:15
(1) ссылку плиз
20 zva
 
02.03.11
06:24
http://support.microsoft.com/kb/967885/en-us
(0) Вы бы хоть конфигурацию старого и нового сервера озвучили...
Из 40 пользователей сколько активных?
21 miki
 
02.03.11
07:21
(18)есть мнение, что с 2008 нормально работают и xpюши со всеми актуальными апдейтами (в т. ч. и дровишки) + 7RDP.
Я бы с этого и начал.
Ноги растут от "Стек TCP/IP cледующего поколения": http://www.microsoft.com/rus/technet/itsolutions/network/evaluate/new_network.mspx#ELC

Можно просто попробовать таки подключаться с клиента W7.

Также есть мнение, что новые примочки не понимают старые железки, а также некоторые файерволы.

Если на семерку идти лень/нет возможности, то заюзать костыли. Была ситуация: домен W2003R2+TS (W2003) + SQL2000 (W2003)+XP. Траблы начались после внедрения нового TS под W2008R2 (RDP и RemoteApp) и апгрейдом нескольких рабочих станций на W7. Тормоза. Между W7 и W2008 нормуль, а всё остальное – мрак (скуль остался на 2003). Даже копирование по сети между W2008 и W2003 _больших_ файлов занимало десятки минут (с XP или 2003 - минуты). Немного помогло снижение скорости с гигабита до 100мбит.
Помогли костыли. Если кратко, жестко, то исполнить от админа:
netsh int 6to4 set state disable disable
netsh interface tcp set global autotuning=disabled (def. normal)
netsh interface tcp set global congestionprovider=ctcp
netsh interface tcp set global rss=disabled (def. enabled)
netsh interface tcp set global chimney=disabled (def. enabled)

Есть ещё, но эти я не пробовал:
netsh interface tcp set global timestamps = enabled
netsh interface tcp set global ecncapability = disabled
netsh interface tcp set global netdma = enabled
netsh interface tcp set global dca = enabled
Это отсюда: http://www.sql.ru/forum/actualthread.aspx?bid=27&tid=762567
22 miki
 
02.03.11
07:21
Есть мнение, что не надо ничего отключать, а поиграть с параметрами TCP:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DontAddDefaultGatewayDefault=0
DeadGWDetectDefault=0
DisableTaskOffload=0
EnableDeadGWDetect=0
EnableICMPRedirect=0
EnablePMTUBHDetect=0
EnablePMTUDiscovery=1
GlobalMaxTcpWindowSize=7f9e0 (под вопросом для Vista, по моему роли неиграет, поставил какой-то оптимизатор)
MaxDupAcks=a
SackOpts=1
SynAttackProtect=2
Tcp1323Opts=3
TcpMaxDupAcks=2

QualifyingDestinationThreshold=3
EnableWsd=1
TcpMaxDataRetransmissions=ff
EnableTCPA=1
KeepAliveInterval=KeepAliveTime=TcpFinWait2Delay=TcpTimedWaitDelay=ffffffff по умолчанию

Про некоторые написано тут:
http://forum.oszone.net/thread-130439.html

"Tcp1323Opts"=dword:00000003" возможные значения 0 - применение опций RFC 1323 запрещено, 1 — разрешено использовать только масштабирование окна; 2 — разрешено применять только временные метки; 3 — разрешено использовать обе опции.

В случае потери какой либо части пакетов заново посылается весь кусок или пропущенная часть, что как раз очень нужно при большом окне приема

"SackOpts"=dword:00000001" возможные значения значения 1 - разрешено, 0 - нет

И еще параметр режим автоматического определения MTU
Будет ли перед отправкой пакетов выполняться определение максимального размера пакета (MTU), который можно доставить адресату без выполнения фрагментации.

"EnablePMTUDiscovery"=dword:00000001" значение 0 - не будет, MTU=576; 1 - поиск максимального (с большего на меньшей до момента когда перестанут поступать ICMP Destination Unreachable

"TcpMaxDataRetransmissions" = dword:00000007" (от 5-10, по умолчанию 255, рекомендуют 7)
Этот параметр определяет, сколько раз ретранслируется индивидуальный (не установленный) сегмент данных. Ретранслируемый период удваивается с каждой удачной передачей. И будет обнулен при получении ответа. Исходное значение устанавливается равным продолжтельности времени передачи туда и обратно для отдельного подключения.

"TcpMaxDupAcks" = dword:00000002" (1, 2, 3)
Этот параметр определяет количество двойных ACKs которые должны быть получена для некоторой последовательности номеров, после которых произойдет "быстрая повторная передача" (fast retransmit). Данный параметр управляет повторной передачей сегментов которые были потеряны в процессе передачи

EnableTCPA=1
(DWORD, 1 to enable, 0 to disable NetDMA. Value not present by default in Vista)
Recommended setting is 1, a new DWORD value may need to be created if not already present in the registry.

NetDMA enables support for advanced direct memory access. In essence, it provides the ability to more efficiently move network data by minimizing CPU usage. NetDMA frees the CPU from handling memory data transfers between network card data buffers and application buffers by using a DMA engine.

Можно и через консоль:
netsh interface tcp set global netdma = enabled.
23 miki
 
02.03.11
07:22
По порядку:
1. Есть советы отключить QoS. Имхо, баловство. Равно как и отключение ipv6. Да, замечено, что отключение ipv6 снижает эффект падения производительности в разнородной (xp+w7) сети, но вот отключение его на DC под Win2008 приводит к замедлению некоторых операций. Имхо, лучше – понизить приоритет ipv6 в сетевых привязках. Можно поиграться с отключением некоторых функций ipv6:
http://support.microsoft.com/kb/929852/ru

Я бы просто отключил тунелирование ipv6 в ipv4:
netsh int 6to4 set state disable disable

2. Самый модный и действенный на сегодня - покоцать TCP Auto-Tuning:
netsh interface tcp set global autotuning=<тут_варианты>
по дефлоту в W7/W2008  он включен (=normal), возможные варианты (экспериментрируйте от restricted -> higlyrestricted -> до disabled):

disabled: uses a fixed value for the tcp receive window. Limits it to 64KB (limited at 65535).

higlyrestricted: allows the receive window to grow beyond its default value, very conservatively

restricted: somewhat restricted growth of the tcp receive window beyond its default value

normal: default value, allows the receive window to grow to accommodate most conditions

experimental: allows the receive window to grow to accommodate extreme scenarios (not recommended, it can degrade performance in common scenarios, only intended for research purposes. It enables RWIN values of over 16 MB)

Статья "Автоматическая настройка окна приема TCP":
http://technet.microsoft.com/ru-ru/magazine/2007.01.cableguy.aspx
Ещё можно почитать это:
http://support.microsoft.com/kb/947239

3. Также связанный с размером окна параметр congestionprovider.
«Для оптимального использования пропускной способности канала TCP в подобных случаях в новую версию набора протоколов TCP/IP включен протокол Compound TCP (CTCP). Протокол CTCP осуществляет более агрессивное увеличение окна отправки для соединений с большим размером окна приема и большим значением BDP. Протокол CTCP пытается максимально повысить пропускную способность подобных соединений, отслеживая изменения уровня задержки и уровня потерь. Кроме того, CTCP обеспечивает отсутствие негативного воздействия на другие соединения TCP.»
В сети есть рекомендации отключать (=none), я оставил по умолчанию.

netsh interface tcp set global congestionprovider=ctcp

4. Ещё популярный параметр - Receive-side Scaling (RSS).
Позволяет использовать несколько процессоров для обработки полученных пакетов (сетевой адаптер распределяет нагрузку на доступные процессоры).

netsh interface tcp set global rss=disabled (enabled)

В реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnableRSS=1 (1=enabled, 0=disabled)
Отключайте, если не помогло всё остальное.

5. TCP Chimney. Является расширением NDIS, разрешает замещение протокола TCP Windows реализацией протокола от производителя сетевой карты, повышает производительность долгоживущих соединений с большим размером полезной нагрузки, такие как потоковые данные и передача больших файлов.

Без нужды не отключать, если прижмет, то
netsh int ip set global chimney disabled
Возможные значения: enabled, automatic, (по умолчанию), disabled.
24 miki
 
02.03.11
07:23
Если кому поможет - отпишитесь, оформлю статью в БЗ.
25 miki
 
02.03.11
07:29
Да, забыл. Посмотреть текущие значения стека можно так6
netsh interface tcp show global
26 caxaf1
 
03.03.11
12:19
(20) Старое железо: проц 4-ядерный счастотой 3Ггц, 8Гб памяти DDR2, база стояла на обычном жестком диске (то есть никакого райда), Windows 2003+Citrix.
Новое железо: 2 процессора, в каждом 4 ядра с частотой 2.4 Ггц, регистровая память 8Гб, райд из 6 жестких дисков райдэдишн, Windows 2008.

На старом сервере наша файловая база размером 4.5Гб работала намного лучше, чем на новом. В этом и парадокс.
Стоит антивирус, но он стоял и на старом серваке, наверно для файловой базы это не имеет значения. После перехода со старого на новый сервер производительность, как отмечают пользователи, резко упала. Частые зависания продолжительностью от 1 до 5 минут.

Мы пытаемся найти причины этой проблемы. Помогите, плиз, советами.
27 caxaf1
 
03.03.11
12:20
(25) Приняли во внимание, рассматриваем.
28 caxaf1
 
03.03.11
12:23
Пытаемся уговорить руководство купить SQL. Но они считают, что причины не в этом. Да и основания у них весомое - на старом серваке всё работало более менее терпимо, а при переходе на новый сервер всё резко стало плохо. А мы не знаем в чем причина этого явления.
Поэтому пока мы не найдем причину, не будет нам никакого SQL и т.д.
29 Йохохо
 
03.03.11
12:47
вот с этим
"А при переключении 1С вообще может зависнуть и отвиснуть через несколько минут."
попробуй врубить на терминале superfetch, может вырасти потребление памяти юзерами и увеличиться время входа, но может поможет
/не успел сам потестить, пока было актуально =)