Цитата:
Сообщение от
AndyD
Зачем резервировать?)
Достаточно просто сплитить проводки (в проводках Функции/Разбиение)
inventTrans.updateSplit()
Спасибо за наводку, правда мне хотелось более или менее живой сценарий применения системы взять и запустить нагрузочное тестирование.
Пока подготовил и прогнал 1 раз на голой стандартной AX 2012 R2 такой сценарий с кластерным индексом по TransOriginIdx (хард: Core I3, SSD 120 GB, 8 GB оперативы):
- Настроил номенклатуру с выделением номеров партий на каждые 100 шт
- Создал журнал проводка с 1 строкой для склада А и кол-вом 1 000 000 шт и разнес (примерно 10-15 мин). В результате будет создано 10 000 складских проводок с разными партиями.
- Настроил пакетную обработку для АОС1 и АОС2 по 32 потока
- Запланировал в пакетной обработке 4 пакета по созданию заказов на перемещение. Каждый пакет генерит по 1000 задач, каждая задача формирует по 10 заказов. Раскидал по пакеты по времени, чтобы пакеты 1-3 обрабатывались в одно и то же время, а пакет за 40 мин до начала работы пакетов 1-3 чтобы посмотреть как быстро обработается 1 пакет по отдельности и 3 пакета параллельно.
- Каждый заказ на перемещение создается со склада А на склад Б с включенным авторезервированием, с 3 строками по номенклатуре 001:
Строка 1 - 1 шт
Строка 2 - 2 шт
Строка 3 - 3 шт.
В перспективе тест планировал усложнить - сделать, чтобы случайно выбирались парамметры создания заказа на перемещение: кол-во строк для заказа, коды номенклатур, кол-во по строке.
На текущий момент результаты тестирования такие:
1. Создание заказов на перемещение с резерированием
Пакет-------Время начала-----------Время окончания
Пакет 1-----18.03.2015 06:09:16----18.03.2015 07:58:09
Пакет 2-----18.03.2015 06:09:16----18.03.2015 07:44:28
Пакет 3-----18.03.2015 06:09:16----18.03.2015 08:05:06
Пакет 4-----18.03.2015 05:30:15----18.03.2015 06:12:28
2. Создано строк в таблицах в AX
Примечание: база была практически пустая, но было около 10 заказов на перемещение, 15 закупок и 20 продаж. Не стал геммороиться и исключать их исключать из подсчета кол-ва созданных строк в таблицах
Table-Name--------------------------------#-Records-Reserved-(KB)-Data-(KB)-Indexes-(KB)-Unused-(KB)
dbo.INVENTSUMLOGTTS-----------------------327287----237056--------112664----123512-------880
dbo.INVENTTRANS---------------------------193141----640048--------228392----408120-------3536
dbo.INVENTTRANSORIGIN---------------------182474----73072---------30664-----42192--------216
dbo.INVENTTRANSFERLINE--------------------91098-----245136--------119464----125120-------552
dbo.INVENTTRANSORIGINTRANSFERSHIP---------91098-----39088---------15080-----23880--------128
dbo.INVENTTRANSORIGINTRANSFERRECEIVE------91098-----38256---------15112-----23120--------24
dbo.INVENTTRANSFERTABLE-------------------30373-----38176---------21128-----16824--------224
dbo.INVENTDIM-----------------------------12176-----14536---------2152------9912---------2472
dbo.INVENTSUM-----------------------------10656-----14944---------7848------6520---------576
dbo.INVENTBATCH---------------------------10036-----3888----------1720------1720---------448
dbo.INVENTSUMDELTA------------------------0---------2176----------8---------160----------2008
3. Статистика по расщеплениям из в sys.dm_db_index_operational_stats сразу после проведения тестирования
Примечание: статистика может быть немного искажена сводным планированием, которое я запустил чтобы очистить данные в InventSumLogTts и примерно через 20 мин отключил его.
object_nm-----------------------------index_id----partition_number-----------leaf_allocation_count------nonleaf_allocation_count
INVENTSUMDELTA------------------------1-----------1--------------------------102912---------------------1220
INVENTSUMLOGTTS-----------------------1-----------1--------------------------18512----------------------241
INVENTTRANSFERLINE--------------------1-----------1--------------------------15315----------------------246
INVENTSUMDELTA------------------------3-----------1--------------------------11208----------------------28
INVENTSUMDELTA------------------------2-----------1--------------------------11152----------------------28
INVENTSUMDELTA------------------------4-----------1--------------------------10654----------------------8
INVENTSUMLOGTTS-----------------------2-----------1--------------------------8046-----------------------134
INVENTSUMLOGTTS-----------------------3-----------1--------------------------6579-----------------------92
INVENTSUMLOGTTS-----------------------4-----------1--------------------------5310-----------------------21
INVENTTRANSORIGIN---------------------1-----------1--------------------------3946-----------------------17
BATCH---------------------------------1-----------1--------------------------3488-----------------------13
INVENTTRANSORIGIN---------------------2-----------1--------------------------3422-----------------------41
INVENTTRANSFERTABLE-------------------1-----------1--------------------------2645-----------------------32
INVENTTRANSFERLINE--------------------5-----------1--------------------------2322-----------------------27
INVENTTRANSFERLINE--------------------2-----------1--------------------------2319-----------------------27
INVENTTRANSFERLINE--------------------6-----------1--------------------------2286-----------------------27
INVENTTRANSFERLINE--------------------3-----------1--------------------------2281-----------------------27
INVENTTRANSORIGINTRANSFERRECEIVE------1-----------1--------------------------1890-----------------------30
INVENTTRANSORIGINTRANSFERSHIP---------1-----------1--------------------------1882-----------------------30
INVENTTRANSORIGIN---------------------3-----------1--------------------------1800-----------------------20
INVENTTRANSORIGINTRANSFERSHIP---------2-----------1--------------------------1758-----------------------11
INVENTTRANSFERLINE--------------------7-----------1--------------------------1722-----------------------34
INVENTTRANSORIGINTRANSFERRECEIVE------2-----------1--------------------------1668-----------------------10
INVENTTRANSFERLINE--------------------8-----------1--------------------------1627-----------------------30
INVENTTRANSFERLINE--------------------4-----------1--------------------------1508-----------------------25
INVENTTRANSORIGINTRANSFERSHIP---------3-----------1--------------------------1178-----------------------5
INVENTTRANSORIGINTRANSFERRECEIVE------3-----------1--------------------------1176-----------------------5
INVENTTRANSFERLINE--------------------9-----------1--------------------------1170-----------------------5
INVENTTRANSFERTABLE-------------------3-----------1--------------------------438------------------------6
INVENTTRANSFERTABLE-------------------4-----------1--------------------------434------------------------6
INVENTTRANSFERTABLE-------------------5-----------1--------------------------434------------------------6
INVENTTRANSFERTABLE-------------------2-----------1--------------------------409------------------------5
INVENTTRANSFERTABLE-------------------6-----------1--------------------------305------------------------0
INVENTSUMDELTADIM---------------------1-----------1--------------------------170------------------------3
BATCH---------------------------------5-----------1--------------------------116------------------------0
BATCH---------------------------------2-----------1--------------------------83-------------------------2
BATCH---------------------------------3-----------1--------------------------68-------------------------0
INVENTDIM-----------------------------1-----------1--------------------------64-------------------------0
INVENTDIM-----------------------------3-----------1--------------------------17-------------------------0
INVENTDIM-----------------------------4-----------1--------------------------13-------------------------0
INVENTDIM-----------------------------6-----------1--------------------------10-------------------------0
INVENTDIM-----------------------------2-----------1--------------------------9--------------------------0
INVENTDIM-----------------------------5-----------1--------------------------9--------------------------0
sysobjvalues--------------------------1-----------1--------------------------6--------------------------0
INVENTDIM-----------------------------8-----------1--------------------------4--------------------------0
INVENTDIM-----------------------------9-----------1--------------------------4--------------------------0
INVENTDIM-----------------------------10----------1--------------------------4--------------------------0
INVENTDIM-----------------------------11----------1--------------------------4--------------------------0
INVENTDIM-----------------------------7-----------1--------------------------3--------------------------0
BATCHJOBHISTORY-----------------------1-----------1--------------------------1--------------------------0
INVENTTRANS---------------------------1-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------2-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------3-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------4-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------5-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------6-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------7-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------8-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------9-----------1--------------------------0--------------------------0
INVENTTRANS---------------------------10----------1--------------------------0--------------------------0
upd: забыл задать вопрос... пока рано конечно делать какие-либо выводы, т. к. не провел такие же тесты с индексом по RecId. Но хотя бы предварительно по п.3 скажите, достаточно много ли много расщеплений по индексу TransOrigin случилось? Могли ли они как-то существенно повлиять на производительность или чтобы это отразилось на производительности должны быть цифры другого порядка?
upd: добавил статистику по InventTrans в п.3, оказывается по индексам таблицы не было вообще.