Как сделать так, чтобы мой клиент / сервер webdav работал быстрее? - PullRequest
0 голосов
/ 29 марта 2012

Я использую WebDaV в качестве решения для обмена файлами между клиентом и сервером, который я оба разрабатываю.

Клиент использует Apache Commons VFS , а сервер использует Glassfish 3 WebDAV сервлет . Это кажется разумным выбором, нет?

В любом случае, каждый раз, когда я записываю файл на сервер (используя в качестве примера FileObject#copyFrom(...)), я обнаруживаю, что операция выполняется невероятно медленно (100 с для однострочной записи файла, когда оба клиента и сервер работают на одной машине).

Итак, вы видите сопоставимые задержки? И можно ли что-то сделать, чтобы улучшить их?

1 Ответ

2 голосов
/ 30 марта 2012

Похоже, что текущая реализация WebDAV commons-vfs (которая опирается на старую версию Jackrabbit webdav) анализирует все DTD, которые он получает вместе с ответом HTTP.Для этого он должен захватить их, где они находятся в Интернете.Это, очевидно, не самый эффективный способ сделать это.

Чтобы это исправить, я запустил реализацию сардины (найденную из этого вопроса ).-vfs-webdav, который показывает, что работает намного быстрее (этот тест за 100 с теперь занимает 0,233 с)

...