Files are taking up to a half hour to sync

Large files are not syncing at a normal rate. Taking up to a half hour.

Hi,
Can you answer the following questions for me?

  1. What service
  2. How large are the files?
  3. Is it happening all the time, or intermittently
  4. Was performance better before and has suddenly dropped?

Thanks!

I am using the Odrive. I just installed it – was using
Oxygen Enterprise. No problems with Enterprise in this regard.

My internet service is Verizon FIOS. A download/upload
test was run and it was fine.

The file is large – approximate 102,000 kb. It is taking
over a half hour to sync; sometimes overnight.

The problem started when I installed Odrive. It did not do
this with Enterprise; I could open files while others were syncing; files
synced quickly.

Other problems are when I sync a file, I cannot open another
file until the original file syncs completely or I get a message telling me
Oxygen is busy and to contact my administrator.

Large documents are taking a longer than normal time to open as well.

Hi,
We can try running some speed tests to see if we can identify what is happening.

Can you try the following?

  1. Make sure odrive is idle and not currently uploading anything (Nothing listed in “Syncing” or “Waiting” in the odrive tray menu.

2.Open up a command prompt (cmd.exe)

3.Copy and paste in the following and hit enter:
cd "%userprofile%\odrive\Oxygen Cloud\User Volume"

4.Copy and paste in the following and hit enter:
mkdir temp && cd temp

5.Copy and paste in the following and hit enter:
powershell -command "& {$sizeinmb = 50;$numfiles = 1;$randstr = ([char[]]([char]'a'..[char]'z') + 0..9 | sort {get-random})[0..5] -join '';$tmpdir = \"$pwd\~tmpuploadtest_$randstr\";$tmpdirstart = \"$pwd\tmpuploadtest_$randstr\";mkdir -Force $tmpdir > $null;$filebasename = \"$($sizeinmb)MB.file\";$sizeinbytes = $sizeinmb * 1024 * 1024;for($i = 1; $i -le $numfiles; $i++){$thefile = \"$tmpdir\$filebasename\" + $i;fsutil file createnew $thefile $sizeinbytes > $null;};Start-Sleep -m 8000;ren $tmpdir $tmpdirstart;echo \"\",\"Waiting for odrive\";$locked = 0;while($locked -ne 1) { $files = Get-ChildItem $tmpdirstart; for ($i=0; $i -lt $files.Count; $i++) { try { [IO.File]::OpenWrite($files[$i].FullName).close(); } catch { $locked = 1; }} Start-Sleep -m 50};echo \"Starting upload ....\";$starttime = [int64](([datetime]::UtcNow)-(get-date \"1/1/1970\")).TotalSeconds;Start-Sleep -m 5000;while($locked -ne 0) { $locked = 0; $files = Get-ChildItem $tmpdirstart; for ($i=0; $i -lt $files.Count; $i++) { try { [IO.File]::OpenWrite($files[$i].FullName).close(); } catch { $locked = 1; }} Start-Sleep -m 500};$endtime = [int64](([datetime]::UtcNow)-(get-date \"1/1/1970\")).TotalSeconds;$totaltime = $endtime - $starttime; $mbpersec = $sizeinmb * $numfiles / $totaltime; $mins = $totaltime / 60;echo \"$mins minutes\";echo \"$($mbpersec) MB/sec\";rm -Force -Recurse $tmpdirstart;}"

The above will create a temp directory in your Oxygen User Volume and then run a 50MB upload test to see how fast it goes.

I’ve been doing some testing against Oxygen on various systems and I am not seeing the type of performance you are describing, so we’ll need to try to narrow down the issue.

I’m sorry Tony, but I don’t know how to open a Command prompt. Can you please walk me through that?

I googled how to open the command prompt and I did from the Odrive. It opened and I copied and pasted your instructions and each time I pasted and hit enter, I got a message it was an incorrect prompt.

Hi @modom,
Can you try this instead?

  1. Open a command prompt window. You can do this by typing cmd into the run box like so:

  2. Copy and paste the following into the window and hit enter:

powershell -command "& {$curdir=(pwd); $thedir=\"$env:userprofile\odrive\Oxygen Cloud\User Volume\temp\"; mkdir \"$thedir\" -Force > $null;cd \"$thedir\"; $sizeinmb = 50;$numfiles = 1;$randstr = ([char[]]([char]'a'..[char]'z') + 0..9 | sort {get-random})[0..5] -join '';$tmpdir = \"$pwd\~tmpuploadtest_$randstr\";$tmpdirstart = \"$pwd\tmpuploadtest_$randstr\";mkdir -Force $tmpdir > $null;$filebasename = \"$($sizeinmb)MB.file\";$sizeinbytes = $sizeinmb * 1024 * 1024;for($i = 1; $i -le $numfiles; $i++){$thefile = \"$tmpdir\$filebasename\" + $i;$f = New-Object System.IO.FileStream \"$thefile\", Create, ReadWrite; $f.SetLength($sizeinbytes); $f.Close();};Start-Sleep -m 8000;ren $tmpdir $tmpdirstart;echo \"\",\"Waiting for odrive\";$locked = 0;while($locked -ne 1) { $files = @(Get-ChildItem $tmpdirstart); for ($i=0; $i -lt $files.Count; $i++) { try { [IO.File]::OpenWrite($files[$i].FullName).close(); } catch { $locked = 1; }} Start-Sleep -m 50};echo \"Starting upload ....\";$starttime = [int64](([datetime]::UtcNow)-(get-date \"1/1/1970\")).TotalSeconds;Start-Sleep -m 5000;while($locked -ne 0) { $locked = 0; $files = @(Get-ChildItem $tmpdirstart); for ($i=0; $i -lt $files.Count; $i++) { try { [IO.File]::OpenWrite($files[$i].FullName).close(); } catch { $locked = 1; }} Start-Sleep -m 500};$endtime = [int64](([datetime]::UtcNow)-(get-date \"1/1/1970\")).TotalSeconds;$totaltime = $endtime - $starttime; $mbpersec = $sizeinmb * $numfiles / $totaltime; $mins = $totaltime / 60;echo \"$mins minutes\";echo \"$($mbpersec) MB/sec\";rm -Force -Recurse $tmpdirstart; cd $curdir;}"

Like so:

If that gives you an error, can you take a screenshot and post here?

Thanks!

Tony, I did this and the temp folder showed up in my User Volume. But the folder is empty. Now what?

Try running it again. Does it print anything out after running it? Can you send a screenshot of the window like mine above?

Thanks!

I tried it again:

Honestly Tony, I am an office manager. I know nothing of technology as far as this goes. I am just trying to get through my day and this is taking me hours to figure out. Can someone there get on my computer and see what is going on? I have tried everything you suggest and I don’t have time all day to deal with this. I have a huge report due today and this is beyond what I can do myself. Thank you

Hi,
The result above is what I am looking for, although the number is cut off. Its the:
X.XX minutes
Y.YYYY MB/sec

part that is printed out after running the command.

That tells us how fast you are uploading to Oxygen. The original issue was that it was taking 30 minutes to upload a 100MB file to Oxygen, and this command will benchmark that so that I can determine where the problem might be.

Can you tell me what those numbers say please?

I don’t have that anymore. I tried to run it again and nothing is happening. The words Upload starting is not there.

This is all that happens:

Tony, It just ran: the figures are as follows:

2.7333
0,33048 MB

Here is screenshot:

Thanks!

This shows that a 50MB file uploaded to Oxygen in 2.7 minutes. So a 100MB file should make it up in approximately 6 minutes.

We can run the test with a 100MB file just to be sure, but it seems like whatever issue you were hitting before may be gone now. Are you still seeing this problem today?

To run with a 100MB file you can copy and paste this in:

powershell -command "& {$curdir=(pwd); $thedir=\"$env:userprofile\odrive\Oxygen Cloud\User Volume\temp\"; mkdir \"$thedir\" -Force > $null;cd \"$thedir\"; $sizeinmb = 100;$numfiles = 1;$randstr = ([char[]]([char]'a'..[char]'z') + 0..9 | sort {get-random})[0..5] -join '';$tmpdir = \"$pwd\~tmpuploadtest_$randstr\";$tmpdirstart = \"$pwd\tmpuploadtest_$randstr\";mkdir -Force $tmpdir > $null;$filebasename = \"$($sizeinmb)MB.file\";$sizeinbytes = $sizeinmb * 1024 * 1024;for($i = 1; $i -le $numfiles; $i++){$thefile = \"$tmpdir\$filebasename\" + $i;$f = New-Object System.IO.FileStream \"$thefile\", Create, ReadWrite; $f.SetLength($sizeinbytes); $f.Close();};Start-Sleep -m 8000;ren $tmpdir $tmpdirstart;echo \"\",\"Waiting for odrive\";$locked = 0;while($locked -ne 1) { $files = @(Get-ChildItem $tmpdirstart); for ($i=0; $i -lt $files.Count; $i++) { try { [IO.File]::OpenWrite($files[$i].FullName).close(); } catch { $locked = 1; }} Start-Sleep -m 50};echo \"Starting upload ....\";$starttime = [int64](([datetime]::UtcNow)-(get-date \"1/1/1970\")).TotalSeconds;Start-Sleep -m 5000;while($locked -ne 0) { $locked = 0; $files = @(Get-ChildItem $tmpdirstart); for ($i=0; $i -lt $files.Count; $i++) { try { [IO.File]::OpenWrite($files[$i].FullName).close(); } catch { $locked = 1; }} Start-Sleep -m 500};$endtime = [int64](([datetime]::UtcNow)-(get-date \"1/1/1970\")).TotalSeconds;$totaltime = $endtime - $starttime; $mbpersec = $sizeinmb * $numfiles / $totaltime; $mins = $totaltime / 60;echo \"$mins minutes\";echo \"$($mbpersec) MB/sec\";rm -Force -Recurse $tmpdirstart; cd $curdir;}"

My expectation is that the above should show between 5.5 and 6 minutes with a speed of ~ .3 MB/sec (300KB/sec). This isn’t blazing fast, but for a single file upload it is fast enough to get your large file up within 5-6 minutes.

I just tried my large 100 MB document. It took 7 minutes. When I was on Enterprise, it was synced in a minute. The problem is when the document is syncing, I cannot open anything else or I get a message telling me Oxygen is busy. I never had this problem before. I think 7 minutes is a long time when you are working on numerous documents and you have to sit and wait each time you do this. Is this normal for the Odrive? I would think it should be better and faster than Enterprise.

By the way, opening the document is not the problem. It opens in a minute; it is when I finish working on it and save it back into Oxygen. That is when I have to sit around for 7 minutes waiting before I can open anything else.

Hi,
I will ping the Oxygen operations team to take a look to see if anything looks unusual. Are you able to provide a screenshot of the busy error you are seeing while an upload is occurring?