rejetto forum

Слишком медленный поиск по реальному каталогу.

0 Members and 1 Guest are viewing this topic.

Offline freezer

  • Occasional poster
  • *
    • Posts: 2
    • View Profile
Возникла необходимость создать сервер на очень большое количество файлов(более 100 000 штук, около 100 гигабайт), но в итоге столкнулся с проблемой, что HFS(build 279) очень медленно ищет файлы по реальному каталогу, когда клиент на сервере вбивает строку поиска и нажимает "Go".

При этом быстрый поиск по такому количеству файлов возможен. Файловый HTTP сервер под управлением "Easy File Sharing Web Server", а так же "Everything"(это программа для поиска по локальным дискам, но там есть и функция создания HTTP-сервера), ищут по тем же файлам намного, в десятки раз быстрее(секунды вместо минут у Easy File Sharing Web Server, а Everything и вовсе ищет практически моментально).

Кто-нибудь, кто свободно владеет английским или итальянским, не мог бы намекнуть автору на необходимость оптимизировать средства поиска по реальному каталогу? Дело в том, что по виртуальному сервер ищет конечно быстрее, но при таком количестве файлов, добавленных в виде виртуальной файловой системы, программа более 10 минут загружается(что плохо, если компьютер, на котором расположен сервер, ежедневно выключается и включается).

Я вот что ещё заметил: Что если однажды что-то поискать и подождать пока HFS это найдёт(первый раз очень долго), второй раз(вне зависимости от строки поиска) уже ищет в разы быстрее. Так вот, если там создаётся некая индексация имён файлов, нельзя ли потом эту индексацию сохранить в каталоге программы? Чтобы после перезагрузки HFS(или компьютера, на котором он установлен) этот индекс быстро загружался в оперативную память и поиск со стороны клиента по расшаренным на сервере файлам снова осуществлялся быстро даже при первом поиске.

Вот ссылки на программы, где поиск организован быстро(это просто для примера того "как хотелось бы"):
http://www.voidtools.com/download.php
http://www.voidtools.com/Everything-1.2.1.452a.zip (прямая ссылка на самую последнюю версию, её нет в разделе "download")
http://en.wikipedia.org/wiki/Everything_(software) (здесь на пальцах объясняется принцип работы)

http://www.sharing-file.com/download.htm
« Last Edit: February 02, 2012, 05:36:53 PM by freezer »


Offline rejetto

  • Administrator
  • Tireless poster
  • *****
    • Posts: 13523
    • View Profile
i just tested EFS searching *.mp3 on my whole hard disk. Of course i ran it 3 times and kept only the last result: 15 seconds. HFS took 33 seconds, twice the time. It's a big difference, i know, but not scary.

Keeping an internal index is not a perfect solution: if you quit HFS the index gets outdated and must be rebuilt completely at start.
A better solution would be to use the index of Windows itself. Apparently it can be done.


Offline freezer

  • Occasional poster
  • *
    • Posts: 2
    • View Profile
rejetto

Can you try search with "Everything"(it can create Http server with one or more folder "tools->options->exclude->add_folder->include")?

"Everything" much faster than EFS.

http://www.voidtools.com/Everything-1.2.1.452a.zip - link on last alpha version.


P.S. sorry for my bad english.
« Last Edit: February 11, 2012, 10:09:45 AM by freezer »


Offline rejetto

  • Administrator
  • Tireless poster
  • *****
    • Posts: 13523
    • View Profile
that would be normal, because Everything keeps all in memory. No need to test :)
I will consider a solution like this, as an option, for future versions.
I'm experimenting for HFS 3 these days. But I'm at the very beginning, rewriting from scratch.