Имя: Пароль:
1C
 
Торможения отчетов и регламентных заданий
0 santakomi
 
22.09.25
09:00
Здравствуйте. На БД (весом 150гб+) начали долго выполняться отчеты и проводиться некоторые операции, а также стали долго отрабатывать регламенты ("Групповое перепроведение ИПЧ", вдруг знакомо).
Проблемы тормозов совпали (?) с переведением БД из "простой" модели восстановления в "полную", с включение обрезки ЖТР MSSQL (по времени, раз в час), а также включением зеркалирования на другой, аналогичный по характеристикам, сервер (немного различается размер кластера диска с БД и ЖТР на основном и зеркальном сервере, т.к. разные диски (NVME SSD), в остальном - идентичные).
Вводные:
1. ОС Windows Server 2022
2. MS SQL 2022 Enterprise
3. Версия платформы 8.3.27.1688
4. Конфигурация 1С:УНФ 8. Управление предприятием общепита, редакция 3.0 (3.0.5.184)

Какие были попытки решения проблемы:
1. Пауза зеркалирования - не помогло
2. Отключение зеркалирования - не помогло
3. Перезапуск платформы - не помогло
4. Перезапуск платформы с очисткой сеансового кеша - не помогло
5. Отключение прочих БД, которые расположены на том же сервере и подключены к той же СУБД, с отключение регламентов с перезапуском СУБД и платформы - не помогло
6. Перезагрузка сервера полностью - не помогло

При этом, если восстановить эту БД на другом сервере (на который осуществлялось зеркалирование) - то всё ок, показательный отчет формируется за 1-1.5 минуты, при том, что на проблемном он формируется 20-25 минут %)

Финт с бекапом на проблемном, разверткой на нормальном, и обратным бекапом и разверткой на проблемном - не прокатил, результаты те же, медленно. По словам 1с-программиста, в других базах (а их рядом ещё 3) таких тормозов нет

Снова перевел проблемную БД на "простую" модель восстановления в MSSQL (считай вернулся к исходному её состоянию) - также медленно.

Рядом с боевой сбойной базой есть такая же, как типа демо, там проблемы воспроизводятся тоже - медленное выполнение отчетов и т.п.
На этой проблемной и других БД, подключенных к этому же серверу СУБД, проводится регламенты по реорганизации индексов (если фрагментация более 5%) и перестроение индекса (если фрагментация >30%) с перестроением планов запросов по этим индексам, а также обновление статистики 2 раза в день с очисткой процедурного кеша.

Параллельно, на ныне сбойный сервер (будем его называть так) также было сделано зеркалирования с зеркального сервера другой БД.
После чего в логах MSSQL появились записи вида:
There have been 60160 misaligned log IOs which required falling back to synchronous IO.
В журнале ОС соответственно: Имеется 60416 операций ввода-вывода журнала с неверным выравниванием, что привело к необходимости возврата к синхронному вводу-выводу.
Примеры сообщений выдернуты в разное время из журналов.

После чего проверил параметры дисков на этих двух серверах.
На сбойном параметры диска с БЖ и ЖТР такие:
C:\Windows\system32>fsutil fsinfo sectorinfo E:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Выравнивание устройства : Выровнено (0x000)
Выравнивание разделов на устройстве : Выровнено (0x000)
Без штрафа за поиск
Очистка поддерживается
Не поддерживает DAX
Без тонкой подготовки

На нормальном такие:
C:\Windows\system32>fsutil fsinfo sectorinfo E:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 512
PhysicalBytesPerSectorForPerformance : 512
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 512
Выравнивание устройства : Выровнено (0x000)
Выравнивание разделов на устройстве : Выровнено (0x000)
Без штрафа за поиск
Очистка поддерживается
Не поддерживает DAX
Без тонкой подготовки

Вот собственно и вся разница) попытался форматированием диска Е на сбойном привести размеры соответствие - не вышло, форматированием не решается. Пишут, что особенности используемых дисков.

Сейчас все зеркалирования отключены.
Также добавлю, что, судя по виндовым счетчикам производительности, большой нагрузки на дисковую подсистему нет. Утилизация дисков минимальна, лишь в редкие моменты подскакивает до больших значений.
TempDB MSSQL и ЖР 1С выведены на отдельный, от файлов БД и ЖТР, диск, более быстрый.
Нагрузка по ЦПУ и ОЗУ (MSSQL отъедает выделенную ему память) также в норме.

Уважаемое сообщество, подскажите, куда ещё можно копнуть?
1 Волшебник
 
23.09.25
11:41
Пусть программист сделает замер производительности и поймёт, куда тратится время.
Может там лишних циклов понакрутили...
2 santakomi
 
23.09.25
12:13
Здравствуйте. Сегодня провели замер производительности через платформу, на сбойном сервере проверочный отчет показывает общее время выполнения 450 сек (7.5. минуты), а на деле он выполняется не меньше 1200сек (20 минут), что мы фактически наблюдаем при запуске из клиента.
Чем может заниматься платформа всё неучтённое в замере производительности время?))

При этом на тестовом и эталонном серверах этот же отчет формируется за 151 и 150 сек соответственно, что, в принципе, нормальный результат.

Опять же, наблюдая за нагрузкой скуля (через монитор активности) во время замеров, ожидающий процессов и блокировок не насмотрено((
Может быть существуют какие-либо параметры технического журнала 1С, которые можно включить и сбор и уже на них обратить внимание?
3 H A D G E H O G s
 
23.09.25
12:28
150 секунд - это ненормальный результат, это охереть как долго. Я бы закрыл этот отчет и никогда не использовал, проклянув программистов и пользуя свой запрос в консоли, что я и так делаю, вместо ущербных типовых отчетов от 1С
4 H A D G E H O G s
 
23.09.25
12:30
А по теме - надо смотреть, что там за запрос в отчете, вдруг там через точку к ЛюбаяСсылка и mssql охеревает от левых соединений с десятками тысяч таблиц и сваливает все через lazy table spool. Соберите estimated xml plan и все станет понятно
5 Fragster
 
гуру
23.09.25
12:30
(2) запустите из отладки и сравните объем передаваемых данных. а также проверьте, процессор сервера находится в режиме performance, а не  balanced
6 Fragster
 
гуру
23.09.25
12:32
(3) ну заменить на хранение консолидированных данных в РС и расчет регламентом конечно, просится, но вообще, почему нет? сотрудникам ЗП идет, все в плюсе.
7 Fragster
 
гуру
23.09.25
12:45
(4) > Соберите estimated xml plan и все станет понятно
ну типа в (0) про реорганизации и переиндексации написано, которые в т.ч. статистику обновляют, ЕМНИП.
да и по дефолту авторасчет статистики уже давно включен
8 santakomi
 
23.09.25
12:43
(6) Здравствуйте. Что касается режима работы процессора, Вы же об этом: GUID схемы питания: 4d166729-9479-47d6-9722-f936d0c805f1  (Максимальная производительность) ?
9 santakomi
 
23.09.25
13:06
(4) Здравствуйте. Насколько мне известно, именно в том отчете, который мы берем как мерило теста, таких ссылок нет. Но даже если и есть, то на другом (эталонном) сервере всё выполняется за вменяемое время.
Помимо данного отчета, тормоза проявляются и в регламентных заданиях, типа перепроведения документов (регламентное задание), а это типовая операция.

Что касается "Соберите estimated xml plan и все станет понятно" посмотрю в эту сторону, спасибо за наводку.
10 santakomi
 
23.09.25
12:49
(7) Да, автообновление статистики включено + идет обновление её два раза в день со сбросом процедурного кэша.
11 Lama12
 
23.09.25
12:54
(0) Что у вас с распараллеливанием выполнения запросов в настройках серверов СУБД? Одинаковые настройки?
12 santakomi
 
23.09.25
13:07
(11) Здравствуйте. Да, настройки MSSQL впринципе одинаковые, вплоть до расположения файлов системных БД и темпдб, ну и пользовательских, разумеется.
Если вы про параметр "Максимальная степень параллелизма", то он выставлен в 1 (как на ИТС и большинстве статей\форумов пишут)
13 Волшебник
 
23.09.25
13:12
Покажите отчёт: запрос и код обработки данных
14 santakomi
 
23.09.25
13:27
15 Волшебник
 
23.09.25
13:34
(14) Запрос громоздкий и тормозной. Нужно оптимизировать. Админу тут делать нечего
16 H A D G E H O G s
 
23.09.25
13:42
ВТ_ГрафикиДействующиеСУчетомПериодичности.ГруппаНоменклатуры = ВТ_ДоступнаяНоменклатураСклад.Папка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель


https://vk.com/video-181251284_456240764
17 santakomi
 
23.09.25
13:44
(15) Коллега-программист такое же мнение выразил. Но видите какая ситуация, ясное дело, что запрос не оптимизирован, но ранее он хоть выполнялся за вменяемое время, да и на эталонном сервере он продолжает нормально работать. А из изменений, которые были применены к БД был перевод на полную модель (что как бы маст хэв) и включение зеркалирования (что я в первом сообщении в теме расписал)

После обнаружения тормозов всё вернул на место и, более того, даже проверил с откатом на версию платформы 8.3.27.1508 (на которой тормозов не замечалось) - без толку. Что данный отчет, что регламенты - выполнение стремится к бесконечности.
Временно принято решение мигрировать БД на сервер, где они нормально работает, но хотелось бы понять изначальную причину возникновения тормозов.

Может подскажите, какие параметры в ТЖ 1С стоит указать и обратить на них внимание? На данный момент собираю небольшой ТЖ с такими параметрами:

Подробности

<?xml version="1.0"?>
<config xmlns="http://v8.1c.ru/v8/tech-log
    <log location="F:\1C_logs\err" history="48">
        <event>
            <eq property="name" value="ATTN"/>
        </event>
        <event>
            <eq property="name" value="ADMIN"/>
        </event>
        <event>
            <eq property="name" value="PROC"/>
        </event>
        <event>
            <eq property="name" value="QERR"/>
        </event>
        <event>
            <eq property="name" value="EXCP"/>
        </event>
        <event>
            <eq property="name" value="EXCPCNTX"/>
        </event>
        <event>
            <eq property="name" value="CLSTR"/>
        </event>
        <event>
            <eq property="name" value="TLOCK"/>
            <ne property="WaitConnections" value=""/>
        </event>
        <event>
            <eq property="name" value="CALL"/>
            <ne property="RetExcp" value=""/>
        </event>
        <property name="all"/>
    </log>
    <log location="F:\1C_logs\ScriptCircRefs" history="48">
        <event>
            <eq property="Name" value="SCRIPTCIRCREFS"/>
        </event>
        <property name="All"/>
    </log>
    <log history="72" location="F:\1C_logs\locks_sql">
        <event>
            <eq property="Name" value="DBMSSQL"/>
            <eq property="p:processName" value="erp"/>
        </event>
        <property name="t:computerName"/>
        <property name="t:connectID"/>
        <property name="Context"/>
        <property name="Sql"/>
        <property name="Sdbl"/>
        <property name="lkaid"/>
        <property name="lka"/>
        <property name="lkp"/>
        <property name="lkpid"/>
        <property name="lksrc"/>
        <property name="tableName"/>
        <property name="Usr"/>
        <property name="dbpid"/>
    </log>
    <dbmslocks/>
    <scriptcircrefs/>
</config>
18 timurhv
 
23.09.25
13:44
Проблема только с отчетом?

Это пять:

ИЛИ ВТ_ГрафикиДействующиеСУчетомПериодичности.ГруппаНоменклатуры = ВТ_ДоступнаяНоменклатураСклад.Папка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель
ИЛИ ВТ_ГрафикиДействующиеСУчетомПериодичности.ГруппаНоменклатуры = ВТ_ДоступнаяНоменклатураСклад.Папка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель
19 Волшебник
 
23.09.25
13:45
(17) Запрос надо переделывать, вдумчиво. Побольше временных таблиц, поменьше соединений и обращений через кучу точек. Убрать эти "января", "февраля". Можно ещё убрать РАЗРЕШЕННЫЕ и выполнять запрос в привилегированном режиме.
20 santakomi
 
23.09.25
13:45
(18) Здравствуйте. Нет, проблема не только с данным отчетом. Его используем просто как пример, мерило "производительности". Т.к., одновременно с началом тормозов, он тоже перестал выполняться за вменяемое время.
21 santakomi
 
23.09.25
13:46
(19) Спасибо за развёрнутое мнение, передам коллегам.
22 Волшебник
 
23.09.25
13:46
(20) Такой запрос нельзя считать "мерилом". Это говнокод.
23 santakomi
 
23.09.25
13:56
(22) Если отойти от именно этого примера отчёта, в какие метрики стоит залезть ещё?
Потому как, повторюсь, другой север с аналогичным набором параметров переваривает всё, как должное, благо запас мощности достаточный.
Ради ускорения работы данной ИБ даже ушли от виртуализации на полный bare metal-сервера.
Но, по какой-то причине, на нормальном сервере, где эта БД крутилась 3 месяца без проблем, начали появляться большие задержки.
24 Волшебник
 
23.09.25
13:57
(23) Я слышал про некий тест Гилёва, который считается эталонным. Прогоните его
http://www.gilev.ru/tpc1cgilv/
25 santakomi
 
23.09.25
14:01
(24) им прогонял, когда на физический сервер приземлял БД) тест был в фиолетовой зоне. Количество попугаев уже не помню.
Но перетестировать никогда не лишнее, спасибо за идею
26 Волшебник
 
23.09.25
14:11
(25) Гилёв пишет, что на физическом сервере можно ещё настройками BIOS подшаманить.
http://www.gilev.ru/?s=bios&submit=Найти
27 Timon1405
 
23.09.25
14:52
Gemini говорит что дело в диске
### Разбивка вопроса на факты:
1.  **Проблема:** Медленное выполнение отчетов и операций, а также длительная отработка регламентов (например, "Групповое перепроведение ИПЧ") в 1С.
2.  **Масштаб проблемы:** Затронута одна большая БД (150Гб+) и её "демо" копия на том же сервере. Другие БД на том же сервере работают нормально.
3.  **Хронология:** Проблема совпала с переключением модели восстановления БД в "полную", включением обрезки ЖТР MSSQL и настройкой зеркалирования.
4.  **Среда:**
    *   ОС: Windows Server 2022
    *   СУБД: MS SQL 2022 Enterprise
    *   Платформа 1С: 8.3.27.1688
    *   Конфигурация 1С: УНФ 8. Управление предприятием общепита, редакция 3.0 (3.0.5.184)
5.  **Попытки решения (неудачные):**
    *   Пауза/отключение зеркалирования.
    *   Перезапуски платформы, СУБД, сервера.
    *   Очистка сеансового кеша 1С.
    *   Отключение других БД и регламентов.
    *   Восстановление БД на другом сервере (работает быстро), затем бэкап/восстановление обратно на проблемный сервер (снова медленно).
    *   Возврат модели восстановления на "простую".
6.  **Успешное тестирование:** При восстановлении проблемной БД на *другом* сервере (ранее зеркальном), производительность нормальная (1-1.5 мин против 20-25 мин).
7.  **Настройки СУБД:**
    *   Регламенты по реорганизации/перестроению индексов (фрагментация >5% / >30%).
    *   Обновление статистики 2 раза в день.
    *   Очистка процедурного кеша.
8.  **Логи MSSQL:** Появление сообщений "There have been 60160 misaligned log IOs which required falling back to synchronous IO." после настройки зеркалирования другой БД на этот же сервер.
9.  **Параметры дисков (fsutil fsinfo sectorinfo):**
    *   **Проблемный сервер:** `PhysicalBytesPerSectorForAtomicity: 4096`, `PhysicalBytesPerSectorForPerformance: 4096`, `FileSystemEffectivePhysicalBytesPerSectorForAtomicity: 4096`.
    *   **Нормальный сервер:** `PhysicalBytesPerSectorForAtomicity: 512`, `PhysicalBytesPerSectorForPerformance: 512`, `FileSystemEffectivePhysicalBytesPerSectorForAtomicity: 512`.
    *   Разница в размере кластера диска с БД и ЖТР на основном и зеркальном серверах (NVME SSD). Попытки форматирования на проблемном диске не изменили параметры.
10. **Текущее состояние:** Зеркалирования отключены.
11. **Мониторинг производительности:** Windows-счетчики показывают низкую утилизацию дисков, CPU и RAM в норме (MSSQL потребляет выделенную память).
12. **Размещение файлов:** TempDB MSSQL и ЖР 1С вынесены на отдельный, более быстрый диск.

### Проверка ответа на соответствие каждому факту:
На основе предоставленных фактов, самая явная и критичная проблема, которая **точно** объясняет наблюдаемые симптомы, связана с параметрами дисковой подсистемы и сообщениями об `misaligned log IOs`.
**Основная гипотеза:** Проблема связана с неоптимальной конфигурацией дисковой подсистемы на "проблемном" сервере, в частности, с несоответствием размера сектора, что приводит к штрафам производительности при записи логов и данных.
**Развернутый ответ и куда копать:**
#### 1. Диагностика проблемы с `misaligned log IOs` и размером сектора (Оценка: 10/10)

Это сообщение в логах SQL Server: "There have been **misaligned log IOs** which required falling back to **synchronous IO**" является **ключевым**. Оно прямо указывает на то, что SQL Server обнаруживает несовпадение между размером сектора, который он "ожидает" (обычно 512 байт, но современный SQL Server хорошо работает с 4k секторами при правильной конфигурации), и тем, как диск сообщает о своих физических секторах (Advanced Format disks).

*   **Ваши `fsutil` данные это подтверждают:**
    *   На проблемном сервере: `PhysicalBytesPerSectorForAtomicity : 4096`, `PhysicalBytesPerSectorForPerformance : 4096`. Это означает, что диск физически оперирует 4КБ секторами.
    *   На нормальном сервере: `PhysicalBytesPerSectorForAtomicity : 512`, `PhysicalBytesPerSectorForPerformance : 512`. Это означает, что диск эмулирует 512-байтные сектора.

*   **Почему это проблема:** Когда SQL Server пытается записать данные или лог-файлы блоками, которые не совпадают с физическим размером сектора диска (например, пишет 512 байт на 4КБ сектор), операционной системе и диску приходится выполнять дополнительную работу: читать весь 4КБ сектор, изменять часть 512 байт, а затем записывать весь 4КБ сектор обратно. Это называется "Read-Modify-Write" цикл и **резко снижает производительность ввода-вывода**, особенно для лог-файлов, которые являются критически важными для производительности транзакций и операций записи. Сообщение "falling back to synchronous IO" означает, что вместо асинхронных, более быстрых операций, SQL Server вынужден ждать завершения каждой операции записи, что еще больше замедляет работу.

*   **Почему на другом сервере все ок:** Другой сервер, несмотря на то, что у него NVME, каким-то образом (возможно, через драйвер диска, прошивку или настройки контроллера) представляет себя операционной системе как диск с 512-байтными секторами, или же на нем настроена правильная конфигурация для 4КБ секторов, которая не вызывает `misaligned IOs`.

*   **Почему это проявилось при переходе на полную модель восстановления и зеркалировании:**
    *   **Полная модель восстановления:** Увеличивает объем записей в журнал транзакций (ЖТР), так как все изменения фиксируются для возможности восстановления на момент времени. Это увеличивает нагрузку на дисковую подсистему ЖТР.
    *   **Зеркалирование:** Также увеличивает нагрузку на ЖТР, так как транзакции должны быть отправлены на зеркало.
    *   По сути, эти изменения увеличили объем дисковых операций, что обнажило проблему с `misaligned IOs`, которая, возможно, существовала и раньше, но не была столь критичной.

**Рекомендации по этому пункту:**

1.  **Подтверждение выравнивания:** Используйте `DISKPART` и команду `list partition` затем `select partition X` и `detail partition` для проверки смещения (Offset) разделов. Для 4K секторов смещение должно быть кратно 4096 байтам (например, 1024 KB = 1048576 байт, что кратно 4096).
2.  **Переформатирование:** Если разделы выровнены неправильно, или если системные утилиты не могут корректно работать с 4K секторами, **единственное надежное решение – это пересоздание разделов и переформатирование диска с правильным выравниванием**. Вы сказали, что форматирование не помогло изменить `fsutil` данные, но это не значит, что выравнивание было сделано правильно. Возможно, проблема глубже, на уровне драйверов диска или контроллера.
    *   **Внимание:** Это разрушительная операция. Требуется полный бэкап данных.
    *   При создании разделов убедитесь, что смещение (offset) кратно 4096 байтам (например, 1MB или 8MB). Современные ОС обычно делают это автоматически, но стоит перепроверить.
3.  **Обновление драйверов/прошивок:** Проверьте наличие обновлений для драйверов контроллера диска (RAID-контроллера, если есть) и прошивки самих NVME SSD. Производители могут выпускать исправления для проблем с 4K секторами.
4.  **Проверка настроек SQL Server:** Убедитесь, что SQL Server установлен на диск, который правильно выровнен. Для SQL Server 2022 это уже не такая частая проблема, как для старых версий, но все же стоит проверить.
5.  **Trace Flag 1800 и 1802:** В некоторых случаях (особенно для старых SQL Server или специфических конфигураций) могли помочь Trace Flags 1800 и 1802, которые принуждают SQL Server использовать определенный размер сектора. Однако для SQL Server 2022 это менее вероятно и может привести к другим проблемам, если диск на самом деле не поддерживает этот размер. Лучше решить проблему на уровне ОС/диска.

#### 2. Диагностика производительности 1С и SQL Server (Оценка: 8/10)

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

*   **Планы запросов:**
    *   На проблемном сервере, после того как вы восстановили БД, SQL Server мог построить неоптимальные планы запросов из-за изменившейся производительности дисковой подсистемы.
    *   Даже при наличии регламентов по перестроению индексов и обновлению статистики, "медленные" диски могут влиять на выбор планов.
    *   **Что делать:** Используйте SQL Server Management Studio (SSMS) для анализа самых медленных запросов 1С. Запустите проблемный отчет и посмотрите, какие запросы выполняются долго. Анализируйте их планы выполнения (Execution Plan) на предмет дорогих операций (например, Table Scan, Key Lookup, Bookmark Lookup) и больших объемов чтения данных.
    *   **Extended Events / Profiler:** Настройте сбор событий SQL Server (например, `sql_statement_completed`, `rpc_completed`) для выявления самых медленных запросов, их длительности и CPU/IO.
*   **Блокировки и взаимоблокировки (Deadlocks):**
    *   Замедление операций ввода-вывода может увеличить время удержания блокировок, что, в свою очередь, может привести к увеличению блокировок и взаимоблокировок между сеансами 1С.
    *   **Что делать:** Проверяйте логи SQL Server на наличие сообщений о блокировках. Используйте `sp_whoisactive` или другие инструменты для мониторинга активных блокировок во время выполнения медленных операций.
*   **Особенности 1С:УНФ и "Групповое перепроведение ИПЧ":**
    *   Этот регламент может быть очень ресурсоемким, особенно на больших базах, так как он пересчитывает взаиморасчеты, себестоимость и другие зависимые данные.
    *   **Что делать:**
        *   Проанализируйте, какие именно операции внутри регламента занимают больше всего времени. Возможно, есть конкретные документы или регистры, которые обрабатываются особенно долго.
        *   Возможно, после восстановления на проблемном сервере, состояние данных или индексов стало таким, что этот регламент стал работать медленнее. Стоит сравнить состояние индексов (фрагментацию, статистику) на "нормальном" и "проблемном" серверах.
*   **Параметры запуска 1С-сервера (ras, rphost):**
    *   Количество рабочих процессов, объем памяти на процесс. Хотя вы указали, что ОЗУ в норме, иногда неоптимальные настройки могут влиять на производительность.
    *   **Что делать:** Проверить настройки кластера серверов 1С.
*   **Индексы и статистика:**
    *   Вы упомянули регламенты по реорганизации/перестроению индексов и обновлению статистики. Это хорошо. Убедитесь, что они действительно эффективно работают и охватывают все необходимые индексы/таблицы.
    *   **Что делать:** Проверьте актуальность статистики (`DBCC SHOW_STATISTICS`) для крупных таблиц и индексов, участвующих в медленных запросах.

#### 3. Мониторинг производительности (Оценка: 9/10)

Вы указали, что Windows-счетчики показывают низкую утилизацию дисков. Это может быть обманчиво:

*   **Низкая утилизация ≠ высокая производительность:** Если диск выполняет операции Read-Modify-Write, он может быть "занят" на низкий процент, но каждая операция будет занимать гораздо больше времени, чем должна. Это проявляется в высоких значениях `Avg. Disk sec/Transfer` (среднее время на передачу) или `Disk Queue Length` (длина очереди диска), даже при низком `Disk % Utilization`.
*   **Что делать:**
    *   Отслеживайте счетчики производительности диска более детально:
        *   `PhysicalDisk\Avg. Disk sec/Read`
        *   `PhysicalDisk\Avg. Disk sec/Write`
        *   `PhysicalDisk\Current Disk Queue Length`
        *   `PhysicalDisk\Disk Bytes/sec`
        *   `PhysicalDisk\Disk Transfers/sec`
    *   Сравните эти показатели на "нормальном" и "проблемном" серверах во время выполнения одного и того же отчета. Вы, скорее всего, увидите значительно более высокие значения `Avg. Disk sec/Read` и `Avg. Disk sec/Write` на проблемном сервере.
    *   Используйте утилиты типа `Perfmon` или `Resource Monitor` для детального анализа.

#### 4. Прочие факторы (Оценка: 7/10)

*   **Антивирусное ПО:** Убедитесь, что папки с файлами БД, логов и TempDB исключены из сканирования антивирусом. Антивирус может значительно замедлять операции ввода-вывода.
*   **Энергосбережение:** Проверьте настройки электропитания на сервере. Они должны быть установлены в режим "Высокая производительность" (High Performance).
*   **Обновления ОС/SQL Server:** Убедитесь, что установлены все последние обновления для Windows Server 2022 и SQL Server 2022. Иногда исправления производительности могут быть в кумулятивных обновлениях.
*   **BIOS/UEFI:** В некоторых случаях настройки BIOS/UEFI (например, режим работы контроллера диска - AHCI vs RAID, настройки кэша) могут влиять на производительность NVME.

### Заключение:

Наиболее вероятная причина ваших проблем – это **misaligned log IOs** из-за несовпадения логического и физического размера сектора на дисках проблемного сервера. Это фундаментальная проблема дисковой подсистемы, которая будет влиять на все операции ввода-вывода, особенно на запись в журнал транзакций, что критично для 1С.

**Мой совет:** Сосредоточьтесь в первую очередь на диагностике и решении проблемы с дисками (пункт 1). Если это не поможет, или поможет частично, тогда переходите к детальной диагностике SQL Server и 1С (пункт 2), а также внимательному мониторингу (пункт 3).

Неудача с "финтом" бэкапа/развертки подтверждает, что проблема не в данных самой БД, а в окружении, в котором она работает на проблемном сервере. И разница в `fsutil` данных, а также сообщения в логах MSSQL, указывают прямо на диск.
2 + 2 = 3.9999999999999999999999999999999...