Возникла необходимость создать сервер на очень большое количество файлов(более 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.phphttp://www.voidtools.com/Everything-1.2.1.452a.zip (прямая ссылка на самую последнюю версию, её нет в разделе "download")
http://en.wikipedia.org/wiki/Everything_(software) (здесь на пальцах объясняется принцип работы)
http://www.sharing-file.com/download.htm