Профиль пользователя - варианты хранения и их влияние на быстродействие системы

Версия террасофт 3.3.0
Сервер 2008R2
MS SQL Server 2012 Express
Клиенты работают в режиме сервера терминалов.
Разместили базу на SSD диске, однако, периодически наблюдается подвисание террасофта, монитор ресурсов показывает, что в этот момент система занимается чтением/записью в папки где находятся пользовательские данные типа %appdata%\Terrasoft\3.3.0\Cash, Profiles. Отсюда вопросы:
1. Если выбрать вариант хранение профиля в БД, там будут храниться все данные из папки с пользовательскими данными, или только данные из папки Profiles? И насколько такой вариант избавит от тормозов, если профили пользователей хранятся не на SSD диске?
2. Есть ли возможность хранить папки с пользовательскими данными где-то кроме %appdata%\Terrasoft\, в более поздних версиях есть настройка в файле runsetting.xml типа UserAppDataDirectory="", моем файле runsetting.xml такой настройки - нет.

Нравится

4 комментария

Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.

Здравствуйте.
1. Если выбрать хранение профиля в базе, то в таком случае туда будет помещаться только содержимое папки Profile. На предмет выигрыша в быстродействии однозначно сказать сложно. Здесь присутствует масса таких аспектов, как мощность клиентской машины, количество пользовательских настроек, фрагментация и скорость HDD, нагрузка на БД, оптимальность её структуры (например индексов) и т. д.. Этот механизм (возможность хранения профиля в разных местах) был создан скорее для возможности более гибких настроек. Например, если хранить профиль в базе, тогда пользователь не "привязан" к рабочему месту, но возрастёт нагрузка на базу.
2. В Вашей версии можно изменить только место хранения файла с настройками параметров подключения к базе (configs.xml). Параметр - UserSettingsDirectory.

Есть параметр UseCash в БД в таблице dbo.tbl_DatabaseInfo который я так понимаю отвечает за наличие кэширования ... так как у нас все работают в терминальном режиме на том же сервере, что и БД, особого смысла в размещении кэша на диске нет, тем более сейчас база находиться на SSD носителе... если я этот параметр обнулю?

Здравствуйте.
Действительно, значение поля "UseCache" определяет возможность кэширования данных. Данные кэша хранятся не в базе данных, а в директории профиля пользователя. Включённое кэширование позволяет сократить время отклика системы при однотипных действиях (например, при первом входе в раздел основная информация сохраняется в кэше и в дальнейшем минимизируется время выборки тех же данных).

Показать все комментарии