Skip to content

Almost impossible to copy and move files on Windows #149

@gabriellluz

Description

@gabriellluz

I never really had problems using Wsidav on a linux environment.
The thing is: I'm now using Windows and since official Windows Webdav doesn't work, I stick to wsgidav. I can open files without problems from a wsgidav mount point, but I can't copy files to a wsgidav folder. I just can't. Sometimes it says "No space left" which is not true since I got 80gb free on both source and destination folders.

I have this problem on Windows since version 2.x.x. I thought it would change when I've updated, but the same thing happens.
I'm using it with auth=anonymous since I don't know how to use authentication on Windows.

Activity

gabriellluz

gabriellluz commented on Mar 25, 2019

@gabriellluz
Author

Same problem using Android accessing a wsgidav folder.

mar10

mar10 commented on Apr 22, 2019

@mar10
Owner

I assume you mean that you have problems when the WebDAV client is Windows based, such as the Mini-Redirector that is used by the > net use ... command?
Or does it make a difference on what OS the WsgiDAV server runs?

The mini.redirectors are known to have problems, sometimes they can be fixed by implementing a kind of quirks mode in the server behavior.

Could you give some more details, please:

  • What OS windows Version are you using for client and server? Could you share the configuration?
  • How do you connect to WebDAV (Access a mapped drive via command line, use File Explorer, ...)?
  • Could you post a snippet of the WsgiDAV log in verbose mode, that shows the problem?
  • Are you aware of another WebDAV server that works better, when you connect to that (so we can compare the access logs)
gabriellluz

gabriellluz commented on Apr 22, 2019

@gabriellluz
Author

I had the same problem using an Android client (Smart File Manager and Astro File Manager) and using both Windows 7 and Windows 10.

mar10

mar10 commented on Apr 27, 2019

@mar10
Owner

Some testing:

                Server:  Win 10      macOS
  Win File Explorer:     slow(1)     slow(1)
  Win 'net use w':       slow(1)     slow(1)
  Mac Finder:            fast(2)     fast(2)

(1): Windows clients

  • OK: Windows MiniRedir copies large files fast enough (a raw 6 MB PUT takes only 0.1 sec).
  • OK: Deleting multiple files is also ok.
  • OK: Opening single files on a mapped drive or connected folder with an editor seems ok
  • Problem: copying many files seems to introduce some 1 second delays between single requests per file!

No matter if SSL is enabled or not.
No matter if authentication is used or not.
No matter if on Windows the 'Automatically detect settings' option is disabled or not.
No matter if virus checker is enabled.

This is a single copy sequence for 6MB file:

14:45:13.110 - "PROPFIND /" length=0, depth=0, elap=0.000sec -> 207 Multi-Status
< ... 1.0 second ...>
14:45:12.079 - "PROPFIND /Foto 2 - Kopie (2).JPG" length=0, depth=0, elap=0.000sec -> 404 Not Found
14:45:13.126 - "PUT /Foto 2 - Kopie (2).JPG" length=0, elap=0.016sec -> 201 Created
< ... 1.0 second ...>
14:45:14.157 - "LOCK /Foto 2 - Kopie (2).JPG" length=197, depth=infinity, elap=0.000sec -> 200 OK
14:45:14.204 - "PROPPATCH /Foto 2 - Kopie (2).JPG" length=443, depth=0, elap=0.000sec -> 207 Multi-Status
14:45:14.204 - "HEAD /Foto 2 - Kopie (2).JPG" elap=0.000sec -> 401 Not Authorized
< ... 1.1 seconds ...>
14:45:15.393 - "PUT /Foto 2 - Kopie (2).JPG" length=6122453, elap=0.156sec -> 204 No Content
14:45:15.409 - "PROPPATCH /Foto 2 - Kopie (2).JPG" length=295, depth=0, elap=0.016sec -> 207 Multi-Status
14:45:15.409 - "UNLOCK /Foto 2 - Kopie (2).JPG" elap=0.000sec -> 204 No Content

Other problems on Windows include:

  • The network mapping seems to fail for unknown reasons sometimes when re-connecting etc.

(2): macOS clients

Finder seems to work Ok.

gabriellluz

gabriellluz commented on Apr 29, 2019

@gabriellluz
Author

Exactly. I don't have trouble using connecting to wsgidav on Ubuntu with rclone or whatever.

added
client-relatedThis problem is probably caused by incompatible WebDAV client behavior?
client-miniredirRelated to Microsoft Window Mini-Redirector
and removed on May 4, 2019
SteffenDE

SteffenDE commented on May 12, 2019

@SteffenDE
Contributor

Okay, I'm sorry. I didn't read the whole issue very carefully. I do not experience this issue as I'm not using the default Filesystem provider and cheroot but rather a custom implementation + Gevent. Using the default configuration, the Windows clients are SLOW.
Using Gevent fixes these issues for me:

from gevent import monkey
monkey.patch_all()
from gevent.pywsgi import WSGIServer
from wsgidav.wsgidav_app import WsgiDAVApp

config = {
    "provider_mapping": {
        "/": "/Users/Steffen"
    },
    "verbose": 1,
    "simple_dc": {
        "user_mapping": {
            "*": True
        }
    }
}

app = WsgiDAVApp(config)

http_server = WSGIServer(("", 8000), app)
http_server.serve_forever()

So: seems to be an issue with cheroot.

SteffenDE

SteffenDE commented on May 13, 2019

@SteffenDE
Contributor

@gabriellluz It‘d be great if you could check if using --server=gevent fixes your performance issues.

mar10

mar10 commented on May 15, 2019

@mar10
Owner

Some more information when running WsgiDAV on Windows 10 and accessing it with File Explorer from the same machine:

  1. Run wsgidav --host 0.0.0.0 --server ANY, connect to http://localhost:8080/:
    File Explorer is extremely slow (1-3 seconds delay between every file operation) when connecting to 'localhost'
    No matter if: cheroot/gevent, SSL on/off, authenticated/anonymous
    I assume this is a problem with my personal local network or DNS configuration.
    E.g. using gevent:
    image

  2. Run wsgidav --server gevent --host 0.0.0.0, connect to http://192.168.0.17:8080/
    Accessing using the IP address works fast with gevent:
    image

  3. Run wsgidav --server cheroot --host 0.0.0.0, connect to http://192.168.0.17:8080/
    Accessing using the IP address still slow with cheroot:
    image

  4. Run wsgidav --server cheroot --host 0.0.0.0, connect to http://192.168.0.17:8080/
    Increasing thread count to 100 for cheroot improves it:
    image

  5. Run wsgidav --server cheroot --host 0.0.0.0, connect to http://192.168.0.17:8080/
    Increasing cheroot's thread count to 256 improves it even more:
    image

  6. Run wsgidav --server cheroot --host 0.0.0.0, connect to http://192.168.0.17:8080/
    Increasing cheroot's thread count to 256 comes to a limit when we upload 300 images (instead of 50):
    image

  7. Run wsgidav --server gevent --host 0.0.0.0, connect to http://192.168.0.17:8080/
    gevent also has a bump, but handles 300 images better:
    image

7 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    client-miniredirRelated to Microsoft Window Mini-Redirectorclient-relatedThis problem is probably caused by incompatible WebDAV client behavior?core

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @mar10@webknjaz@SteffenDE@gabriellluz

        Issue actions

          Almost impossible to copy and move files on Windows · Issue #149 · mar10/wsgidav