I’ve never used mitmproxy. Just did a test by adding logging before and after the sleep:
{"reqId":"J0Wrb90OSjJ\/WqhJmlOI","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: before sleep for $path=\"\/\/1368555495004.jpg\" $name=\"1368555495004.jpg\"","level":0,"time":"2016-10-13T19:26:31+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/1368555495004.jpg","user":"admin"}
{"reqId":"z7DTno\/8h0PklUtZy3u0","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: before sleep for $path=\"\/\/1391249528060.jpg\" $name=\"1391249528060.jpg\"","level":0,"time":"2016-10-13T19:26:31+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/1391249528060.jpg","user":"admin"}
{"reqId":"DWOL\/nazhl1cdwklru5a","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: before sleep for $path=\"\/\/20110610_005.jpg\" $name=\"20110610_005.jpg\"","level":0,"time":"2016-10-13T19:26:31+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/20110610_005.jpg","user":"admin"}
{"reqId":"J0Wrb90OSjJ\/WqhJmlOI","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: after sleep for $path=\"\/\/1368555495004.jpg\" $name=\"1368555495004.jpg\"","level":0,"time":"2016-10-13T19:26:36+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/1368555495004.jpg","user":"admin"}
{"reqId":"z7DTno\/8h0PklUtZy3u0","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: after sleep for $path=\"\/\/1391249528060.jpg\" $name=\"1391249528060.jpg\"","level":0,"time":"2016-10-13T19:26:36+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/1391249528060.jpg","user":"admin"}
{"reqId":"DWOL\/nazhl1cdwklru5a","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: after sleep for $path=\"\/\/20110610_005.jpg\" $name=\"20110610_005.jpg\"","level":0,"time":"2016-10-13T19:26:36+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/20110610_005.jpg","user":"admin"}
{"reqId":"idxMewPm+iG\/uksrNtAX","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: before sleep for $path=\"\/\/20130317_001.jpg\" $name=\"20130317_001.jpg\"","level":0,"time":"2016-10-13T19:26:37+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/20130317_001.jpg","user":"admin"}
{"reqId":"eGf6+CwErHl4H6WShleb","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: before sleep for $path=\"\/\/DSC05207.JPG\" $name=\"DSC05207.JPG\"","level":0,"time":"2016-10-13T19:26:37+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/DSC05207.JPG","user":"admin"}
{"reqId":"KmFLPdScNJ9ek1mdF4EP","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: before sleep for $path=\"\/\/DSC_0158.JPG\" $name=\"DSC_0158.JPG\"","level":0,"time":"2016-10-13T19:26:37+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/DSC_0158.JPG","user":"admin"}
{"reqId":"idxMewPm+iG\/uksrNtAX","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: after sleep for $path=\"\/\/20130317_001.jpg\" $name=\"20130317_001.jpg\"","level":0,"time":"2016-10-13T19:26:42+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/20130317_001.jpg","user":"admin"}
{"reqId":"eGf6+CwErHl4H6WShleb","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: after sleep for $path=\"\/\/DSC05207.JPG\" $name=\"DSC05207.JPG\"","level":0,"time":"2016-10-13T19:26:42+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/DSC05207.JPG","user":"admin"}
{"reqId":"KmFLPdScNJ9ek1mdF4EP","remoteAddr":"127.0.0.1","app":"DEBUG","message":"DEBUG: after sleep for $path=\"\/\/DSC_0158.JPG\" $name=\"DSC_0158.JPG\"","level":0,"time":"2016-10-13T19:26:42+00:00","method":"PUT","url":"\/owncloud\/remote.php\/webdav\/DSC_0158.JPG","user":"admin"}
When looking at the log with tail, I saw the three “before sleep” appearing at the same time and also “after sleep” at the same time after 5 seconds. So parallelism seems to work here.
This was with MySQL.