Перенос данных на рам-диск (или более быстрый диск)

1. Перенос кеша пользователя.

Для переноса кеша требуется выполнить 3 команды:

1. Удаление папки с кешем (по умолчанию: %USERPROFILE%\AppData\Roaming\1C\1Cv82) — для 8.2
%USERPROFILE%\AppData\Local\1C\1cv8 — для 8.3

rd /s /q «<Путь к папке на жестком диске>»

2. Создание папки на RAM диске:

mkdir «<Путь к папке на RAM диске>»

3. Создание символьной ссылки на папку RAM диска:

mklink /j «<Путь к папке на жестком диске>» «<Путь к папке на RAM диске>»

Данную процедуру нужно проделать для каждого пользователя. Проще всего написать батник вида:


mkdir B:\Users\1c\user1

rd /s /q «C:\Users\user1\AppData\Roaming\1C\1Cv82»
rd /s /q «C:\Users\user1\AppData\Local\1C\1cv8»

mklink /j «C:\Users\user1\AppData\Roaming\1C\1Cv82» «B:\Users\1c\user1»
mklink /j «C:\Users\user1\AppData\Roaming\1C\1cv8» «B:\Users\1c\user1»


Следует понимать что содержимое RAM диска находится в оперативной памяти и исчезает при выключении\перезагрузке сервера. Не обнаружив папку на диске B 1с выдаст ошибку: «Ошибка при выполнении файловой операции ‘<Путь к папке с кешем>'» и работать не будет. Поэтому при загрузке сервера каждый аз нужно выполнять создание папок на RAM диске:

mkdir «<Путь к папке на RAM диске>»

Пример батника:


mkdir B:\Users\1c\user1
mkdir B:\Users\1c\user2
mkdir B:\Users\1c\user3


Скрипт можно выполнять через планировщик заданий или через групповую политику:

gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Автозагрузка.

Так как в кеше хранится имя пользователя по умолчанию и при перезагрузке сервера или очисти RAM диска поле с именем пользователя сбрасывается на пустое.

Некоторые приложения RAM-дисков http://www.gilev.ru/ram-disk/ позволяют создавать каталоги автоматом.

Можно принудительно установить имя пользователя путем дописывание строчки:

/N»<имя пользователя 1С>»

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

AdditionalParameters=/N»<имя пользователя 1С>» в файл

C:\Users\<Имя пользователя>\AppData\Roaming\1C\1CEStart\ibases.v8i

Размещать каталог C:\Users\<Имя пользователя>AppData\Roaming\1C\1cv8 на рам-диске надо продуманно, так как там хранятся различные настройки.

2. Перенос временных файлов пользователя.

Сразу нужно заметить, что при обновлении конфигурации 1с в каталог временных файлов записывается большой объем информации. Также многие программы при установке/обновлении пишут туда данные, которые им потребуются после перезагрузки ПК. Поэтому пользователю, который будет обновлять 1с или устанавливать/обновлять другие программы, переносить каталоги временных файлов нельзя.

Аналогично переносу кеша, только папка будет другой (по умолчанию: %USERPROFILE%\AppData\Local\Temp).

Каталоги
С:\Temp
C:\Windows\Temp
общесистемных временных файлов также могут быть использованы 1С и их можно переносить на РАМ-диск, но делать надо это острожно, с учетом других приложений на сервере.

3. Перенос журнала регистрации

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

Путь размещения лучше всего посмотреть через ключ D запуска сервера 1С.
Пример размещения C:\Program Files\1cv8\srvinfo\reg_1541\ad4b6360-d5be-4ddf-b55c-4af1496443f2\1Cv8Log

4. Перенос сеансовых данных.

При большом количестве пользователей есть смысл кэшировать сеансовые данные. Подробней здесь http://www.gilev.ru/introsd/ .
Путь размещения лучше всего посмотреть через ключ D запуска сервера 1С.
Пример размещения C:\Program Files\1cv8\srvinfo\reg_1541\snccntx10790324-1e9b-4e2e-bbdc-6d02b2fffd9e