Автор Тема: Ускорение 1С 7.7 с помощью SSD  (Прочитано 8320 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ЖекаАвтор темы

  • Member
  • Карма: 0
    • Просмотр профиля
Ускорение 1С 7.7 с помощью SSD
« : 11 Октября 2013, 19:47:26 »
Вверх Вниз
Файловая база 1С v7 "Торговля и Склад" (ТиС).

Берем операцию восстановления основной последовательности.
По-сути, это перепроведение практически всех документов базы в той последовательности, в которой они были введены.

Самая тяжёлая операция здесь -- проведение документа Реализация.

Для выполнения расчетов движок 7-ки создает временные dbf-файлы в папке по-умолчанию.
Но её можно и нужно переопределить, путём добавления к ярлыку запуска параметра /t

Например:
C:\Program Files (x86)\1Cv77\BIN\1cv7.exe /tD:\Temp
Здесь D -- должен быть физически другой диск, отличный от того, на котором лежит база.

Такая операция в данном сценарии (массовом перепроведении документов) даст заметный выигрыш.
Но по-настоящему блестящие результаты можно получить, используя новые SSD-винчестеры, произвольное время доступа у которых на порядки меньше, чем у обычных HDD.

Среднее время проведения документа
7200=1.636 сек/док.
SSD + temp on 7200=1.438 сек/док.
SSD + temp on SSD=0.497 сек/док.
RAID-1 SSD + temp on SSD=0.238 сек/док.
RAID-0 SSD + temp on SSD=0.240 сек/док.
7200 + temp on SSD=0.580 сек/док.
7200 + temp on RAID-1 SSD=0.430 сек/док.
7200 + temp on RAID-0 SSD=0.424 сек/док.

Здесь:
7200 -- это обычный HDD со скоростью оборотов шпинделя 7200 об./мин
SSD -- обычный бюджетный твердотельный диск на 32 ГБ


Выводы:
  • Темп нельзя класть на медленный диск. Даже если база на быстром SSD, а темп на медленном 7200, то ускорения не будет практически никакого.
  • Смысла делать рейд 1/0 из SSD под темп практически нет. В одиночку SSD и так неплохо справляется с обязанностями темпа.
  • Просто класть базу на SSD и темп туда же так же не стОит. Во-первых, теряется надёжность. Во-вторых, скорость в таком варианте практически равна скорости, когда база лежит на 7200, а темп на SSD.
  • Самый быстрый и надёжный вариант -- это когда и база и темп лежать на RAID-1. По сравнению с одиночным SSD скорость выше в 2 раза + возможность замены вышедшего из строя SSD. По сравнению с обычным HDD прирост производительности до 5-7 раз!
  • Смысла нет класть ни базу, ни темп на RAID-0, прироста нет никакого, т.к. в этом варианте дисковая подсистема перестает быть булылочным горлом, и скорость, скорее всего, упирается в производительность процессора.
  • Бюджетный и эффективный вариант -- оставить базу на обычном винчестере, а темп вынести на SSD. Такими незамысловатыми действиями вы ощутите прирост производительности в 2-3 раза.

Оффлайн ЖекаАвтор темы

  • Member
  • Карма: 0
    • Просмотр профиля
Ускорение 1С 7.7 с помощью SSD
« Ответ #1 : 6 Января 2015, 14:19:15 »
Вверх Вниз
Важное дополнение

Производительность такой операции как (пере)проведение документов, например, при восстановлении последовательности, может лимитироваться не только скоростью дисковой подсистемы, но и процессором.

Как известно, 1С 7.7 использует только 1 ядро процессора, поэтому, чтобы понять насколько процесс 1cv7.exe загружает процессор, нужно в диспетчере задач этому процессу задать вручную на каком ядре многоядерного процессора (я сейчас все процессоры такие) исполняться.

Для этого нужно в диспетчере задач на вкладке "Процессы" / "Подробности" в контекстном меню выбрать "Задать соответствие" / "Задать сходство" и в открывшимся списке галочкой отметить только одно ядро.

После этого переходим на вкладку диспетчера задач "Быстродействие" / "Производительность" и наблюдаем за выбранным ядром.

Если в момент массового проведения документов ядро загружено на 100%, то производительность ограничена скоростью процессора.
Если в момент массового проведения документов ядро НЕ загружено на 100%, то производительность ограничена дисковой подсистемой.

Если после апгрейда дисковой подсистемы вы столкнулись с тем, что производительность теперь ограничена скоростью процессора,
то нужно выбирать процессор с максимальной тактовой частотой,
а так же большей производительностью целочисленных операций
(по тестам, AMD, например, в этом плане традиционно выигрывает у Intel).

Оффлайн exses

  • Member
  • Сообщений: 1
  • Карма: 0
    • Просмотр профиля
Ускорение 1С 7.7 с помощью SSD
« Ответ #2 : 23 Марта 2015, 17:32:27 »
Вверх Вниз
Спасибо за интересные замеры.
Вариант выноса %Temp% на RAM-диск не рассматривали?

Оффлайн ЖекаАвтор темы

  • Member
  • Карма: 0
    • Просмотр профиля
Ускорение 1С 7.7 с помощью SSD
« Ответ #3 : 26 Марта 2015, 11:14:23 »
Вверх Вниз
Вариант выноса %Temp% на RAM-диск не рассматривали?
Рассматривал.
Прирост будет еще чуть больше.

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

За всё время каждодневного использования в качестве TEMP в течение 2-х лет диск живой.

Как выяснилось, на производительность файловой базы 7.7 (среднее время проведения документа)  сильно влияет состояние регистров остатков.
До пересчета итогов в конфигураторе, при проведении одного документа пишется около 10 МБ временных файлов в ТЕМП.
После пересчета итогов -- всего около 1 МБ.

Разница, как видите, на порядок и её невозможно нивелировать никакими апгрейдами железа.

В итоге, после пересчета итогов среднее время проведения документа сокращается с 2.0 до 0.5 сек.

Поэтому для базы ТиС регламентный монопольный пересчет итогов (раз в месяц) строго показан для поддержания приемлемой производительности.

 

Поиск