8.х УТ Разная скорость проведения на одном и том же железе

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем w0r0n, 26 авг 2015.

  1. TopicStarter Overlay
    w0r0n
    Offline

    w0r0n

    Регистрация:
    19 ноя 2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    УТ 10.3.26 (пробовал и на 10.3.33)
    РИБ - основной узел на sql а подчиненный в файловом варианте

    Скорость проведения некоторых видов документов отличается в разы.

    Делал замеры скорости - один и тот же документ на sql проводится за 6 секунд а в файловом варианте за 122 секунды.
    В файловом варианте очень долго выполняется запрос в процедуре "ПроверитьДопустимостьЦенОтпуска" в модуле "ОбщийМодуль.УправлениеДопПравамиПользователей " - 98% всего времени.

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

    Кто сталкивался с таким поведением?
    Как лечить такое свинство?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ставить либо серверный вариант, либо тогда уже делать проведение в привелигированом режиме для файловой.
    Вы для себя не думал почему люди для быстродействия покупают серверную а не файловую версии
    --- Объединение сообщений, 26 авг 2015 ---
    либо ограничение на уровне записей убирайте
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Файловую БД переиндексируйте в конфигураторе как минимум, сделайте дефрагментацию диска, где размещается файл - быть может и поможет. Файловый вариант всегда предполагает блокировки последовательные, а скл - умеет параллельные построчные.
  4. TopicStarter Overlay
    w0r0n
    Offline

    w0r0n

    Регистрация:
    19 ноя 2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    В моём случае не все так однозначно.
    Документы в которых нет вызова процедуры "ПроверитьДопустимостьЦенОтпуска" быстрее проводятся в файловом варианте чем в sql.
    --- Объединение сообщений, 26 авг 2015 ---
    Диск SSD. Делал полный ТиИ. Документ проводится 120 секунд вместо 122.
    Как писал выше - непонятно чем занимается запрос в процедуре "ПроверитьДопустимостьЦенОтпуска".
    --- Объединение сообщений, 26 авг 2015 ---
    Вот сам запрос
    Код:
        ВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета");
        Запрос.УстановитьПараметр("ВалютаРеглУчета", ВалютаРегламентированногоУчета);
        Запрос.Текст = "
        |ВЫБРАТЬ
        |    Док.Номенклатура,
        |    "+?(ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ЕдиницаИзмерения", МетаданныеДокумента, ИмяТабличнойЧасти),"Док.ЕдиницаИзмерения", "Док.Номенклатура.ЕдиницаХраненияОстатков")+" КАК ЕдиницаИзмерения,
        |    "+?(ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("СтавкаНДС", МетаданныеДокумента, ИмяТабличнойЧасти),"Док.СтавкаНДС,", "")+"
        |    ВЫБОР КОГДА Количество = 0 ТОГДА Док.Цена ИНАЧЕ Док.Сумма/Док.Количество КОНЕЦ КАК Цена,
        |    "+?(ОбщегоНазначения.ЕстьРеквизитДокумента("ВалютаДокумента", МетаданныеДокумента),"Док.Ссылка.ВалютаДокумента", "&ВалютаРеглУчета")
        +" КАК ВалютаДокумента,
        |    Док.НомерСтроки
        |" + ДополнительныеПоля + "
        |
        |ИЗ
        |    Документ." + ИмяДокумента + "."+ИмяТабличнойЧасти+" КАК Док
        |" + ЛевоеСоединение + "
        |ГДЕ
        |    Док.Ссылка = &ДокументСсылка
        |";
    
        // Установим параметры запроса.
        Запрос.УстановитьПараметр("ДокументСсылка" , ДокументОбъект.Ссылка);
    
        РезультатЗапроса = Запрос.Выполнить();
    
    Кто скажет почему в sql варианте он отрабатывает в разы быстрее чем в файловом?
    Последнее редактирование: 26 авг 2015
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Я Вам написал что там у Вас корее всего включено ограничение н ауровне записей и там идет проверка на тип цен доступно вам с ними что то делать или нет.
    --- Объединение сообщений, 27 авг 2015 ---
    там если посмотрите в самом началедаже есть
    Если РольДоступна("ПолныеПрава") Тогда
    Возврат;
    КонецЕсли;
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Потому что получение (чтение) данных из ИБ в sql варианте происходит быстрее.

    Как уже сказал Draco посмотрите не стоит ли у вас ограничение на уровне записей. Это та вещь которая здорово вешает файловый вариант ИБ.
  7. TopicStarter Overlay
    w0r0n
    Offline

    w0r0n

    Регистрация:
    19 ноя 2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Где можно посмотреть "ограничение на уровне записей"?
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    УТ нет под рукой не помню, смотрите в пунктах меню, ищите "Доступ на уровне записей" или "Параметры доступа на уровне записей".
  9. TopicStarter Overlay
    w0r0n
    Offline

    w0r0n

    Регистрация:
    19 ноя 2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Я все тесты выполнял под пользователем с полными правами.
    Ткните меня носом в эту проверку на полные права - сам найти не смог.
    --- Объединение сообщений, 27 авг 2015 ---
    В конфигураторе или в режиме предприятия?
  10. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    режим предприятия
  11. TopicStarter Overlay
    w0r0n
    Offline

    w0r0n

    Регистрация:
    19 ноя 2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Единственное что нашел - в настройках параметров учета есть неактивная галочка "ограничивать права доступа на уровне записей".
  12. TopicStarter Overlay
    w0r0n
    Offline

    w0r0n

    Регистрация:
    19 ноя 2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Ради интереса включил галочку и... время выполнения запроса стало 127 секунд. Да, чуть дольше чем без неё, но не критично.
    Что то другое влияет на этот запрос. Вопрос - Что?
    --- Объединение сообщений, 27 авг 2015 ---
    А вот теперь самое интересное!
    В дополнительных правах пользователя стояло
    "Не отпускать товар с ценой ниже определенного типа" = Базовый вид типа цены
    запрос в процедуре "ПроверитьДопустимостьЦенОтпуска" выполнялся за 122 секунды в файловом варианте
    поменял этот параметр на
    "Не отпускать товар с ценой ниже определенного типа" = Расчетный вид типа цены (90% от того базового)
    и запрос отработал за 0,02 секунды
    КАК? ПОЧЕМУ?
    Последнее редактирование: 27 авг 2015
  13. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    НУ потому что там запрос строиться динамически посмотрите с галочкой текст запроса и без. и тогда поймете.
    Понимае на мнапример без того же текста запроса надизировать быстродействи ен представляется взоможным.
    Плюс мы же еще не знаем сколько пользователей работает когда вы там все теты проводите и т.д
  14. TopicStarter Overlay
    w0r0n
    Offline

    w0r0n

    Регистрация:
    19 ноя 2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Пользователь один - я. Эксперименты провожу на копии базы.

Поделиться этой страницей