|
![]() |
#1 |
Участник
|
Цитата:
Приведенный мной код замедляет работу ТОЛЬКО одного пользователя. НО приведенный мной код ускоряет работу НЕСКОЛЬКИХ одновременно работающих пользователей. Из-за снижения вероятности блокировок. За подробностями обращайтесь к совету Еременко. Цитата:
Пользуйтесь стандартным классом SysOperationProgress. Разберитесь как и когда он обновляется и при каких условиях. Обсуждение этого класса наверное оффтопик в этой ветке. |
|
![]() |
#2 |
сибиряк
|
Особенно чудные результаты дает этот класс при работе с несколькими компаниями.
__________________
С уважением, Вячеслав. |
|
![]() |
#3 |
Участник
|
Цитата:
Здесь давайте вернемся к групповым операциям в Аксапте? |
|
![]() |
#4 |
NavAx
|
Цитата:
Если ожидается что транзакция будет слишком большой что чревато блокировками да и просто тормозит работу, надо стараться разбить её, в многих случаях это возможно. Можно делать ttscommit/ttsbegin например после каждых 500 строк. Но за маленькие транзакции я бью по рукам ![]() Чтобы не быть голословным - провёл тест (по 5 тестов на каждый вариант) на табличке inventTrans (14 тыс. записей). Добавил в неё текстовое поле 10 - в него пишу timenow. В случае одной транзакции - 34,8 сек. (100%) В случае маленьких транзакций с прогрессбаром - 68,3 сек (196%) В случае маленьких транзакций без прогрессбара - 65,2 сек (187%) Версия Axapta - 4.0 SP1 Как показал тест, действительно немного он тратит, зря я его так. Хотя может это в четвёрке стало быстрее. Мне запомнилась цифра в 30%, надо бы проверить на трёшке.
__________________
С уважением, Игорь Ласийчук. |
|
![]() |
#5 |
Участник
|
Да, например.
А вот это зря. Цитата:
Сообщение от Garic
![]() Чтобы не быть голословным - провёл тест (по 5 тестов на каждый вариант) на табличке inventTrans (14 тыс. записей). Добавил в неё текстовое поле 10 - в него пишу timenow.
В случае одной транзакции - 34,8 сек. (100%) В случае маленьких транзакций с прогрессбаром - 68,3 сек (196%) В случае маленьких транзакций без прогрессбара - 65,2 сек (187%) Вы оптимизируете работу ОДНОГО пользователя. Попробуйте запустить хотя бы 10-20, а лучше 50-100 пользователей, которые работают с InventTrans, пишут и читают один и тот же набор данных. Оцените производительность больших и маленьких транзакций для МНОГОПОЛЬЗОВАТЕЛЬСКОЙ системы. Про прогресс бар пожалуйста сюда Какие проблемы у SysOperationProgress? Здесь предлагаю сосредоточиться на больших и маленьких транзакциях, групповых и негрупповых обработках данных. |
|
![]() |
#6 |
Участник
|
Кстати, 14 тыс - это небольшое число. Все записи, скорее всего, помещаются в кэш сервера.
О влиянии кэша см. http://axapta.mazzy.ru/lib/axapta_itanium/ Но даже на таком маленьком числе записей разница в многопользовательском тесет будет заметна. Пожалуйста, не надо из Аксапты делать однопользовательскую ЕРП. Пожалуйста, тестируйте для многих пользователей. |
|
Теги |
recordset, update_recordset, ax2009 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|