Содержание:
1. Функция каталога с временными файлами
2. Смена объекта – каталог с временными файлами
1. Функция каталога с временными файлами
Приветствую, коллеги! В данной статье будет рассмотрена функция «КаталогВременныхФайлов» для платформы системы 1С:Предприятие. Будут описаны возможности и особенности данной функции, её применение, а также сопутствующие процедуры и функции. А также будет дано четкое определение самому понятию каталога с временными файлами как объекта, и рассмотрено как его менять.
Функция «КаталогВременныхФайлов» в системе программ 1С:Предприятие осуществляет работу с временными файлами системы. Данная функция располагается как в системе клиента «1С 8.3 Предприятие», так и на серверном компьютере. Сопутствующей функцией для данной является функция «ПолучитьИмяВременногоФайла». Она отвечает за возвращение уникального имени, которое было присвоено временному файлу внутри личного каталога со всеми файлами заданного вида.
Функция, которая рассматривается, имеет следующий общий вид: «КаталогВременныхФайлов()». Её задача – это возвращение пути для собственного каталога с временными файлами в 1С.
2. Смена объекта – каталог с временными файлами
Во время работы сервера для платформы «1С 8.3 Предприятие», а особенно в случае, когда за управление ответственность несёт операционная система Linux, часто происходят различного рода неполадки, которые напрямую связаны с тем, что во временном каталоге недостаёт файлов, которые необходимы, чтобы сервер мог работать. Причина, по которой появляются данные неполадки – скрипт, который очищает файлы внутри временного каталога. Рассмотрим, что надо предпринять для того, чтобы данной проблемы не возникало.
По умолчанию каталог, в котором хранят временные файлы – это каталог «/tmp». Чтобы обрабатывать каталог временных файлов, существует скрипт «/etc/cron.daily/tmpwatch», благодаря которому происходит удаление лишних файлов из временного хранения файлов, к которым в течении долгого времени не производился доступ.
Чтобы решить данную задачу нужно будет поменять каталог временных файлов, который задействуется пользователем, и от которого происходит работа сервера. Чтобы провести перемену каталога с временными данными, необходимо в файл «.bash.profile» добавить строки:
Рис. 1 Решение проблемы удаления данных из каталога временных файлов
Стоит отметить, что каталогом со временными файлами может служить любой из каталогов в системе. Главное – удостовериться, что пользователь, который запрашивает доступ к каталогу, имеет права для доступа к нему.
Для корректной работы в системе 1С:Предприятие необходимо перезагрузить сервер – тогда вышеуказанные перемены по изменению временного каталога будут работать правильно.
Следующее действие – это исключение обработки каталога временных файлов, который был назначен временным, в списке каталогов, которые могут быть обработаны при помощи утилиты «tmpwatch», запускаемой автоматически от планировщика задач операционной системы на компьютере. Чтобы провести данную процедуру нужно дополнить строку в скрипте «/etc/cron.daily/tmpwatch», которая отвечает за обработку каталога «/tmp», при помощи параметра, который указывает каталог, который будет исключён из конкретной обработки.
На скриншоте ниже представлен пример данного действия:
Рис. 2 Исключение обработки каталога временных файлов
Замечание: в случаях, когда в виде каталога с временными файлами был избран тот каталог, который не подлежит обработке при помощи скрипта «tmpwatch», проводить изменения в скрипте не требуется.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Изменение каталога временных файлов для агента сервера
Автор maxe-101, 28 ноя 2017, 16:44
0 Пользователей и 1 гость просматривают эту тему.
Здравствуйте товарищи!
Возникла потребность в переносе временных файлов агента сервера 1С на SSD т.к. на HDD большие задержки, вначале пробовал просто в реестре поменять путь для пользователя который выполняет эту функцию (USER1CV8), довольный перезапустился и оказалось что был создан новый профиль промышляющий тем же, а к измененному профилю, в реестре, добавилось расширение .bak . По итогу дальнейшей возни нечего не поменялось. Позже вычитал что агент то, не хранит пути для временный файлов в реестре. Помогите решить проблему!
Свойства компьютера — дополнительно — параметры среды.
только нужно залогиниться под этим пользователем.
Спасибо за Сказать спасибо
Цитата: alex0402 от 28 ноя 2017, 16:56
Свойства компьютера — дополнительно — параметры среды.
только нужно залогиниться под этим пользователем.
Нет, это так не работает, профиля как такового нет. Я попробовал зайти но пишет что не существует профиля.
Вообще-то, не должно быть тормозов, если файлы базы (СУБЛ) и ТА-логов, сервер СУБЛ, а также
файл полкачки ОС сделать только на SSD
Это основная нагрузка на файловую систему и тормоза
«временные файлов агента сервера 1С» — это мелочовкаЮ которая практически незаметна на фоне упомянутого выше
|
|||
RomarioAgro
10.02.18 — 15:37 |
Здравствуйте, подскажите пожалуйста, если кто знает. Ситуация: есть сервер windows server 2008, к которому через удаленный рабочий стол подключаются 5 пользователей. На сервере стоит 1с 8.3.10.2667, розница 2.2 файловая. Пользователи — это кассиры, с подключенными к их компам кассовыми аппаратами. Все работало, однако в определенный момент сервер после перезагрузки не включился, его починили, чего с ним было я не знаю. Однако сейчас кассиры не могут бить чеки из за того, что не настроено кассовое оборудование. Я стал разбираться и выяснил, что под каким бы пользователем не входил бы на сервер и в 1с для него подбирается одно и тоже рабочее место. Так же когда запускаешь базу, то для авторизации по умолчанию предлагается не последний пользователь текущего пользователя сервера, а последний пользователь независимо от того, кто заходил на сервер и включал 1с. Так же после удаления для одного из пользователей сервера кэша из каталогов AppDataLocal1C1Cv82 и AppDataLocal1C1Cv82, при включении 1с опять же предложила мне последнего пользователя, и после включения базы, в каталоги не было ничего записано. Далее поиском винды выяснил, что кэш пишется не в папки пользователей, а в папку с виндой C:WindowsApplication Data1C1cv8 и используется всеми пользователями сервера. Подскажите, что такое могло случиться и как можно все вернуть взад. |
||
Sj
1 — 10.02.18 — 15:55 |
Попробовать создать новых пользователей винды. |
||
Sj
2 — 10.02.18 — 16:03 |
Из инета: |
||
kossmatiy
3 — 10.02.18 — 16:05 |
(0) Переменные среды %appdata% и %localappdata% переопределяли? |
||
RomarioAgro
4 — 12.02.18 — 19:22 |
(1) пользователей создавали — тоже самое |
||
Fram
5 — 12.02.18 — 19:34 |
может во время восстановления после сбоя забыли права на профили восстановить. то есть файлы восстановили без ntfs разрешений |
||
Йохохо
6 — 12.02.18 — 19:53 |
(4) еще userprofile и запустите экзешник клиента 1с из цмд, т.е. C:Program Files (x86)1cv88.3.10.2561bin1cv8.exe, не через стартер |
||
Сияющий в темноте 7 — 12.02.18 — 19:56 |
запускайте через батник и в нем хадавайте переменные среды как вам хочется |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
1. Перенос кеша пользователя.
Для переноса кеша требуется выполнить 3 команды:
1. Удаление папки с кешем (по умолчанию: %USERPROFILE%AppDataRoaming1C1Cv82) — для 8.2
%USERPROFILE%AppDataLocal1C1cv8 — для 8.3
rd /s /q «<Путь к папке на жестком диске>»
2. Создание папки на RAM диске:
mkdir «<Путь к папке на RAM диске>»
3. Создание символьной ссылки на папку RAM диска:
mklink /j «<Путь к папке на жестком диске>» «<Путь к папке на RAM диске>»
Данную процедуру нужно проделать для каждого пользователя. Проще всего написать батник вида:
mkdir B:Users1cuser1
rd /s /q «C:Usersuser1AppDataRoaming1C1Cv82»
rd /s /q «C:Usersuser1AppDataLocal1C1cv8»
mklink /j «C:Usersuser1AppDataRoaming1C1Cv82» «B:Users1cuser1»
mklink /j «C:Usersuser1AppDataRoaming1C1cv8» «B:Users1cuser1»
Следует понимать что содержимое RAM диска находится в оперативной памяти и исчезает при выключенииперезагрузке сервера. Не обнаружив папку на диске B 1с выдаст ошибку: «Ошибка при выполнении файловой операции ‘<Путь к папке с кешем>’» и работать не будет. Поэтому при загрузке сервера каждый аз нужно выполнять создание папок на RAM диске:
mkdir «<Путь к папке на RAM диске>»
Пример батника:
mkdir B:Users1cuser1
mkdir B:Users1cuser2
mkdir B:Users1cuser3
Скрипт можно выполнять через планировщик заданий или через групповую политику:
gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Автозагрузка.
Так как в кеше хранится имя пользователя по умолчанию и при перезагрузке сервера или очисти RAM диска поле с именем пользователя сбрасывается на пустое.
Некоторые приложения RAM-дисков http://www.gilev.ru/ram-disk/ позволяют создавать каталоги автоматом.
Можно принудительно установить имя пользователя путем дописывание строчки:
/N»<имя пользователя 1С>»
в дополнительные параметры запуска. Или строчки:
AdditionalParameters=/N»<имя пользователя 1С>» в файл
C:Users<Имя пользователя>AppDataRoaming1C1CEStartibases.v8i
Размещать каталог C:Users<Имя пользователя>AppDataRoaming1C1cv8 на рам-диске надо продуманно, так как там хранятся различные настройки.
2. Перенос временных файлов пользователя.
Сразу нужно заметить, что при обновлении конфигурации 1с в каталог временных файлов записывается большой объем информации. Также многие программы при установке/обновлении пишут туда данные, которые им потребуются после перезагрузки ПК. Поэтому пользователю, который будет обновлять 1с или устанавливать/обновлять другие программы, переносить каталоги временных файлов нельзя.
Аналогично переносу кеша, только папка будет другой (по умолчанию: %USERPROFILE%AppDataLocalTemp).
Каталоги
С:Temp
C:WindowsTemp
общесистемных временных файлов также могут быть использованы 1С и их можно переносить на РАМ-диск, но делать надо это острожно, с учетом других приложений на сервере.
3. Перенос журнала регистрации
В клиент-серверном варианте информационной базы журнал регистрации располагается в подкаталоге рабочего каталога кластера. Имя подкаталога определяется идентификатором информационной базы. Перенос журнала регистрации на рам-диск надо совершать с учетом требований к критичности данных журнала регистрации.
Если ценность журнала регистрации не позволяет возможность случайных потерь данных, то необходимо совершить дополнительное копирование данных на другой диск (в том числе это может экспорт во внешнюю базу данных или просто копирование файлов ЖР).
Путь размещения лучше всего посмотреть через ключ D запуска сервера 1С.
Пример размещения C:Program Files1cv8srvinforeg_1541ad4b6360-d5be-4ddf-b55c-4af1496443f21Cv8Log
4. Перенос сеансовых данных.
При большом количестве пользователей есть смысл кэшировать сеансовые данные. Подробней здесь http://www.gilev.ru/introsd/ .
Путь размещения лучше всего посмотреть через ключ D запуска сервера 1С.
Пример размещения C:Program Files1cv8srvinforeg_1541snccntx10790324-1e9b-4e2e-bbdc-6d02b2fffd9e
5. если вы используете сверхбыстрые диски nvme (особенно pci 4.0)
Лучше сразу инсталлировать туда сервер 1С (и кластер), субд (MS SQL Server и т.п.), файлы баз данных, логи баз данных, файлы tempdb для MS SQL или pg_xlog/pg_wal для PostgreSQL, также перенести профили пользователей, temp операционной системы.
Все вместе эти файлы не должны занимать более 50% ёмкости SSD.
смотрите также Про диски для 1С
Подбираем хороший сервер
Слабым местом производительности файлового варианта 1С 8.2 всегда был жесткий диск. Существует технология RAM диск, которая позволяет при наличии достаточного объема оперативной памяти снизить нагрузку на файловую систему.
RAM диск — технология позволяющая хранить данные в оперативной как на блочном устройстве (диске), может быть реализована как на уровне железа так и программно, в нашем случае используется программа RAMDisk. Скачать программу можно с офсайта или отсюда (пароль: tmie.ru).
После установки софтинки появляется диск B размером 10% от объема оперативной памяти, туда и будем переносить кеш и временные файлы.
1. Перенос кеша пользователя.
Для переноса кеша требуется выполнить 3 команды:
1. Удаление папки с кешем (по умолчанию: %USERPROFILE%AppDataRoaming1C1Cv82)
rd /s /q «<Путь к папке на жестком диске>»
2. Создание папки на RAM диске:
mkdir «<Путь к папке на RAM диске>»
3. Создание символьной ссылки на папку RAM диска:
mklink /j «<Путь к папке на жестком диске>» «<Путь к папке на RAM диске>»
Данную процедуру нужно проделать для каждого пользователя. Проще всего написать батник вида:
mkdir B:Users1cuser1
rd /s /q «C:Usersuser1AppDataRoaming1C1Cv82»
mklink /j «C:Usersuser1AppDataRoaming1C1Cv82» «B:Users1cuser1»
mkdir B:Users1cuser2
rd /s /q «C:Usersuser2AppDataRoaming1C1Cv82»
mklink /j «C:Usersuser2AppDataRoaming1C1Cv82» «B:Users1cuser2»
mkdir B:Users1cuser3
rd /s /q «C:Usersuser3AppDataRoaming1C1Cv82»
mklink /j «C:Usersuser3AppDataRoaming1C1Cv82» «B:Users1cuser3»
Следует понимать что содержимое RAM диска находится в оперативной памяти и исчезает при выключенииперезагрузке сервера. Не обнаружив папку на диске B 1с выдаст ошибку: «Ошибка при выполнении файловой операции ‘<Путь к папке с кешем>'» и работать не будет. Поэтому при загрузке сервера каждый аз нужно выполнять создание папок на RAM диске:
mkdir «<Путь к папке на RAM диске>»
Пример батника:
mkdir B:Users1cuser1
mkdir B:Users1cuser2
mkdir B:Users1cuser3
Скрипт можно выполнять через планировщик заданий или через групповую политику:
gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Автозагрузка.
Так как в кеше хранится имя пользователя по умолчанию и при перезагрузке сервера или очисти RAM диска поле с именем пользователя сбрасывается на пустое. Если в конторе есть капризные бухгалтера, которые будут ныть, что им приходится делать лишние 2 клика мышкой, то можно принудительно установить имя пользователя путем дописывание строчки:
/N»<имя пользователя 1С>»
в дополнительные параметры запуска. Или строчки:
AdditionalParameters=/N»<имя пользователя 1С>» в файл
C:Users<Имя пользователя>AppDataRoaming1C1CEStartibases.v8i
2. Перенос временных файлов пользователя.
Сразу нужно заметить, что при обновлении конфигурации 1с в каталог временных файлов записывается большой объем информации. Также многие программы при установке/обновлении пишут туда данные, которые им потребуются после перезагрузки ПК. Поэтому пользователю, который будет обновлять 1с или устанавливать/обновлять другие программы, переносить каталоги временных файлов нельзя.
Способ 1 Аналогично переносу кеша, только папка будет другой (по умолчанию: %USERPROFILE%AppDataLocalTemp).
Способ 2. Изменение переменных среды.
Мой компьютер -> Свойства -> Дополнительно -> Переменные среды.
меняем значение %USERPROFILE%AppDataLocalTemp на B:Temp
Ту же самую операцию можно сделать импортом файла реестра:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USEREnvironment]
«TEMP»=»B:\Temp»
«TMP»=»B:\Temp»
Скачать reg файлик можно отсюда.
Данная процедура значительного прироста производительности не дает. поэтому некоторые предлагают запихнуть на RAM диск целиком базу данных, что на мой взгляд довольно опрометчиво. Так как при отключении питания сервера все изменения внесенные в базу с момента её копирования на RAM диск пропадают.