Crawler Test Bed

(программа распространяется по лицензии BSD из трех пунктов)

Эта программа для тестирования поискового робота случайным образом создает множество веб-страниц с перекрестными гиперссылками.

Результат работы программы Crawler Test Bed

Алгоритм основан на цепочках Маркова и взят из книги «Практика программирования» Б. Кернигана и Р. Пайка. Для создания хеш-таблицы префиксов использовался алгоритм идеального хеширования из второго издания книги «Алгоритмы: построение и анализ» Т. Кормена.

Гиперссылки могут быть как внутренними (http://hostname/N.html), так и внешними (http://servX.hostname/Y.html) — в том случае, если для равномерного распределения нагрузки при тестировании поискового робота используется несколько машин.

Скачать testbed-2009-03-29.tar.bz2 (352,8 Кб)»

Сборка

Для сборки Crawler Test Bed необходимо установить пакет cmake. Все остальные компоненты, включая исправленную версию libevent-1.4.9, включены в дистрибутив.

Выполните следующие команды:

tar xvf testbed-xxxx-xx-xx.tar.bz2
cd testbed-xxxx-xx-xx
cmake -DCMAKE_BUILD_TYPE=Release .
make

Конфигурация

Для хранения настроек программы используется файл gen.ini. Доступны следующие параметры:

daemon_port Привязка к конкретному порту HTTP-сервера.
extern_links_probability Вероятность того, что слово станет внешней ссылкой.
Число из полуинтервала [0,1).
extern_links_prefix Префикс для создания внешних ссылок.
extern_links_suffix Суффикс для создания внешних ссылок.
extern_links_servers Количество серверов для внешних ссылок.
intern_links_probability Вероятность того, что слово станет внутренней ссылкой.
Число из интервала (0,1).
Например, если выставить 0.999, то почти все слова на странице станут ссылками.
links_total Максимальное количество ссылок на сервере.
words_per_page Максимальное количество слов на странице.
worker_threads Количество потоков.
Рекомендуется указывать значение, соответствующее числу ядер.

Пример файла настроек

[generator]
daemon_port=8083
words_per_page=500
intern_links_probability=0.1
extern_links_probability=0.02
; serv0.testbed.local
; serv1.testbed.local
extern_links_prefix=serv
extern_links_suffix=.testbed.local
extern_links_servers=2
links_total=10000000
worker_threads=2

Использование

Перед первым запуском программы необходимо создать директорию texts и разместить там текстовые файлы в кодировке UTF-8, из которых будут генерироваться страницы:

mkdir texts 
cp *.txt texts #заполняем директорию с текстами
./bin/testbed

Оставить комментарий

Для того, чтобы оставить комментарий, нужно заполнить все поля формы.
Ваше имя:
Пожалуйста, введите код, который вы видите на этой картинке: Проверочный код
Проверочный код:
Ваше сообщение: