none
Падение производительности 1С и MS SQL.

    Вопрос

  • Здравствуйте. Есть:

    1. Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10Ghz 2.10Ghz (2 процессора)

    1С и MS SQL 2014 на железе, без виртуализации.

    БД: bp_fdo_test - Размер - 7Gb.

    Загрузка происходит за 7 секунд.

    TempDB и БД размещены на диске D из Raid 0, 4 диска SSD.


    2. Перенес на другой сервер.

    -  Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.40Ghz 2.40Ghz (2 процессора)

    TempDB и БД размещены на диске E из Raid 10, 6 дисков SSD.

    БД грузиться за 13 секунд. Я потерял немного в скорости, но разве могло это повлиять на то, чтоб БД стала в два раза медленней грузиться ? Возможно есть какие-то критичные настройки ? Так как всё пока что по дефолту. 

    Тестировалось без нагрузки, без пользователей.


Ответы

  • Во-первых, тесты несколько не соответствуют реальной нагрузке: MS SQL использует 8KB страницы. Насколько это существенно - сказать не могу, но лучше мерять ближе к реальности, если есть возможность.

    Во-вторых, разница в производительности у вас - не 2 раза: в частности, однопоточная сквозная произвольная запись (т.е. по одной операции в очереди, последняя строка) у вас стала медленнее раз в шесть. Фактически, для этого режима этот ваш RAID10 SSD работает на запись менее чем в 2 раза быстрее аналогичного массива на таком же количестве HDD 15K rpm. (800 IOPS вместо ~450 для HDD). IMHO это маловато для SSD.

    PS Очень стоило бы померять скорость линейной записи для  Q1T1 (однопоточная сквозная линейная запись) - в этом режиме как раз пишется журнал транзакций (если он не фрагментирован - что тоже не факт, если файл базы рос вместе с файлом журнала параллельно на одном диске), а скорость записи в него напрямую определяет скорость обработки транзакций.


    Слава России!

Все ответы

  • Вы считайте что 3-6 раз медленнее по записи это немного?


    This posting is provided "AS IS" with no warranties, and confers no rights.

    Модератор
  • Во-первых, тесты несколько не соответствуют реальной нагрузке: MS SQL использует 8KB страницы. Насколько это существенно - сказать не могу, но лучше мерять ближе к реальности, если есть возможность.

    Во-вторых, разница в производительности у вас - не 2 раза: в частности, однопоточная сквозная произвольная запись (т.е. по одной операции в очереди, последняя строка) у вас стала медленнее раз в шесть. Фактически, для этого режима этот ваш RAID10 SSD работает на запись менее чем в 2 раза быстрее аналогичного массива на таком же количестве HDD 15K rpm. (800 IOPS вместо ~450 для HDD). IMHO это маловато для SSD.

    PS Очень стоило бы померять скорость линейной записи для  Q1T1 (однопоточная сквозная линейная запись) - в этом режиме как раз пишется журнал транзакций (если он не фрагментирован - что тоже не факт, если файл базы рос вместе с файлом журнала параллельно на одном диске), а скорость записи в него напрямую определяет скорость обработки транзакций.


    Слава России!

  • Extents
    Extents are the basic unit in which space is managed. An extent is eight physically contiguous pages, or 64 KB. This means SQL Server databases have 16 extents per megabyte.

    ссылка https://docs.microsoft.com/en-us/sql/relational-databases/pages-and-extents-architecture-guide?view=sql-server-2017#extents

    Размер кластера на диске какой (bytes per cluster)?
    fsutil fsinfo ntfsinfo <Disk:>

  • Евгений, 64.

    M.V.V, спасибо. Попробую для теста глянуть, как с массивом из 6 дисков будет.