13.10.2007, 13:36 | #1 |
Участник
|
После установки KR2 на AX3 SP3 не пускает на AOS больше 100 пользователей
Здравствуйте.
После установки KR2 на AX3 SP3 не пускает на AOS больше 100 пользователей. В логе появляются ошибки, пришлось поднять второй AOS. Подскажите пожалуйста, как решить эту проблему. С уважением, Александр |
|
13.10.2007, 14:12 | #2 |
Member
|
Вы уж меня простите если грубовато получилось, но это самый что ни на есть RTFM
"... AOS Enhanced Stability and Logging Registry Keys have been added for the purpose of tightening configuration when the AOS is in a low resource scenario. If these limits are reached, the AOS will reject new connections. If these keys do not exist, or if they exist without a value, Axapta uses the default value listed for each key. If enabling this functionality, configure each key for each instance of the AOS running. \HKLM\SYSTEM\CurrentControlSet\Services\Axapta Object Server\Applications\<AOS Instance Name>\3.0\<AOS Config Name> These keys may be replicated to the CurrentControlSet001 and CurrentControlSet002. See Microsoft Knowledge Base article 100010, “What are Control Sets? What is CurrentControlSet? (http://go.microsoft.com/fwlink/?LinkId=59068)” for more information on Control Sets. Note: The registry settings may have to be set for each control set for each AOS instance configured. This may not be a one place registry change. The following table lists the default values, which are also the recommended values. Note that they are string values. Reg key Type Default MaxConcurrentSessions REG_SZ1 100 MaxMemPercentage REG_SZ1 50 MaxConcurrentSessions Set the value of this key to the number of concurrent sessions that you want the upper limit to be. MaxMemPercentage Set this value to the percentage of memory that you want the AOS process (ax32serv.exe) to use. This total memory percentage includes pagefile. ..." На форуме тоже где-то обсуждалось. Наверняка можно найти в поиске. Кстати, более 100 пользователей на один АОС — многовато, IMHO.
__________________
С уважением, glibs® |
|
14.10.2007, 14:31 | #3 |
Участник
|
Прошу прощения Просто поторопился, сразу написал на форум. На счёт количества пользователей - реально работают 20-30
|
|
23.10.2007, 09:55 | #4 |
Участник
|
Цитата:
Сообщение от glibs
Кстати, более 100 пользователей на один АОС — многовато, IMHO.
|
|
23.10.2007, 11:39 | #5 |
Участник
|
Весьма смелое заявление! Помимо процессора и сети есть еще такой ресурс как RAM. А т.к. АОС сам по себе 32-битный и по статистике больше 1Г "съесть" и не подавиться вообще не в состоянии, то перегрузить его вообще-то достаточно просто.
|
|
23.10.2007, 12:02 | #6 |
Участник
|
А вы в курсе, зачем установщик виндов в зависимости от того, сколько процессоров на компе, где он запущен, ставит винды с разными ядрами - однопроцессорным или многопроцессорным? Все дело в том, что в последнем случае используется куда больше объектов синхронизации (критических секций, семафоров, etc) при доступе к различным ресурсам ядра, что не лучшим образом сказывается на производительности - оттого на однопроцессорных машинах и используется "облегченная" сборка ядра. Не стоит забывать, что у AOS'а наверняка тоже есть ресурсы, осуществлять доступ к которым необходимо "по очереди", и при этом на каждое пользовательское подключение он запускает отдельный поток, который при доступе к таким ресурсам должен синхронизироваться со всеми остальными потоками. Так вот, при большом числе пользователей (и, соотв., запущенных потоков) AOS может начать тормозит уже не из-за железа, а из-за взаимоблокировок между отдельными потоками.
Последний раз редактировалось gl00mie; 23.10.2007 в 12:13. Причина: typo... |
|
23.10.2007, 12:30 | #7 |
Member
|
Цитата:
Сообщение от somebody
...
Если SQL-сервер/сеть нормальные в плане железа, то АОС(ы) 2.5/3 перегрузить маловероятно. ... Все зависит от задач. Если пользователи неспеша открывают формы и счелкают по закладкам, то АОС может и 300 пользователей выдержать, я так думаю.
__________________
С уважением, glibs® |
|
23.10.2007, 12:40 | #8 |
Moderator
|
to gl00mie: А ты случайно не разбирался как сам ax32serv работает с объектами синхронизации ? У меня просто есть подозрение, что рекомендация использовать на AOS-серверах не больше двух процессоров, вызвана тем, что в недрах ax32server есть Big Kernel Lock, который приводит к тому, что в реальных условиях система плохо масштабируется на более чем два процессора на компе. Примерно как в ядрах Linux до версии 2.2.x. Там, фактически, все ядро было неповторновходимым, поэтому в теории систему можно было использовать на любом количестве процессоров, но из за того что само ядро было критическим ресурсом, в реальных ситуациях использования Linux (с нормальным вводом-выводом короче говоря), ставить больше двух процессоров было бесполезно.
|
|
23.10.2007, 18:53 | #9 |
Участник
|
Цитата:
Сообщение от fed
А ты случайно не разбирался как сам ax32serv работает с объектами синхронизации ? У меня просто есть подозрение, что рекомендация использовать на AOS-серверах не больше двух процессоров, вызвана тем, что в недрах ax32server есть Big Kernel Lock, который приводит к тому, что в реальных условиях система плохо масштабируется на более чем два процессора на компе.
Цитата:
Сообщение от fed
Примерно как в ядрах Linux до версии 2.2.x. Там, фактически, все ядро было неповторновходимым, поэтому в теории систему можно было использовать на любом количестве процессоров, но из за того что само ядро было критическим ресурсом, в реальных ситуациях использования Linux (с нормальным вводом-выводом короче говоря), ставить больше двух процессоров было бесполезно.
Последний раз редактировалось gl00mie; 24.10.2007 в 00:59. |
|
|
За это сообщение автора поблагодарили: raz (8). |
29.10.2007, 12:22 | #10 |
Участник
|
"практика - критерий истины"
Цитата:
Сообщение от egorych
...перегрузить его вообще-то достаточно просто...
Цитата:
Сообщение от gl00mie
...Не стоит забывать, что у AOS'а наверняка тоже есть ресурсы... AOS может начать тормозить...
Цитата:
Сообщение от glibs
Все зависит от задач. ... я так думаю.
Думаю, это была бы полезная информация для настройки объектного сервера/кластера. |
|
29.10.2007, 12:46 | #11 |
NavAx
|
Всё зависит от задач.
Проблема возникает не в производительности а скорее в возможности работать. На одном проекте АОС постоянно валился на 70-ти пользователях из-за нехватки памяти. Из-за изобилия трудоёмких операций. Как только поставили второй АОС - стало хорошою На другом проекте один АОС прекрасно себя чуствовал при более чем 200 пользователей. Здесь все трудоёмкие операции выведены на пакетный сервер и выполняются в двузвенке. Сразу после перехода на 4.0 и исчезновения двузвенки - АОС стал падать раз по десять за день. Поставили второй АОС - отпустило.
__________________
С уважением, Игорь Ласийчук. |
|
03.11.2007, 23:33 | #12 |
Участник
|
Цитата:
У меня прежде была уже библиотека SmartHeap 8.0, а недавно я выклянчил на "посмотреть" версию SmartHeap/SMP 8.1 - захотелось сравнить с ними код ядра Аксапты, чтобы точно узнать, какая из разновидностей там используется. В выборе версий, как выяснилось, разработчики очень консервативны: они использовали SmartHeap 6.0.1 со всеми сборками ядра Axapta 3.0, выходившими с октября 2002 по октябрь 2006-го года, т.е. на протяжении 4-х лет (я проверял ядра с 3.0.1951.17 по 3.0.1951.7609). Собственно, чтобы определить номер версии SmartHeap, достаточно посмотреть, что возвращает метод класса HeapCheck.version(), а возвращает он отформатированное в виде строки число, которое получает от функции MemVersion() из библиотеки SmartHeap, статически скомпонованной с ядром Аксапты. Со всеми сборками ядра DAX 4.0 используется уже версия SmartHeap 8.0.0, что, опять же, нетрудно проверить, но самое интересное в другом. Несмотря на то, что мне удалось найти упоминание о существовании версии SmartHeap/SMP 6.0.1 (фраза после "Buzzword bonanza of the year"), датированное примерно маем 2002-го, в ядре Axapta 3.0, как это ни печально, используется "обычная" версия SmartHeap для многопоточных приложений, а не SmartHeap/SMP. По крайней мере, к такому выводу я пришел после некоторого анализа кода этой библиотеки в ядре Аксапты и сравнения с теми версиями библиотеки SmartHeap, которые у меня имеются. Печально же это в свете того, что говорится в документации, описывающей изменения в версиях SmartHeap (пусть и про 8-ю версию, но сдается мне, это - коренное различие SmartHeap и SmartHeap/SMP): Цитата:
Note that the general performance improvements in SmartHeap version 8 [...] are available only when running on single-processor (including hyperthread-enabled Intel processor) systems. The performance enhancements are enabled on SMP systems only in the SmartHeap/SMP product.
Цитата:
The SmartHeap 8.0 multi-threaded libraries contain performance optimizations making them up to 2x faster than version 7. The performance improvement is greatest on the Windows operating system.
PS. Первая мысль после расковыривания версии SmartHeap в Axapta 3.0 была: пропатчить ядро AOS'а, чтобы вместо статически скомпонованной 6-й версии он использовал DLL-версию SmartHeap/SMP 8.1 |
|
|
За это сообщение автора поблагодарили: glibs (2), Logger (10). |
05.12.2008, 09:44 | #13 |
Moderator
|
Ну и для завершения этой темы, надо заметить что в DAX 2009 от использования SmartHeap отказались (поскольку даже SMP - версия была неидеальна с точки зрения работы с объектами синхронизации). В версии 2009 smartheap бlibrary был заменена на Low Fragmentation Heap, появившийся в Windows 2003.
|
|
|
За это сообщение автора поблагодарили: belugin (3), Logger (3), gl00mie (3). |
05.12.2008, 12:01 | #14 |
Участник
|
Цитата:
Сообщение от fed
Ну и для завершения этой темы, надо заметить что в DAX 2009 от использования SmartHeap отказались (поскольку даже SMP - версия была неидеальна с точки зрения работы с объектами синхронизации). В версии 2009 smartheap бlibrary был заменена на Low Fragmentation Heap, появившийся в Windows 2003.
Недавно ковырял Ax 3.0 - очень порадовали его возможности. Оказывается с его помощью легко самим ловить утечки памяти. Для этого даже в поставку входит класс HeapLog - позволяет в произвольный момент сделать "снимок" кучи и сбросить на диск, а в другой момент времени - сравнить слепок с диска с текущим состянием и сбросить в лог различия. |
|
06.12.2008, 02:33 | #15 |
Moderator
|
|
|
|
За это сообщение автора поблагодарили: Logger (3). |
Теги |
администрирование, ax3.0 |
|
|