king ...Application Support Director. He’s
the man responsible for keeping everyone happy, so if you’re a customer and you’re not (is that even possible?), he’s the man to speak to. He has tonnes of skills in many...
automation manager ... Manager, in
the automation department. We basically improve the lives of the Engine Yard staff, by automating the processes they do every day. For example, deploys can take a few hours manually, but with a sprinkling of automation we can pull that down to a few minutes.
Problems Through hundreds of customers
and hours of debugging, we’ve found a recurring set of problems that crop up with Rails development, and we’d like to make you aware of them if you aren’t already. No surprise, top of the list...
...I’ve seen a ﬁnd(:all) that
goes crazy and chews up memory like there’s unlimited banks of it. You all know the solution to this, in views you use pagination and in processing loops you use batches. The main cause of this going unnoticed before hitting production, is that...
ferret ...the popular ferret indexing
engine along with numerous different plugins that provide interfaces to it, is constantly corrupting indexes. Initially you’d think that it’s multiple processes accessing the same index...but we always use ferret server, so it’s not that. Our solution is simple and effective...
sphinx ...switch over to sphinx,
which has a lot less problems (if any) and does the same job. We’ve seen ferret indexes at 5Gb that are reduced to 1Gb when moved to sphinx. In conjunction with Evan Weaver’s ultrasphinx plugin, this is the ideal solution.
image science image_science is great
but there are a couple of gotchas for when you shift to using it in production, with monit...Image Science requires environment variables (INLINE_DIR or HOME) set up to work, monit clears these variables...so either use a wrapper script or set them in your app manually.
hodel 3000 ...hodel compliant logging
allows you to use a speciﬁc log format that reporting tools can handle. However, out of the few plugins that are out there for it, they neglect to inform you that you *need* to set logging to :info, otherwise your logs will (default to debug), be absolutely huge, and they don’t need to be if you want your reporting tools to work.
signups -- ...no signups from
that. Which if you’re a ruby/rails speciﬁc site, will be higher than if you’re not. It’s all whether your site is relevant to the market with these smaller sites, when I say smaller I mean not on the scale of ...
The Today Show ...the Today
Show, which is a great traffic provider, if you’re hosted with a provider who can scale you quickly and provide you with a team of Rails experts that will help you through it, by both scaling up your service, as well as providing quick advice on how to increase the efficiency of your pages. Someone like us ;-) You’re looking at...
100,000+ visitors ...a huge number
of visitors which is dependent on your site content, of course. One of our customers called Catalog Choice got featured on the Today show and the traffic spike was enormous, as well as obtaining...
10,000 signups ...them ten thousand
signups in the ﬁrst hour alone. So this is deﬁnitely one of the media spots you want to get featured on. Another, not surprisingly, high traffic provider ...
can you code? Of course
it’s all dependent on what your code quality is like. We can say that an average Rails application running over 3 mongrels, can trivially handle millions of unique visitors a month.
separate services ...and if you
can, move your services on to different servers. Like assets in one place, application in another, database in another, etc.
goodies Let’s wrap up the
talk with a mention of some open source goodies we have that you can download...then we’ll move on to the Q and A section.
eycap (gems.engineyard.com) This is a
gem we developed that extends capistrano, it allows logging of deploys, has tons of tasks for sphinx / ferret / memcached / etc. If you use nginx, or monit, or sphinx or....whatever, then this gem will be handy for you, download it using ...