AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.09.2010, 10:53   #1  
Evgeniy2020 is offline
Evgeniy2020
Участник
 
309 / 68 (3) ++++
Регистрация: 10.04.2007
Адрес: Москва, САО, СЗАО
Tweaking AX
Здравствуйте,

Тема вопроса повышение быстродействия системы.
Есть компания, она растет, количество пользователей растет, база тоже растет.

вопрос какие существуют возможности по аппаратному увеличению производительности системы?

1. Например на сервере MS SQL использовать SSD диски (они вроде быстрее работают чем обычные магнитные), стоит ли использовать RAID на основе SSD?

2. насколько я понимаю 32 битные версии Аксапты могут видеть только до 4 ГБ оперативной памяти. Стоит ли на АОС ставить больше чем 4 Гб?

3. По поводу MS SQL Server то его можно ставить на 64 битную ОС,
и там можно наращивать память. Вопрос если уже стоит машина
с 32 Гб ОЗУ и в системном мониторе 6 процессоров.

стоит ли скажем при размере базы в 55 ГБ переходить на 64 ГБ ОЗУ
даст ли это существенный пирост скорости?

4. По поводу сети, есть ли смысл между АОС и MS SQL Server ставить Gigabit Ethernet? или даже 10 Gbit Ethernet?
стоит ли ключевых пользователей подключать к такому Гигабитному ethernet или это не даст увеличение производительности системы?

я встречал на Аксапте базы и 300 GB хотя трудноывто представить сервер, на котором это должно работать эффективно, особенно отчеты за весь период.

можно ли еще как то увеличивать быстродействие не уменьшая базы данных?
и вообще какие способы наиболее эффективны
Старый 16.09.2010, 10:58   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
уже не раз обсуждалось. к примеру вот тут
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: mazzy (2), Evgeniy2020 (1).
Старый 16.09.2010, 11:14   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
Тема вопроса повышение быстродействия системы.
Есть компания, она растет, количество пользователей растет, база тоже растет.

вопрос какие существуют возможности по аппаратному увеличению производительности системы?
Что-то сегодня день тяжелый.
Я конечно понимаю, что "не бывает плохих вопросов, бывают только плохие ответы".

Но что из уже существующего вы видели?
например,
http://axapta.mazzy.ru/lib/querytuning/ (для современных аксапт нужно искать по ключевому слову TraceParser)
http://axapta.mazzy.ru/lib/axapta_itanium/
http://axapta.mazzy.ru/lib/axapta_benchmark/

И про какую версию Аксапты вы спрашиваете?

Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
1. Например на сервере MS SQL использовать SSD диски (они вроде быстрее работают чем обычные магнитные), стоит ли использовать RAID на основе SSD?
Мое личное мнение - пока это дорого и ненадежно.
Если вы только начали заниматься производительностью, то начните с более простых, дешевых и надежных шагов - просто займитесь индексами.

Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
2. насколько я понимаю 32 битные версии Аксапты могут видеть только до 4 ГБ оперативной памяти. Стоит ли на АОС ставить больше чем 4 Гб?
Для 32битной - не стоит.
Если у вас ax2009, то просто используйте 64битную. для нее вполне стоит.

Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
3. По поводу MS SQL Server то его можно ставить на 64 битную ОС,
и там можно наращивать память. Вопрос если уже стоит машина
с 32 Гб ОЗУ и в системном мониторе 6 процессоров.

стоит ли скажем при размере базы в 55 ГБ переходить на 64 ГБ ОЗУ
даст ли это существенный пирост скорости?
нет. займитесь индексами.

обратите внимание, что никогда не стоит задача "загрузить всю базу в ОЗУ"
всегда стоит задача "загрузить самые часто испольуемые индексы в ОЗУ (в кэш)"

Есть даже показатель (счетчик) "Cache Hit Ratio". Рекомендуется, что он должен быть не менее 95%. По этому поводу нужно читать руководства и ресурсы по самому SQL.

Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
4. По поводу сети, есть ли смысл между АОС и MS SQL Server ставить Gigabit Ethernet? или даже 10 Gbit Ethernet?
Да, если показатель (счетчик) "Network utilization %" превышает некий предельный уровень. Для начала используйте уровень 30%. Реальное значение сильно зависит от топологии вашей сети (например, этот канал используется только для AOS и SQL? или на этом канале находятся и обычные пользвотели?)

Про утилизацию читайте доку по сетям и ресурсы по ним же.

Если вы не знаете что это за показатель и даже предположить не можете какой пороговый уровень будет адекватным для вас, то исходите из того, что замена сети вам НЕ поможет.

Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
стоит ли ключевых пользователей подключать к такому Гигабитному ethernet или это не даст увеличение производительности системы?
Если система написана правильно (в соответствии с рекомендациями Best Practice), то не нужно. Мало того, подключение пользователей к каналу AOS-SQL здорово снизит критический пороговый уровень утилизации сети.

Если же у вас много кастомизаций, причем таблицы дергаются в формах, то гигабитный канал вам не поможет Не поможет и 10гигабитный, и 100гигабитный. Нужно переписывать запросы.


Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
я встречал на Аксапте базы и 300 GB хотя трудноывто представить сервер, на котором это должно работать эффективно, особенно отчеты за весь период.
Сервер представить легко. Он же не берет все данные сразу. Он же с индексами работает.

Кроме того:
1. не нужно делать отчеты "за весь период". См. http://axapta.mazzy.ru/lib/inventsumdate/
то, что делает локализация и буржуйские разработчики в последних версиях системы для получения отчетов "от начала времен" - вредительство. Не делайте так.

2.
когда говорите "база 300Гб", то четко разделяйте размер данных и размер лога.
Я тоже видел базы, у которых Recovery Mode находится в режиме Full и не бэкапируются. Там данные занимали гиг 20, а остальные сотни гигабайт - transaction log.

Надеюсь, что это не ваш случай.
Тогда вам обязательно надо познакомиться с http://axapta.mazzy.ru/lib/dbgrowthsolution/
дело в том, что база данных Аксапты содержит очень много логов, которые нужно чистить.
Очень часто об этом "забывают".


Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
можно ли еще как то увеличивать быстродействие не уменьшая базы данных?
и вообще какие способы наиболее эффективны
Займитесь индексами.

Шаг номер 0: посмотрите в счетчики и узнайте сколько Full Scan'ов у вас выполняется. Добавляя индексы, снизьте это количество по крайней мере в 100 раз (а лучше доведите до 0).

После этого можно выполнять остальные шаги: по чистке базы, оптимизации индексов, убиранию лишних индексов.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Poleax (1), oip (1), Evgeniy2020 (1).
Старый 16.09.2010, 11:35   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
...
я встречал на Аксапте базы и 300 GB хотя трудноывто представить сервер, на котором это должно работать эффективно, особенно отчеты за весь период....
вспомнилось, на предыдущем месте работы, на момент моего ухода база была почти 1Тб работали на SQL2005, и ничего, все работало
да конечно, по началу было много проблем но:
первое что сильно нам облегчило жизнь это появление ОЧЕНЬ ГРАМОТНОГО админа SQL
потом периодически возникали проблемы с производительностью, но они решались с помощью построения индексов и исправления корявого кода (про что и говорит mazzy).

P.S. Точно не помню, но по моему оперативки на серваке было 64Гб. ОС 32битная.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: oip (1).
Старый 16.09.2010, 11:37   #5  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Ух и многа букав mazzy написал!
Со многим соглашусь, но свои 2 копейки вставлю:
1 коп. - Про сеть. Перевод канала AOS-SQL на 1/10Gbit выйгрыш даст вне зависимости от "Network utilization %" - на то есть чисто физические причины. Рассказывать долго - просто поверь. Но выйгрыш может быть и незаметен, если в коде все перепахано очумелыми ручками.
2 коп. - Про индексы. Рекомендуемое кол-во индексов на таблице <= 5 шт. Иначе - надо править консерваторию.
И вообще - золотое правило 80/20 еще никто не отменял. Т.е. 80% прироста производительности даст рефакторинг кода.
Старый 16.09.2010, 11:47   #6  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
По моему опыту, проблемы с быстродействием Аксапты в большинстве случаев абсолютно не связаны с физическими характеристиками серверов, каналов данных и тому подобных вещах. Чаще всего дело в кривом коде, неправильных и/или недостающих индексах, и в общей неухоженности базы.

Пример из жизни: некоторое время назад занимался аудитом и оптимизацией работы одной аксаптовской базы с которой вообще невозможно было работать. Оказалось, что в этой базе таблица INVENTSUMLOGTTS занимает около 30(!) гигабайт (почти 100 миллионов записей!) при 80 Гб оставшеся базы. Надеюсь, никому тут не надо пояснять, что это за таблица и как она используется?
Цитата:
2344 мс на EXECUTE (prepare, bind, attributes, etc):

INSERT INTO INVENTSUMLOGTTS (TTSID,ITEMID,INVENTDIMID,COSTAMOUNTPHYSICAL,POSTEDVALUE,QTY,STATUSISSUE,STATUSRECEIPT...
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
Как только с этим разобрались, а потом добавили в ключевые места недостающие индексы, Аксапта, конечно, сразу не залетала, но производительность увеличилась существенно.

Так что еще раз. Сначала разбирайтесь с приложением и базой, а уж только потом, трижды подумав, потом еще трижды спросив у знающих людей, рассматривайте варианты апгрейда железа.
Старый 16.09.2010, 11:56   #7  
maximka is offline
maximka
Сам.AX
Аватар для maximka
Самостоятельные клиенты AX
 
96 / 24 (1) +++
Регистрация: 26.10.2006
Адрес: Тюмень
Цитата:
Сообщение от egorych Посмотреть сообщение
И вообще - золотое правило 80/20 еще никто не отменял. Т.е. 80% прироста производительности даст рефакторинг кода.
А что делать если запрос
http://itband.ru/2009/07/sql-server-...dex/#more-1872
выдает 100 индексов с "преимуществом индекса" от 90.000.000 до 10.000 ?
__________________
ѣ
Старый 16.09.2010, 11:59   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от egorych Посмотреть сообщение
1 коп. - Про сеть. Перевод канала AOS-SQL на 1/10Gbit выйгрыш даст вне зависимости от "Network utilization %" - на то есть чисто физические причины. Рассказывать долго - просто поверь. Но выйгрыш может быть и незаметен, если в коде все перепахано очумелыми ручками.
Чой-то сегодня все темы связаны с ERP-системы — мэйнстрим или тупиковая ветвь?

как технический специалист - согласен. тоже готов рассказывать долго.

как простой человек, распоряжающийся бюджетами, я категорически против такого совета. Что значит "выйгрыш может быть и незаметен"? Ведь замена 10Мб на 1Гб вряд ли ограничится заменой двух карточек. Придется менять... хмм... (сознательно употребляю пользовательскую терминологию) "марширутизаторы" и хм... прочее сетевое оборудование. Вполне возможно, что у них проблемы с самими кабелями и придется перепрокладывать сеть...

И вот человек подписался под бюджетом на "между АОС и MS SQL Server ставить Gigabit Ethernet". А в результате "выйгрыш может быть и незаметен".

В общем, если уж и заниматься терапией на форуме, то либо давайте очень сильно оговаривать возможные побочные эффекты. Либо давайте рекомендовать только то, что гарантировано не навредит.
__________________
полезное на axForum, github, vk, coub.
Старый 16.09.2010, 12:03   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от oip Посмотреть сообщение
Так что еще раз. Сначала разбирайтесь с приложением и базой, а уж только потом, трижды подумав, потом еще трижды спросив у знающих людей, рассматривайте варианты апгрейда железа.
Абсолютно согласен.
Кроме того, при правильном и очень обдуманном апгрейде железа можно получить офигительные результаты

например, http://axapta.mazzy.ru/lib/axapta_itanium/
в результате они отменили третью смену на предприятии - стали успевать в две смены.

но когда вопрос стоит на уровне "есть ли смысл между АОС и MS SQL Server ставить Gigabit Ethernet? или даже 10 Gbit Ethernet?"
то начинать надо не с железа.
__________________
полезное на axForum, github, vk, coub.
Старый 16.09.2010, 12:12   #10  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от mazzy Посмотреть сообщение
..Либо давайте рекомендовать только то, что гарантировано не навредит.
Ну гигабит между серверами не навредит 100% !
Старый 16.09.2010, 12:15   #11  
Evgeniy2020 is offline
Evgeniy2020
Участник
 
309 / 68 (3) ++++
Регистрация: 10.04.2007
Адрес: Москва, САО, СЗАО
Кстати просмотрел несколько линков по производительности,
почти во многих из них (в том числе МС ных)
стоит Gigabit ethernet сеть между АОС и MS SQL Server,
хотя даже у Gigabit ethernet реальная скорость около
120 - 200 мегабайт в секунду.

а если несколько пользователей строят серьезные отчеты за весь период,
а часть поьзоватеей работает с другими данными,
то на 50 - 70 пользователей может быть не так уж и много 120 мегабайт в секунду
при реальной скорости в 120 мегабайт в секунду на 70 пользователей,
получается что то около 1,7 мегабайта данных в секунду между АОС и MS SQL Server.

а при простом ethernet 100 мегабит то вообще маловато.
да и время доставки пакета с данными тоже разное естественно.
наверно надо мерить трафик по каналу AOS - MS SQL

ну и индексы поятное дело
без них будут сплошные table scan
хотя там где идет большое кличество вставляемых данных в таблицу
то физический кластерный индекс каждый раз будет перестраиваться
при вставках данных.
Старый 16.09.2010, 12:22   #12  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от egorych Посмотреть сообщение
Ну гигабит между серверами не навредит 100% !
согласен.
но я сильно подозреваю, что вы подразумеваете разные вещи под "между серверами". Сильно подозреваю, что в исходном вопросе "между серверами" может подразумевать "к этому каналу подключены и другие пользователи. возможно, с карточками только на 10Мбит".
__________________
полезное на axForum, github, vk, coub.
Старый 16.09.2010, 12:24   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
стоит Gigabit ethernet сеть между АОС и MS SQL Server,
хотя даже у Gigabit ethernet реальная скорость около
120 - 200 мегабайт в секунду.

а если несколько пользователей строят серьезные отчеты за весь период,
а часть поьзоватеей работает с другими данными,
Evgeniy2020, не видел этого сообщения когда писал свое.
Давайте таки определимся.

В вашем случае, к каналу "между серверами" подключены другие пользователи?
обратите внимание, что на всех "линках по производительности" это отдельная линия. Подразумевается физически отдельная. Пользователи должны быть подключены к другому физическому кабелю.
__________________
полезное на axForum, github, vk, coub.
Старый 16.09.2010, 12:29   #14  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
Кстати просмотрел несколько линков по производительности,
почти во многих из них (в том числе МС ных)
стоит Gigabit ethernet сеть между АОС и MS SQL Server,
хотя даже у Gigabit ethernet реальная скорость около
120 - 200 мегабайт в секунду.
Что-то не нак тут! 200М -> 1.6Gbit многовато, не находите?
Тут вопрос не в скорости (она не намного выше чем при 100Мбит сети), а в пропускной способности канала.
Это как когда ленинградку в шереметьево закрыли наполовину - для 10 маши скорость бы не изменилась, а 100 уже ждут!!!
Старый 16.09.2010, 12:44   #15  
Evgeniy2020 is offline
Evgeniy2020
Участник
 
309 / 68 (3) ++++
Регистрация: 10.04.2007
Адрес: Москва, САО, СЗАО
to Mazzy:

Цитата:
Evgeniy2020, не видел этого сообщения когда писал свое.
Давайте таки определимся.

В вашем случае, к каналу "между серверами" подключены другие пользователи?
обратите внимание, что на всех "линках по производительности" это отдельная линия. Подразумевается физически отдельная. Пользователи должны быть подключены к другому физическому кабелю.
как я понимаю свой пост , я задал вопрос твикинге то есть об наилучшей эффективной организации сети и оборудования для получения максимально эффективного выигрыша производительности. Таким образом если мы убедимся что лучше использовать отдельный (выделенный) физический скоростной канал AOS - MS SQL, то дальше дадим команду построить/перестроить сеть именно в таком виде.

напирмер из одного указанного линка
http://axapta.mazzy.ru/lib/axapta_be...ark_scheme.jpg



насколько я понимаю можно коммутатором разделить сеть. или же можно использовать какую то другую топологию (как раз речь в твикинге идет о поиске наиболее эффективной топологии)

to Egorych:
значит все таки 120 мегабайт в секунду в лучшем случае, а если там зарыться в коэффициент данные/служебные данные фреймов (tcp/ip)
то скорость данных наверно еще меньше чем 120.



кстати понравились материалы
Welcome -- Ax Database Configuration Checklist
http://blogs.msdn.com/b/axperf/archi...st-part-1.aspx
http://blogs.msdn.com/b/axperf/archi...st-part-2.aspx

SQL Server 2005, 2008: Создание недостающих индексов
http://itband.ru/2009/07/sql-server-...dex/#more-1872

Последний раз редактировалось Evgeniy2020; 16.09.2010 в 12:53.
Старый 16.09.2010, 12:53   #16  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Evgeniy2020 Посмотреть сообщение
Таким образом если мы убедимся что лучше использовать отдельный (выделенный) физический скоростной канал AOS - MS SQL, то дальше дадим команду построить/перестроить сеть именно в таком виде.
Значит, сейчас к "между серверами" пользователи подключены. О чем я и подозревал

по (убыванию) приоритетов:
= прежде всего займитесь Table scan'ами
= займитесь индексами
= займитесь запросами, чтобы они не гоняли данные к клиенту (основной трафик должен идти между SQL и AOS, к клиентам должен идти минимально необходимый для работы трафик)
= ...
= много оптимизаций, не затрагивающих железо
= ...
= выделите отдельный канал для AOS-SQL, пользователи должны подключаться к AOS по физически другому каналу
= если возможно, то сделайте этот отдельный канал максимально быстрым
__________________
полезное на axForum, github, vk, coub.
Теги
производительность, настройка оборудования, настройка сети

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:46.