Научная статья на тему 'Математическая модель службы каталогов'

Математическая модель службы каталогов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
255
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЛУЖБА КАТАЛОГОВ / БАЗЫ ДАННЫХ / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / ВРЕМЕННАЯ ХАРАКТЕРИСТИКА / DIRECTORY SERVICES / DATABASES / MATHEMATICAL MODEL / TIME RESPONSE / TIME

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Андреев Андрей Васильевич

Постановка проблемы: при обращении к службе каталогов множества сервисов (прокси-сервера, файлового сервера и т. д.) сервер каталога должен обрабатывать тысячи записей. Чем быстрее сервер каталога обработает запрос, тем быстрее данные будут обработаны следующим сервисом, запросившим информацию. В высоконагруженных локальных вычислительных сетях временная характеристика службы каталогов - важный параметр работы всей сети. Целью работы является построение математической модели каталогов для моделирования поведения данного сервиса с последующим анализом результатов. Методы: проведен анализ исходного кода службы каталогов Open-LDAP, структуры хранения данных каталога и характеристик дисковых систем. Результаты: определены типы операций с записями каталога: чтение, запись, удаление. Определены условия работы каталога в высоконагруженных локальных вычислительных сетях, например, количество записей каталога, настройки кэширования, параметры используемой базы данных и структуры хранения данных. Определена временная характеристика каталога как суммарное значение временных затрат дисковой системы и центрального процессора. Детально расписана каждая составляющая временной характеристики. Сформулирована математическая модель службы каталогов. Представлены результаты, полученные теоретическим и эмпирическим методами. Практическая значимость: данная модель может применяться для моделирования поведения службы каталогов при построении высоконагруженных локальных вычислительных сетей или для оптимизации работы в существующих решениях.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Mathematical Model of a Directory Service

Purpose: The paper describes the problem of optimizing a directory service in high-load LANs. For example, when there is a need to access a LDAP-server using different services, the LDAP-server should handle thousands of records. The faster a directory server responds to a request, the faster this data will be processed by the next server. In a high-load LAN, the time characteristic of the directory service is an important parameter of the entire network. The goal of this paper is to build a mathematical model for simulating the behavior of a directory service. Methods: The source code of the directory service (OpenLDAP) was analyzed, alongside the structure of the directory data storage and the characteristics of the hardware systems. Results: The types of operations with the directory records were specified (read, write, delete). The directory working conditions were determined, for example, the number of directory entries, cache settings, parameters of the database structure and data storage. The directory time characteristic was defined as the total value of the time consumption of the disk system and the CPU. The temporal characteristic of each component was detailed. The mathematical model of the directory service was formulated. The results obtained theoretically and empirically were presented. Practical relevance: The model can be used to simulate the behavior of LAN directory service and query optimization.

Текст научной работы на тему «Математическая модель службы каталогов»

УДК 519.688

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ СЛУЖБЫ КАТАЛОГОВ

А. В. Андреева,1, системный администратор, аспирант

аСанкт-Петербургский государственный университет аэрокосмического приборостроения,

Санкт-Петербург, РФ

Постановка проблемы: при обращении к службе каталогов множества сервисов (прокси-сервера, файлового сервера и т. д.) сервер каталога должен обрабатывать тысячи записей. Чем быстрее сервер каталога обработает запрос, тем быстрее данные будут обработаны следующим сервисом, запросившим информацию. В высоконагружен-ных локальных вычислительных сетях временная характеристика службы каталогов — важный параметр работы всей сети. Целью работы является построение математической модели каталогов для моделирования поведения данного сервиса с последующим анализом результатов. Методы: проведен анализ исходного кода службы каталогов Ореп-10АР, структуры хранения данных каталога и характеристик дисковых систем. Результаты: определены типы операций с записями каталога: чтение, запись, удаление. Определены условия работы каталога в высоконагруженных локальных вычислительных сетях, например, количество записей каталога, настройки кэширования, параметры используемой базы данных и структуры хранения данных. Определена временная характеристика каталога как суммарное значение временных затрат дисковой системы и центрального процессора. Детально расписана каждая составляющая временной характеристики. Сформулирована математическая модель службы каталогов. Представлены результаты, полученные теоретическим и эмпирическим методами. Практическая значимость: данная модель может применяться для моделирования поведения службы каталогов при построении высоконагруженных локальных вычислительных сетей или для оптимизации работы в существующих решениях.

Ключевые слова — служба каталогов, базы данных, математическая модель, временная характеристика.

Введение

Каталог — простой способ упорядочения чего угодно. Каталоги прочно вошли в нашу жизнь. Вы пользуетесь каталогом, отыскивая номер в телефонной книге. То же самое вы делаете, когда организуете файлы и папки на жестком диске своего компьютера. И служба каталогов тоже является неким набором информации, базой данных сетевых ресурсов [1].

Для служб каталогов характерны следующие типы операций: чтение, запись, удаление [2].

Время операций напрямую связано с количеством записей в каталоге: чем больше записей, тем больше время.

Основная задача каталога — хранение и поиск различных данных. В случае службы каталогов следует учитывать, что чем меньше время операций, тем быстрее происходят последующие действия, связанные с полученными данными: аутентификация, авторизация, работа почтовых сервисов, работы файловых сервисов и т. д. Подробнее о действиях с полученными данными описано в более ранних публикациях [3, 4].

Время операций — основная характеристика службы каталогов [5].

1 Научный руководитель — кандидат технических наук, доцент кафедры вычислительных систем и сетей Санкт-Петербургского государственного университета аэрокосмического приборостроения В. В. Балберин.

Модель службы каталогов

Предлагаем рассмотреть работу службы каталогов с такими условиями:

— на сервере выполняется только служба каталога;

— количество записей более 10 000, т. е. служба работает в высоконагруженной локальной вычислительной сети;

— служба каталогов использует для хранения записей нереляционную базу данных (Berkeley DB — BDB);

— опции кэширования отключены для службы каталогов, BDB, файловой системы;

— BDB хранит записи блоками по 4 и 16 КБ

[6];

— структура хранения данных имеет вид граф-дерева, где все записи расположены в одной ветке [7].

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

t = td + tc^ (1)

где t — время операции; td — время занятости дисковой системы; tc — время процесса в режиме пользователя.

Для расчета времени занятости дисковой системы воспользуемся формулой

td = E • N/s,

где E — размер записи; N — количество записей в ветке каталога; s — скорость операции дисковой системы.

Скорость операции дисковой системы равна произведению функционального значения операций ввода/вывода за секунду времени и размера записываемого/читаемого блока данных [8]:

s = (Fiops • Kb)/1024,

где Fiops — функциональное значение операций ввода/вывода за секунду времени; Kb — размер блока в BDB.

C учетом того, что фактическое значение операций ввода/вывода зависит от общего количества операций ввода/вывода, получим [9] s = ((TOTALIops • %read) + + ((TOTALIops • %write) • RAIDPenalty))Kb, (2)

где TOTALIops — общее количество iops для дисковой системы; %read — процент операций чтения; %write — процент операций записи; RAIDPenalty — значение пенальти для RAID.

Чтобы перевести значение s из килобайт в секунду в мегабайты в секунду, выражение (2) следует поделить на 1024:

s = (((TOTALIops • %read) +

+ ((TOTALIops • % write) • RAIDPenalty))Kb)/1024.

Общее количество операций ввода/вывода является произведением значения операций ввода/ вывода заданного производителем носителя и количества носителей:

TOTALIops = iops • Nh,

где iops — количество операций ввода/вывода в секунду, заданных производителем; Nh — количество носителей [9].

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

tc = (utime0 - utime1 + stime0 - stime1)/HZ,

где utime0 — изначальное время выполнения процесса в режиме задачи; utime1 — текущее время выполнения процесса в режиме задачи; stime0 — изначальное время выполнения процесса в режиме ядра; stime1 — текущее время выполнения процесса в режиме ядра; HZ — количество тиков за секунду.

В операционных системах семейства GNU/ Linux исходные данные расположены в файле /proc/[pid]/stat [10].

С учетом всех преобразований исходная зависимость (1) имеет вид

t = E*N*1024/(((iops • Nh • %read) + + ((iops • Nh • % write) • RAIDPenalty))Kb) + + (utime0 - utime1 + stime0 - stime1)/HZ.

Значение N в данной модели ограничено условием

N < Eu/E,

где Ebd — выделяемый размер под базу данных каталога.

Теоретические и эмпирические результаты

Рассмотрим тип операции — чтение. Исходные данные:

N = 12 560; E = 0,0014 МБ; iops = 70; Nh = 1;

%read = 100 %; %write = 0 %; RAIDPenalty = 0;

Kb = 16 КБ; utime0 = 1127; utime1 = 988;

stime0 = 501; stime1 = 437; HZ = 100 000;

tm = 0,0014 ■ 12 560 ■ 1024/(((70 ■ 1 ■ 100) + + (70 ■ 1 ■ 0) ■ 0)) ■ 16) + (1127 - 988 + 501 -- 437)/100 000 = 18 006,016/112 000 + + 0,002 = 0,1627.

Эмпирические данные были получены с помощью команды time операционной системы GNU/Linux: ta = 0,163 с.

Заключение

Используя представленную модель службы каталогов, можно спрогнозировать временные затраты на ту или иную операцию каталога. Видно, что временные затраты сильно зависят от размера записи, количества записей в ветке поиска и параметров дисковой системы. Зная это, можно оптимизировать работу службы каталогов по выбранным временным критериям. Предлагаемые способы оптимизации:

— изменение структуры хранения данных каталога ветвлением в ширину;

— уменьшение размера записи;

— выбор более производительной дисковой системы.

Различие теоретических и эмпирических значений обусловлено округлением вывода данных команды time.

Литература

1. Glenn W., Simpson M. T. Designing a Microsoft Windows Server 2003 Active Directory and Network Infrastructure. — Microsoft Press, 2004. — 459 p.

2. Butcher M. Mastering OpenLDAP: Configuring, Securing, and Integrating Directory Services. — Packt Publishing Ltd, 2007. — 467 p.

8Б X

ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ Ж № 4, 2014

3. Балберин В. В., Андреев А. В. Методика оптимизации работы службы каталогов // Информационно-управляющие системы. 2014. № 2. С. 40-43.

4. Андреев А. В. OpenLDAP как замена Active Directory // LinuxFormat. 2011. № 3. С. 40-43.

5. Howes T., Smith M., Good G. Understanding and Deploying LDAP Directory Services. — New Riders Publishing, 1998. — 880 p.

6. Yadava H. The Berkeley DB Book. — Apress, 2007. — 464 p.

7. OpenLDAP Software 2.4 Administrator's Guide. http://www.openldap.org/doc/admin24/ (дата обращения: 21.01.2014).

8. How to convert MBps to IOPS or calculate IOPS from MB/s. http://www.ssdfreaks.com/content/599/how-to-convert-mbps-to-iops-or-calculate-iops-from-mbs (дата обращения: 05.02.2014).

9. IOps?. http://www.yellow-bricks.com/2009/12/23/iops/ (дата обращения: 05.02.2014).

10. THE /proc FILESYSTEM. https://www.kernel.org/ doc/Documentation/filesystems/proc.txt (дата обращения: 06.02.2014).

UDC 519.688

Mathematical Model of a Directory Service

Andreyev A. V.a, System Administrator, Post-Graduate Student, aathexf@gmail.com

aSaint-Petersburg State University of Aerospace Instrumentation, 67, B. Morskaia St., 190000, Saint-Petersburg, Russian Federation

Purpose: The paper describes the problem of optimizing a directory service in high-load LANs. For example, when there is a need to access a LDAP-server using different services, the LDAP-server should handle thousands of records. The faster a directory server responds to a request, the faster this data will be processed by the next server. In a high-load LAN, the time characteristic of the directory service is an important parameter of the entire network. The goal of this paper is to build a mathematical model for simulating the behavior of a directory service. Methods: The source code of the directory service (OpenLDAP) was analyzed, alongside the structure of the directory data storage and the characteristics of the hardware systems. Results: The types of operations with the directory records were specified (read, write, delete). The directory working conditions were determined, for example, the number of directory entries, cache settings, parameters of the database structure and data storage. The directory time characteristic was defined as the total value of the time consumption of the disk system and the CPU. The temporal characteristic of each component was detailed. The mathematical model of the directory service was formulated. The results obtained theoretically and empirically were presented. Practical relevance: The model can be used to simulate the behavior of LAN directory service and query optimization. Keywords — Directory Services, Databases, Mathematical Model, Time Response, Time.

References

1. Glenn W., Simpson M. T. Designing a Microsoft Windows Server 2003 Active Directory and Network Infrastructure. Microsoft Press, 2004. 459 p.

2. Butcher M. Mastering OpenLDAP: Configuring, Securing, and Integrating Directory Services. Packt Publishing Ltd, 2007. 467 p.

3. Balberin V. V., Andreyev A. V. Methods of Optimizing the Directory Service. Informatsionno-upravliaiushchie sistemy, 2014, no. 2, pp. 40-43 (In Russian).

4. Andreyev A. V. OpenLDAP as a replacement for Active Directory. LinuxFormat, 2011, vol. 142, no. 3, pp. 40-43 (In Russian).

5. Howes T., Smith M., Good G. Understanding and Deploying LDAP Directory Services. New Riders Publishing, 1998. 880 p.

6. Yadava H. The Berkeley DB Book. Apress, 2007. 464 p.

7. OpenLDAP Software 2.4 Administrators Guide. Available at: http://www.openldap.org/doc/admin24/ (accessed 21 January 2014).

8. How to convert MBps to IOPS or calculate IOPS from MB/s. Available at: http://www.yellow-bricks.com/2009/12/23/ iops/ (accessed 5 February 2014).

9. IOps?. Available at: http://www.yellow-bricks.com/2009/ 12/23/iops/ (accessed 5 February 2014).

10. THE /proc FILESYSTEM. Available at: https://www.kernel. org/doc/Documentation/filesystems/proc.txt (accessed 6 February 2014).

i Надоели баннеры? Вы всегда можете отключить рекламу.