Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Файл инициализации - другие разделы файла инициализации

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

Например, эти параметры позволяют вести протоколирование операций, реализованных в библиотеке. Общими для всех библиотек параметрами протоколирования являются имя файла протокола (LogFile), который может быть как общим, так и отдельным для каждой из библиотек, и битовая маска протоколируемых операций (debug) – своя для каждой библиотеки. Имя файла протокола по умолчанию может быть задано в секции Parameters и уточнено в секции конкретной библиотеки. Если параметр LogFile не задан, то отладка не ведётся.

При работе с драйвером ODBC (секция ODBC), ошибки которого нельзя однозначно транслировать в ошибки HyTech, полезно держать включённой отладку. Это позволит видеть как формируемые к драйверу запросы, так и оригинальные сообщения об ошибках.

Наиболее важными из специфичных для библиотек параметров являются параметры ограничений, настройка которых необходима при предельном количестве пользователей. Каждая нить открывает файлы независимо, но файловая DLL ведёт их общий список, разрешая возможные коллизии. Размер списка и структур, его обслуживающих, задаётся в секции [OsFiles] и для сервера, обслуживающего 800 одновременных подключений с большим числом таблиц в каждом, может выглядеть вот так:

lmaxcnt=40000

fmaxcnt=40000

hmaxcnt=250000

qmaxcnt=1024

Другим важным при гарантированно большом числе пользователей параметром является параметр статического выделения памяти для работы подсистемы SQL BigHeapSize, задаваемый в секции [HSHEAP]. Подробно распределение памяти описано в главе «управление памятью».

Кроме нитей, обслуживающих стартовый файл (секция [Системный процесс]) и запросы пользователей (секция [SQL процесс]), в сервере присутствует также нить обслуживания системного каталога (секция [Catalog]) и генераторы ([Generators]). Функции этих служебных процессов строго ограничены, значения параметров, задаваемых при инициализации библиотеки работы с БД, специфичны, задаются своими умолчаниями и, чаще всего, не требуют корректировки. Тем не менее, возможность изменять эти параметры имеется, и имена они имеют те же, что и для других нитей, работающих с БД.

Пример файлов инициализации

В качестве первого примера покажем различия в конфигурации сервера по умолчанию и конфигурации рабочей БД Фонда социального страхования РФ (около 100 пользователей на средних размеров БД, короткие запросы на вычитку списков и изменения/добавление единичных записей).

[Parameters]

LogFile=c:\KALG\test.!!!

[Параметры]

DisableMessages=0

[HSFMNG64]

debug=47

[HSHEAP]

debug=111

[HSTABL]

debug=47

[Logging]

debug=-1

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

[Parameters]

LogFile=C:\PFRO\test.!!!

[OsFiles]

debug=47

WriteTimeOut=600000

LockTimeOut=300000

[Параметры]

SqlHeap=2500000

NewVersion=1

[Системный процесс]

HeapCtrl=10000000

StackSize=2500

UserDefault=HTADMIN

PasswordDefault=PASSWORD

[SQL процесс]

HeapCtrl=4000000

StackSize=3500

[HSHT]

SharedLockInfo=1

TimingMode=1

GroupIdx=1

[HSTABL]

debug=-1

[Tables]

TabCnt=200

[HSCLI]

debug=39

LogFile=C:\PFRO\CLI.!!!

[Coders]

CoderSize=10000000

[HSHEAP]

debug=111