Re: free vs. paid heroku app performance

2010-08-31 Thread Keenan Brock
Hello Deepak,

A single / free dyno spins down when it is not in use.
Much like passenger / mod_rails on your local box.


It cost ram/cpu/money to run a dyno on an ec2 instance.
If you are not using it (and you are not paying for it), then there is no 
reason why Heroku should dish out the money to pay for something you are not 
using.

If you want to pay for it by getting another dyno, then I guess you can be the 
judge on whether to have the app running or not.


It seems curious to me that people want Heroku to pay for their staging 
environment to be up all the time.
For me, staging is a pre-release testing environment.   Guess others have a 
different view.

Keenan

On Aug 29, 2010, at 6:48 AM, deepak wrote:

 what is the reasoning behind this. Did you test this or is it given in
 the docs?
 Deepak
 
 On Aug 26, 11:32 pm, Eric Anderson e...@pixelwareinc.com wrote:
 On 08/26/2010 11:30 AM, marcel wrote:
 ..
 OTOH if you pay for at least 2 dynos then they NEVER spin down meaning
 your app is always nice and responsive even if nobody has it it for a while.
 .
 Eric
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Heroku group.
 To post to this group, send email to her...@googlegroups.com.
 To unsubscribe from this group, send email to 
 heroku+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/heroku?hl=en.
 

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: free vs. paid heroku app performance

2010-08-31 Thread marcel
My slug is pretty big, about 50 MB, mostly due to gem dependencies. I
figure I could shave about 5 MB if I spent an entire day shaving off
unused bits. But I doubt this would make any perceivable difference.

I don't really mind the sluggish spin up time. What I do mind is
having slug compilation occasionally take 4+ hours instead of the
normal 3 minutes. That means I can't show my boss the current state of
the app, which is pretty embarrassing and shakes his confidence in
hosting the production app with Heroku. I pointed out the slow spinup
because there seemed to be a strong connection between that and the
slow slug compilation.

I recently upped my staging to 2 dynos (1 paid), to see if the problem
goes away.

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: Best way to handle sitemaps

2010-08-31 Thread marcel
Can you store the results in memcache or mongo? How much space do all
the sitemap files consume?

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: Can't push new code

2010-08-31 Thread chris
Type 'gem sources' on a console and you'll probably see github in
there. gem sources -r http://github.com/; should remove it.

On Aug 30, 8:06 pm, brianp brian.o.pea...@gmail.com wrote:
 I get this error every time but none of my gems source github.

        WARNING:  RubyGems 1.2+ index not found for:
        http://github.com/

 .gems file included -http://www.pastie.org/1127841

 Cheers,
 bp

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: memcached-northscale gem on windows

2010-08-31 Thread chris
Don't know how to solve your issue, but just as an FYI, you don't need
memcached-northscale when you're doing development. The 'memcached'
gem will behave identically.

(Just make sure to use memcached-northscale when you're pushing your
app to heroku)

On Aug 28, 6:45 am, tmac22 thomaswmcken...@gmail.com wrote:
 I'm trying to install the memcached-northscale gem on Windows.  Do I
 need the cyrus-sasl2 library?

 c:\gem install memcached-northscale
 Building native extensions.  This could take a while...
 ERROR:  Error installing memcached-northscale:
         ERROR: Failed to build gem native extension.

 C:/Ruby187/bin/ruby.exe extconf.rb
 Building libmemcached.
 tar xzf libmemcached-0.32.tar.gz 21
 Patching libmemcached source.
 patch -p1 -Z  libmemcached.patch
 patching file `libmemcached-0.32/libmemcached/memcached_response.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached_response.c' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached.c' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached.h'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached.h' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached_connect.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached_connect.c' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached_hash.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached_hash.c' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached_hosts.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached_hosts.c' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached_storage.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached_storage.c' (time mismatch)
 Patching libmemcached with SASL support.
 patch -p1 -Z  sasl.patch
 patching file `libmemcached-0.32/aclocal.m4'
 patching file `libmemcached-0.32/clients/client_options.h'
 patching file `libmemcached-0.32/clients/Makefile.am'
 patching file `libmemcached-0.32/clients/Makefile.in'
 patching file `libmemcached-0.32/clients/memcat.c'
 patching file `libmemcached-0.32/clients/memcp.c'
 patching file `libmemcached-0.32/clients/memdump.c'
 patching file `libmemcached-0.32/clients/memflush.c'
 patching file `libmemcached-0.32/clients/memrm.c'
 patching file `libmemcached-0.32/clients/memslap.c'
 patching file `libmemcached-0.32/clients/utilities.c'
 patching file `libmemcached-0.32/clients/utilities.h'
 The next patch would create the file `libmemcached-0.32/config/
 config.rpath',
 which already exists!  Assume -R? [n]
 Apply anyway? [n]
 Skipping patch.
 1 out of 1 hunk ignored -- saving rejects to libmemcached-0.32/config/
 config.rpath.rej
 patching file `libmemcached-0.32/config.h.in'
 patching file `libmemcached-0.32/configure'
 patching file `libmemcached-0.32/configure.ac'
 patching file `libmemcached-0.32/docs/Makefile.am'
 patching file `libmemcached-0.32/docs/Makefile.in'
 The next patch would create the file `libmemcached-0.32/docs/
 memcached_sasl.pod',
 which already exists!  Assume -R? [n]
 Apply anyway? [n]
 Skipping patch.
 1 out of 1 hunk ignored -- saving rejects to libmemcached-0.32/docs/
 memcached_sasl.pod.rej
 patching file `libmemcached-0.32/libmemcached/Makefile.am'
 patching file `libmemcached-0.32/libmemcached/Makefile.in'
 patching file `libmemcached-0.32/libmemcached/memcached/
 protocol_binary.h'
 patching file `libmemcached-0.32/libmemcached/memcached_configure.h'
 patching file `libmemcached-0.32/libmemcached/
 memcached_configure.h.in'
 patching file `libmemcached-0.32/libmemcached/memcached_connect.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached_connect.c' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached_constants.h'
 patching file `libmemcached-0.32/libmemcached/memcached.h'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached.h' (time mismatch)
 patching file `libmemcached-0.32/libmemcached/memcached_response.c'
 not setting time of file `libmemcached-0.32/libmemcached/
 memcached_response.c' (time mismatch)
 The next patch would create the file `libmemcached-0.32/libmemcached/
 memcached_sasl.c',
 which already exists!  Assume -R? [n]
 Apply anyway? [n]
 Skipping patch.
 1 out of 1 hunk ignored -- saving rejects to libmemcached-0.32/
 libmemcached/memcached_sasl.c.rej
 The next patch would create the file `libmemcached-0.32/libmemcached/
 memcached_sasl.h',
 which already exists!  Assume -R? [n]
 Apply anyway? [n]
 Skipping patch.
 1 out of 1 hunk ignored -- saving rejects to libmemcached-0.32/
 libmemcached/memcached_sasl.h.rej
 patching file `libmemcached-0.32/libmemcached/memcached_strerror.c'
 patching file `libmemcached-0.32/libmemcachedutil/Makefile.in'
 The next patch would create the file `libmemcached-0.32/m4/
 pandora_have_sasl.m4',
 which 

Re: memcached-northscale gem on windows

2010-08-31 Thread Steve Smith
I know this is a bit cutting edge but the memcached gem was actually deprecated 
today and replaced with http://github.com/mperham/dalli.

Most intersting is the fact that dalli is pure ruby and aims to be a drop in 
replacement for memcached-client with performance increases and SASL (Mike 
specifically mentions Heroku here).

I haven't had a chance to try it yet but it looks like it might be just what 
you are after?

Steve

-- 
http://cloudmailin.com
@cloudmailin
Incoming email for your web app

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: free vs. paid heroku app performance

2010-08-31 Thread Oren Teich

 I don't really mind the sluggish spin up time. What I do mind is
 having slug compilation occasionally take 4+ hours instead of the
 normal 3 minutes. That means I can't show my boss the current state of


Slug compile should never take that long.  It sounds like a bug - we have
noticed a few stale lock files on compiles.  We're digging in to see what's
going on over the next few weeks on this particular area.

For the sake of clarity (and a future docs page I'll put up):

h1. When do you idle my app?

Only dynos are idled, not workers.  If you have only 1 free dyno, your app
will be spun down after a period of inactivity.  This period is variable
depending on demand on the platform, but is never less than 20 minutes or
more than 1 hour.

No other resources are different.  Git push, slug compilation, etc are all
identical.

Increasing your dyno to 1 will prevent your app from idling out.

Note: other resources (workers, add-ons) do not effect dyno idling at this
time.  If you have 1 dyno + 10 workers, your dyno will still idle out after
a period of inactivity.  We never idle out workers.

What other questions do you guys have on the area that I should include?

Oren

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: free vs. paid heroku app performance

2010-08-31 Thread Shane Witbeck
What's heroku's official stance on users using various methods to prevent
dynos from being idle? I personally have a production app that only uses 1
dyno and need to wait a while for the first request to get processed while
the dyno spins back up.

While I understand Heroku's reasons for spinning down dyno's that are not
being used, I also have heard that slow responses from a web site will
impact search engine ranking (faster responses are better).

I think this may have been mentioned already but is Heroku planning on
offering an add-on in order to prevent spinning down dynos for a nominal
fee? This seems like a no brainer since users are going to use other methods
to keep their dynos alive anyway.

Thanks,
Shane

On Tue, Aug 31, 2010 at 2:15 PM, Oren Teich o...@heroku.com wrote:



 I don't really mind the sluggish spin up time. What I do mind is
 having slug compilation occasionally take 4+ hours instead of the
 normal 3 minutes. That means I can't show my boss the current state of


 Slug compile should never take that long.  It sounds like a bug - we have
 noticed a few stale lock files on compiles.  We're digging in to see what's
 going on over the next few weeks on this particular area.

 For the sake of clarity (and a future docs page I'll put up):

 h1. When do you idle my app?

 Only dynos are idled, not workers.  If you have only 1 free dyno, your app
 will be spun down after a period of inactivity.  This period is variable
 depending on demand on the platform, but is never less than 20 minutes or
 more than 1 hour.

 No other resources are different.  Git push, slug compilation, etc are all
 identical.

 Increasing your dyno to 1 will prevent your app from idling out.

 Note: other resources (workers, add-ons) do not effect dyno idling at this
 time.  If you have 1 dyno + 10 workers, your dyno will still idle out after
 a period of inactivity.  We never idle out workers.

 What other questions do you guys have on the area that I should include?

 Oren

 --
 You received this message because you are subscribed to the Google Groups
 Heroku group.
 To post to this group, send email to her...@googlegroups.com.
 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.comheroku%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en.




-- 
-Shane

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: [ANN] Bundler 1.0.0 Rollout

2010-08-31 Thread Ashley Moran

On 30 Aug 2010, at 23:54, Terence Lee wrote:

 In the near future we're going to start requiring the Gemfile.lock to be
 checked into your git repository since this is the recommended deploy
 path set by the bundler team.  Please take the time to do so if you
 haven't already.

There's an unfortunate downside to this.  Our Gemfile has gems that can't be 
built on Heroku (autotest-fsevent, for example).  We avoided deployment issues 
by altering the Gemfile to only bundle these on OS X:

if RUBY_PLATFORM =~ /darwin/
  gem autotest-fsevent
  # ...
end

Then, we deliberately left the lock file out of Git so that Heroku would bundle 
correctly without these gems while compiling the slug.

Today we tried to update our deployment scripts to keep the lockfile in Git.  
This now means we have to have a Rake task to set an environment variable 
ENV[HEROKU], re-bundle with a Gemfile that now looks like this...

  unless ENV[HEROKU]
gem autotest-fsevent
# ...
  end

...then commit the lockfile to Git, and finally push to Heroku.

We have other issues that I think we can resolve.  But the above feels like a 
lot of hoop-jumping to get a lockfile on Heroku.

I'd love to know if anyone has a solution to this problem.  Last time I asked 
nobody had a simple workaround.  But that was April, I think, and Bundler and 
Heroku have both changes since then.

Or, are we alone in having OSX-specific gems in our Gemfile?

Advice much appreciated

Cheers
Ash


-- 
http://www.patchspace.co.uk/
http://www.linkedin.com/in/ashleymoran

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: Best way to handle sitemaps

2010-08-31 Thread Mike
I just checked, and the sitemaps are even bigger than I expected.
Every 1,000 entries in the sitemap seems to take about a meg...which
means the total size is in the gigabyte range. Now the sitemap
protocol allows for gz compressed sitemaps, which reduces the size by
more than 90%, which means that every 10,000 entries now takes less
than a meg, but which means the total size will still be in the
hundreds of megs.

I have to admit, I don't know much about MongoDB, is that something
that would be a good fit for this situation?

On Aug 31, 10:19 am, marcel mpoi...@gmail.com wrote:
 Can you store the results in memcache or mongo? How much space do all
 the sitemap files consume?

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: free vs. paid heroku app performance

2010-08-31 Thread Chris Hanks
 What other questions do you guys have on the area that I should include?

Two:

What is Heroku's timeout when spinning up dynos/workers? I thought
that I'd seen this mentioned somewhere, but I can't find it now. I ask
because an app I'm thinking of would need to hit external services and
the database when starting up, which could take a while.

Is there a limit to how long a daily cron job can run? I'm planning on
some number crunching that could take up to an hour or so.

Thank you!

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: free vs. paid heroku app performance

2010-08-31 Thread Oren Teich

 What is Heroku's timeout when spinning up dynos/workers? I thought
 that I'd seen this mentioned somewhere, but I can't find it now. I ask
 because an app I'm thinking of would need to hit external services and
 the database when starting up, which could take a while.


30 seconds.



 Is there a limit to how long a daily cron job can run? I'm planning on
 some number crunching that could take up to an hour or so.


You should aim for a few seconds, minute at most.  If you need that long a
job, you should be using a worker to run it.

Oren

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: Bundler 1.0.0 Rollout

2010-08-31 Thread chris
You're not alone -- would be great to have a solution for this.
Heroku's official stance is to just include them and don't worry
about the bloat, but obviously that won't work in your case.

On Aug 31, 2:32 pm, Ashley Moran ashley.mo...@patchspace.co.uk
wrote:
 On 30 Aug 2010, at 23:54, Terence Lee wrote:

  In the near future we're going to start requiring the Gemfile.lock to be
  checked into your git repository since this is the recommended deploy
  path set by the bundler team.  Please take the time to do so if you
  haven't already.

 There's an unfortunate downside to this.  Our Gemfile has gems that can't be 
 built on Heroku (autotest-fsevent, for example).  We avoided deployment 
 issues by altering the Gemfile to only bundle these on OS X:

     if RUBY_PLATFORM =~ /darwin/
       gem autotest-fsevent
       # ...
     end

 Then, we deliberately left the lock file out of Git so that Heroku would 
 bundle correctly without these gems while compiling the slug.

 Today we tried to update our deployment scripts to keep the lockfile in Git.  
 This now means we have to have a Rake task to set an environment variable 
 ENV[HEROKU], re-bundle with a Gemfile that now looks like this...

   unless ENV[HEROKU]
     gem autotest-fsevent
     # ...
   end

 ...then commit the lockfile to Git, and finally push to Heroku.

 We have other issues that I think we can resolve.  But the above feels like a 
 lot of hoop-jumping to get a lockfile on Heroku.

 I'd love to know if anyone has a solution to this problem.  Last time I asked 
 nobody had a simple workaround.  But that was April, I think, and Bundler and 
 Heroku have both changes since then.

 Or, are we alone in having OSX-specific gems in our Gemfile?

 Advice much appreciated

 Cheers
 Ash

 --http://www.patchspace.co.uk/http://www.linkedin.com/in/ashleymoran

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: [ANN] Bundler 1.0.0 Rollout

2010-08-31 Thread Terence Lee
It's rolled out.  Please file a support ticket if there are any issues.

Thanks,
Terence

On Mon, 2010-08-30 at 17:54 -0500, Terence Lee wrote:
 We're planning on doing a rollout for Bundler 1.0.0 to support Rails 3.
 As always, please test things locally and on production.  You can view
 the full changelog here:
 http://github.com/carlhuda/bundler/blob/d2b83f536291239d0ce2d2d27fa3821beb7e11f5/CHANGELOG.md
 
 In the near future we're going to start requiring the Gemfile.lock to be
 checked into your git repository since this is the recommended deploy
 path set by the bundler team.  Please take the time to do so if you
 haven't already.
 
 Thanks,
 Terence
 


-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: Can't push new code

2010-08-31 Thread brianp
Thanks for the reply unfortunately that is not listed as a gem source.
So it cannot be removed.

Any other suggestions?

On Aug 31, 10:18 am, chris mcclellan...@gmail.com wrote:
 Type 'gem sources' on a console and you'll probably see github in
 there. gem sources -rhttp://github.com/; should remove it.

 On Aug 30, 8:06 pm, brianp brian.o.pea...@gmail.com wrote:



  I get this error every time but none of my gems source github.

         WARNING:  RubyGems 1.2+ index not found for:
         http://github.com/

  .gems file included -http://www.pastie.org/1127841

  Cheers,
  bp

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Getting InvalidAuthenticityToken errors (without changing anything)

2010-08-31 Thread Andrew C.
All of a sudden, the login form on my site results in
InvalidAuthenticityToken exceptions.  This happened without changing
any code.  The same code base is working fine in my staging app.

The only difference between production and staging is the use of the
New Relic Custom Domain add-ons.

I'm not sure how to fix this.  Anyone else encountered it before?

Thanks,

Andrew

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.



Re: Getting InvalidAuthenticityToken errors (without changing anything)

2010-08-31 Thread Andrew C.
Ugh.  Lesson learned: Don't cache forms.

On Aug 31, 10:36 pm, Andrew C. andrew.c...@gmail.com wrote:
 All of a sudden, the login form on my site results in
 InvalidAuthenticityToken exceptions.  This happened without changing
 any code.  The same code base is working fine in my staging app.

 The only difference between production and staging is the use of the
 New Relic Custom Domain add-ons.

 I'm not sure how to fix this.  Anyone else encountered it before?

 Thanks,

 Andrew

-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.