2015-02-02 1 views
1

Во-первых, я хотел бы извиниться за длинный пост, но медведь со мной, я считаю, что все это необходимо ....Large Wiki требуется настройка-Advice, Caching Server/Indexing замедляется с течением времени

Я использую DokuWiki (V: 2014-09-29) на моем веб-сайте - http://nofusscomputing.com/wiki/, главным образом для документирования моей собственной сети (закрытой) или для оказания помощи людям с любыми услугами или функциями, которые я предоставляю (только для чтения). все вики создают собственную карту сайта, на которую ссылается мой сайт sitemap index. теперь некоторые из этих wiki будут более 50 000 страниц, и насколько я знаю, DokuWiki не соответствует протоколу sitemap для этих больших вики, в этом случае я перейду через этот мост позже. Я использую расширение Search index Manager для индексирования и кэширования этого сайта, чтобы ускорить время загрузки.

Мои настройки состоят из основной вики - фермы и вспомогательных wiki в качестве информационных баз данных в качестве животных, то есть http://nofusscomputing.com/database/application/home. Эта настройка позволяет мне открывать/закрывать и выпускать каждый компонент моих информационных баз данных, когда это необходимо. Текущий размер составляет около 40 страниц для главной вики и вышеупомянутого животного с 65. Основная причина использования вики вместо создания моих собственных страниц сайта довольно проста .... для снижения издержек и DokuWiki прост, хорошо развит и в основном подходит моим потребностям и я хочу избежать сайта, который забивает сервер MySQL, если мне действительно не нужно.

В свободное время я пишу программное обеспечение Windows, которое в конечном итоге поможет любому пользователю ПК. Одна часть этого программного обеспечения собирает системные инвентаризации машины, на которой она установлена; эти данные, в свою очередь, хранятся в базе данных MySQL, а затем анализируются моим собственным программным обеспечением для динамического создания страниц вики. В настоящее время у меня нет проблем с получением данных из базы данных и программным созданием страниц вики, поэтому создаю презентабельную и, надеюсь, полезную информацию.

Issue Это новое wiki-животное предоставит информацию о файле. Первоначальный размер запуска составит около 200 000 страниц, и я ожидаю, что он вырастет в миллионы.

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

ОК ... очень быстро сузил его на веб-сервере с очень маленькими техническими характеристиками (QNAP TS-110 ... не слишком громко смешал меня), поэтому я вытащил HP DC7900 SFF (Intel Core 2 Duo E8400 3,00 ГГц, 4 ГБ оперативной памяти, 1 ТБ жесткий диск (NON-Raid) и WIN7 w/WAMP2) и мой сервер Intel Bare bones (Intel XEON, вероятно, 2,8 ГГц (Quad Core), 8 ГБ оперативной памяти, RAID 1 WIN SVR 2003 + WAMP2) после многих часов тестирования Intel Server одержал победу, но я все еще был доволен производительностью HP DC7900. Все машины разделяли одно и то же общее ухудшение индексации/кэширования с течением времени, когда время кэширования/индексирования уменьшалось до такой степени, что если бы я должен индексировать гораздо больше 5000 страниц, моя вики была бы в постоянном состоянии индексирования/кэширования новых страниц вики, конечно, я пропустил что-то .......

Начальная установка пространства имен основывалась на имени файла, который является хэшем SHA256 файла, хэш был разбит на 2 символа на подпапки, заканчивающиеся на 19-20 папок в глубину, это не так, кстати ..... слишком много папок для сканирования индексирования и медленное, но на положительном не будет не более 256 объектов в папке. в конце концов и только для тестирования я решил перенести первые две шестнадцатеричные цифры хэша в подпапку, а затем поместить файл внутрь. все еще не знаю, как я собираюсь настроить структуру папок, кроме попытки найти способ сохранить его не выше, чем около 16 000-17 000 объектов на папку, поскольку это когда я начал замечать, что машины начинают замедляться отвалы.

Результаты Времен к индексному/кэшу 5000 страниц, путем подсчета записей журнала веб-сервер Qnap TS110 через 8 часов я остановленные индексацию, начали индексацию около 1 страницы каждых 2-3 секунд. HP DC7900 первые 10Mins было около 1.381страниц/секунд. 5000Pages занимает 4630 секунд или 1.0799Pages/Second, время загрузки страницы почти мгновенно. Сервер Intel только немного быстрее и завершен в одно и то же время. Первые 10Mins были около 3.121Pages/Second. 5000Pages занимает 2015Secs или 2.4813Pages/Second, время загрузки страницы почти мгновенно.

Вопрос Оба сервера ухудшаются со временем, есть ли способ исправить это? или кто-нибудь знает, как улучшить то, что я пытаюсь достичь?

ответ

1

Я не уверен, подходит ли этот вопрос для StackOverflow. Возможно, это было лучше спросить на форумах DokuWiki или в Mailinglist, я думаю.

Несколько мыслей по этому поводу:

  • 200k страниц много
  • индекс DokuWiki использует один файл для хранения списка всех страниц (данные/индекс/page.idx)
  • Это индекс страницы считывается в массив по каждому доступному индексу, который, скорее всего, является одним из узких мест здесь
  • вы ничего не говорили о содержимом своих страниц, но я полагаю, что все они могут быть очень похожими, что будет раздувать отдельные файлы индекса распространения индекса о разных файлах (как wo ÜLD случается со страницами на естественном языке)
  • вы не должны использовать webbased searchindex плагин для индексации, но использовать инструмент командной строки бен/indexer.php, чтобы избежать накладных расходов на многие многих AJAX запросов
  • в конце концов, это могло бы быть лучше переключиться на один из доступных плагинов поиска, которые используют специальный бэкенд поисковой системы, как ГУМЗ или Сфинкса
  • в целом производительность может быть улучшена за счет использования быстрой памяти (SSD) и имеют достаточный объем оперативной памяти (для кэширования файловой системы)
+0

Спасибо для ответа, да, я дважды постучал, я также спросил на forum.dokuwiki.org/thread/12211. страницы представляют собой один и тот же заголовок с таблицей, содержащей имя файла, расширение, файл, компанию, авторское право, торговую марку, описание, имя_продукта, file_version, product_version и хеши md5, sha1, sha256, crc32. поиск не будет использоваться в wiki, но с моего сайта, поскольку я использую пользовательский поиск Google. как для страниц 200k, которые будут увеличиваться по мере того, как информация находится на компьютерных файлах, найденных в папках окон и программных файлов. –

 Смежные вопросы

  • Нет связанных вопросов^_^