Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка библиотеки для осуществления адаптивного поиска в базах данных Web-приложений (бакалаврская работа).docx
Скачиваний:
38
Добавлен:
28.06.2014
Размер:
5.14 Mб
Скачать

3.4. Тестирование

Тестирование скорости работы библиотеки производилось в базах данных mSQL 3.9, Microsoft SQL Server 2008 R2, MySQL 5.5, Oracle 9i, PostgreSQL 9.1, SQLite 3.7 и InterBase 7.5 на выборках объёмом 5000, 10000, 25000 и 50000 текстов. Все тексты были сгенерированы с помощью сервиса «Яндекс.Рефераты». Каждый текс содержал около 1500 слов. Поисковые запросы, используемые при тестировании, содержали 3 – 5 слов, а соответствующие им результаты образовывали не менее 0,5% всего имеющегося массива данных. Тестирование проводилось при десяти различных ограничениях на максимальное число индексируемых слов: 100, 200, 300, 400, 500, 600, 700, 800, 900 и 1000 слов. В каждом случае временные показатели усреднялись по результатам 100 измерений. В общей сложности было проведено 28000 измерений.

Весь процесс тестирования осуществлялся в Ubuntu 12.04, дистрибутиве операционной системы Linux, на выделенном сервере следующей конфигурации: процессор Intel Xeon E3-1230 3.2 ГГц, 8 Гб оперативной памяти, 2x1000 Гб HDD SATA, 2 Гбит LAN.

В ходе тестирования наблюдался экспоненциальный рост времени поиска при увеличении числа индексируемых слов, что хорошо видно на графиках (рисунки 3.2 – 3.8).

Рис. 3.2. Зависимость времени выполнения поискового запроса от числа проиндексированных слов в базе данных MySQL.

Рис. 3.3. Зависимость времени выполнения поискового запроса от числа проиндексированных слов в базе данных Oracle.

Рис. 3.4. Зависимость времени выполнения поискового запроса от числа проиндексированных слов в базе данных Microsoft SQL Server.

Рис. 3.5. Зависимость времени выполнения поискового запроса от числа проиндексированных слов в базе данных mSQL.

Рис. 3.6. Зависимость времени выполнения поискового запроса от числа проиндексированных слов в базе данных SQLite.

Рис. 3.7. Зависимость времени выполнения поискового запроса от числа проиндексированных слов в базе данных PostgreSQL.

Рис. 3.8. Зависимость времени выполнения поискового запроса от числа проиндексированных слов в базе данных InterBase.

Результаты тестирования показывают, что разработанная библиотека позволяет осуществлять адаптивный поиск информации на выборках из 50000 записей за приемлемое время – до 2,5 сек. В результате установки ограничений на число индексируемых слов для каждого пользователя можно добиться ускорения поиска в 10 – 20 раз. На небольших массивах данных (до 5000 записей) адаптивный поиск осуществлялся за время, не превышающее 0,2 сек, даже при ограничении в 1000 индексируемых слов на одного пользователя.

Для проверки механизма адаптации было написано Web-приложение с использованием разработанной библиотеки, позволяющее осуществлять адаптивный поиск в базе данных MySQL (рисунок 3.9). Область поиска данного приложения представляет собой несколько небольших текстов, сгенерированных с помощью сервиса «Яндекс.Рефераты», каждый из которых содержит слово «белый» (или его форму). Также во всех текстах в различных формах присутствуют прилагательные «красный» и/или «синий». Для наблюдения за распределением прилагательных «красный» и «синий» в результатах поисковой выдачи в верхней части Web-приложения находится схема их распределения.

Рис. 3.9. Общий вид Web-приложения для тестирования механизма адаптации.

На максимальное число индексируемых слов на одного пользователя (параметр words_limit) было установлено ограничение, равное 1. Процесс проверки адаптации результатов поиска заключался в последовательном выполнении трёх поисковых запросов: «белый», «красный», «белый». Полученные для каждого запроса схемы распределения форм прилагательных «синий» и «красных» представлены на рисунках 3.10 – 3.12.

Рис. 3.10. Схема распределения цветов в результате выполнения запроса «белый» в первый раз.

Рис. 3.11. Схема распределения цветов в результате выполнения запроса «красный».

Рис. 3.12. Схема распределения цветов в результате выполнения запроса «белый» во второй раз.

Поясним полученные распределения. Вначале таблица индексируемых слов пользователя была пуста, то есть системе ничего не было известно о предпочтениях пользователя. Поэтому в результате выполнения запроса «белый» в первый раз мы можем видеть равномерное распределение цветов на схеме. Слово «белый» попадает в таблицу индексируемых слов. После выполнения запроса «красный» система помещает слово «красный» в таблицу индексируемых слов, а слово «белый» оттуда удаляется, так как значение параметра words_limit равно 1. При повторном поиске слова «белый» мы наблюдаем эффект адаптации результатов – все результаты, содержащие формы прилагательного «красный» сместились в начало поисковой выдачи (влево на схеме).

Соседние файлы в предмете Государственный экзамен