I too have uploads that take longer than 60s. Chunking works fine, when the connection is fast enough. The problem just appears when one chunk can not be uploaded within the limited timeframe.
Regarding the link about big files: I read that but in my case the biggest file to expect will probably be around 200MB.
Actually I solved my problem in the following way:
In the desktop clients I set the maximum chunk size to 1MB. For my use case that´s convenient and I shouldn´t run into problems.
As the iOS client doesn´t allow to modifiy the default chunkSize for big iOS uploads I setup a an external folder with Webdav access (not the owncloud webdav implementation as that will run into the same time constraints on my webspace) and connected that folder as external folder within owncloud.
Now I can upload to this folder via webdav and owncloud will scan for changes...
If I understand correctly the desktop client (updated to 2.3.1, I realized I had an older one) will adapt the chunk size to a certain target transfer time, which is 60s default.
The client will start with a default chunk size of 10MB, evaluate the timed needed to upload and then adjust the chunksize accordingly in specified limits (1MB to 100MB)
Problem was that in certain environments the first chunk was never transferred correctly.
Setting the chunks size to 1MB just sets the starting point for dynamic chunking to 1MB, so it will adapt to the network accordingly.
And actually with a up-to-date client it´s easier to set the default chunk size:
Can anyone lead me to the dynamic chunking algorithm in the source code?
I just confirmed with my hoster:
My Uploads timing out are clearly connected to php-scripts running into the max_execution_time limit.
This only affecting certain users in a shared hosting environment is probably related to different server setups.
Depending on the combination of php installation and webserver the upload itself will or will not count into the running time of the php script.
e.g. in my case my hoster is using a combination of apache and php-fpm which will lead to the timer running during the upload.