Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow attachment.url's #12

Open
izelnakri opened this issue Mar 24, 2014 · 10 comments
Open

Slow attachment.url's #12

izelnakri opened this issue Mar 24, 2014 · 10 comments
Milestone

Comments

@izelnakri
Copy link

The Following code fixes slow rendering / url retrieval issues when a model has an attachment.url:

class ImageUploader < CarrierWave::Uploader::Base

 def url  
 "dropbox_endpoin_manually_typed/#{path}" if path
  end
end

Before the fix = (Views: ~1800ms | ActiveRecord: 0.7ms)

After the fix = (Views: ~10ms | ActiveRecord: 0.7ms)

@robin850
Copy link
Owner

robin850 commented Apr 6, 2014

Hello @izelnakri,

Thanks for reporting! Sorry for the late reply, I will try to take a look soon!

@izelnakri
Copy link
Author

there are actually more issues with this gem, just like its paperclip sibling. Some of the issues I've raised in the paperclip gem is relevant for this gem as well. Please take a look at it: janko/paperclip-dropbox#36.

I wish I could contribute to the gem since it seems like one of the worst gems I'm currently using so far, days of frustration over some wrong implementations or bad conventions. (No offense here, just objective opinion). However I'm not very good with metaprogramming in ruby yet. Thanks for your interest!

@ghost
Copy link

ghost commented Apr 10, 2015

@izelnakri , @robin850 I have same issue right now. However I can't simply specify Dropbox URL as it changes each time I upload file, for example:

dl.dropboxusercontent.com/1/view/df106vuup1mzftx/Apps/[YOURAPP/[YOURFILE]
dl.dropboxusercontent.com/1/view/mxbs026yru67ln0/Apps/[YOURAPP/[YOURFILE]
dl.dropboxusercontent.com/1/view/2cc9lrqlglfxga3/Apps/[YOURAPP/[YOURFILE]

@ghost
Copy link

ghost commented Apr 14, 2015

Here is the command line output with rendering times of one view and 2 linked pictures:
screen shot 2015-04-10 at 2 07 59 pm

Now the same view, no images (I commented out the whole link):
screen shot 2015-04-10 at 3 02 36 pm

I repeat, this happens notoriously and I am trying to investigate whats wrong with the routing urls of this gem.

@smmanoj
Copy link

smmanoj commented Apr 30, 2015

I am having similar issues with this gem as for as performance is concerned. I don't see any optimizations which are done on this, are there any tweaks we can do to avoid this performance issue.

@robin850 robin850 modified the milestone: 1.3.0 May 4, 2015
@robin850
Copy link
Owner

robin850 commented May 4, 2015

Hi there!

Sorry for the very late response! Actually I'm wondering whether the problem lies in this gem ; this seems to be a problem on the dropbox_sdk gem:

require 'benchmark'
require 'dropbox_sdk'

session = DropboxSession.new("app_key", "app_secret")
session.set_access_token("access_token", "acces_token_secret")
client = DropboxClient.new(session, "dropbox")

puts Benchmark.measure {
  client.media("/path/to/existing/image.png")["url"]
}

It takes a whole second to run on my computer:

  0.010000   0.000000   0.010000 (  1.055575)

I will further investigate, thanks for reporting guys! 👍

@sdilshod
Copy link

I am having similar issue too

1 similar comment
@cotorusso
Copy link

I am having similar issue too

@koss-lebedev
Copy link

Just wanted to confirm that the issue lies with dropbox_sdk gem (as @robin850 mentioned). I have run benchmarks on every method down the call stack, and the only point where it significantly slows down (sometimes up to 2 seconds!) is main HTTP call inside Dropbox SDK

@zia-qamar
Copy link

Hi, I am experiencing same issue, image taking too much time.
Can anyone tell me whether this gem directly uploads image on dropbox or server is involved in uploading image to dropbox?
Because a friend of mine told me that if your server is doing this part then its gonna crush when there are 5 or 6 requests simultaneously.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants