Brightbox
  • Home
  • Pricing & Sign up
  • Why Brightbox?
  • Products & Services
  • FAQs
  • About
  • Blog
  • Wiki
  • Forums
  • Contact
Blog RSS feed
POSTED BY

John Leach

john@brightbox.co.uk

twitter_banner

Flickr


more images...

Recent Posts

  • New: Dedicated MySQL services
  • Ruby Enterprise 1.8.7-2010.02 Packages for Ubuntu Hardy & Lucid
  • Ubuntu 10.04 LTS "Lucid" now available
  • New: Automatically add SSH keys to new Brightboxes
  • Ruby Enterprise 1.8.7-2010.01 Packages for Ubuntu Hardy & Lucid

Archives

  • August 2010 (1)
  • June 2010 (3)
  • May 2010 (1)
  • April 2010 (3)
  • March 2010 (2)
  • February 2010 (3)
  • January 2010 (6)
  • December 2009 (4)
  • November 2009 (6)
  • October 2009 (2)
  • September 2009 (3)
  • August 2009 (4)
  • July 2009 (3)
  • June 2009 (3)
  • May 2009 (5)
  • April 2009 (4)
  • March 2009 (4)
  • February 2009 (3)
  • January 2009 (6)
  • December 2008 (8)
  • November 2008 (7)
  • October 2008 (8)
  • September 2008 (3)
  • August 2008 (5)
  • July 2008 (1)
  • June 2008 (4)
  • May 2008 (4)
  • April 2008 (3)
  • March 2008 (3)
  • February 2008 (3)
  • January 2008 (4)
  • December 2007 (4)
  • November 2007 (3)
  • October 2007 (1)
  • August 2007 (7)
  • July 2007 (1)
  • June 2007 (3)

Popular tags

    • announcements
    • apache
    • beta
    • brightbox
    • deployment
    • hardy
    • packages
    • passenger
    • performance
    • phusion
    • rails
    • ruby
    • ruby on rails
    • security
    • ubuntu

Posts by John Leach

New: Automatically add SSH keys to new Brightboxes 3 Jun 10

Getting access to your newly purchased Brightboxes used to require a trip to the control panel to retrieve the ‘rails’ user password. If you’re using config management systems like Chef or Puppet this is likely the only laborious aspects of configuring your box. No longer!

Now, whenever a new box is deployed, the SSH keys of all the technical contacts on your Brightbox account are automatically pre-installed for the default ‘rails’ user. To add your own SSH key, edit your user profile within the control panel and paste in your SSH public key using the editor at the bottom.

Remember, this only affects newly provisioned boxes – as the it’s done during the box build stage. Removing or adding technical contacts in the control panel at a later date will not automatically change any access control on existing boxes.

Posted 3 June 2010 by John Leach • Comments Off

access+ authentication+ brightbox+ deployment+ keys+ login+ security+ ssh

Passenger 2.2.11 packages for Ubuntu 8.04 Hardy 5 Mar 10

The last Passenger release, 2.2.10, has a bug that causes Apache to freeze when used under moderate load (Phusion say high load but we’ve seen it on quite moderate conditions).  We recommend that anyone using Passenger 2.2.10 upgrade to 2.2.11 asap.  Ubuntu Hardy packages are now available in our repository.

Posted 5 March 2010 by John Leach • Comments Off

apache+ deployment+ mod_rails+ passenger+ rack+ rails+ ruby

Passenger 2.2.10 packages for Ubuntu 8.04 Hardy 26 Feb 10

Phusion released Passenger 2.2.10 this week, fixing some bundler compatibility bugs and a file descriptor bug that could lead to “mysterious crashes”.

We’ve built our Ubuntu Hardy packages for i386 and AMD64 architectures which are now available from the Brightbox apt repository.  We’ve also upgraded our librack-ruby packages to 1.1.0.

Posted 26 February 2010 by John Leach • 1 comment

apache+ debian+ deployment+ hardy+ librack+ lts+ modrails+ packages+ passenger+ rack+ rails+ ruby+ ubuntu

Full Text Indexing in Ruby with Xapian Fu 1 Feb 10

I’ve just properly announced my Ruby full text indexing library, Xapian Fu, on my personal blog.  It’s a Ruby interface to Xapian, an open source search engine Library.  Xapian Fu basically gives you a Hash interface to Xapian – so you get a persistent Hash with full text indexing built in.

For example:

  require 'xapian-fu'
  include XapianFu
  db = XapianDb.new(:dir => 'example.db', :create => true,
                    :store => [:title, :year])
  db << { :title => 'Brokeback Mountain', :year => 2005 }
  db << { :title => 'Cold Mountain', :year => 2004 }
  db << { :title => 'Yes Man', :year => 2008 }
  db.flush
  db.search("mountain").each do |match|
    puts match.values[:title]
  end

The full announcement is here, github project here and rdoc here.  Hope you find it useful!

Posted 1 February 2010 by John Leach • Comments Off

ferret+ indexing+ library+ ruby+ search+ xapian+ xapian fu

Passenger 2.2.9 packages for Ubuntu 8.04 Hardy 8 Jan 10

The Phusion team released Passenger 2.2.9 today, which adds support for Rails 3, the GEM bundler, and fixes a couple of bugs.  As usual Brightbox are providing Ubuntu Hardy packages for i386 and AMD64 architectures, available now from the Brightbox apt repository.

This package won’t actually support Rails 3 just yet though as we’ve yet to package and test the librack 1.1.0, which Rails 3 depends on.  We’re working on it now and once we’re happy with it we’ll add new packages to our repository as usual.

Posted 8 January 2010 by John Leach • Comments Off

apache+ deployment+ hardy+ mod_rack+ mod_rails+ nginx+ packages+ passenger+ phusion+ rack+ rails+ ruby+ ubuntu

Brightbox sponsors NWRUG, 21st January, Manchester 7 Jan 10

I’m speaking at this month’s North West Ruby Group meeting about some of the tools available that can be used to solve common Ruby and Rails deployment and development problems. “UNIX: Rediscovering the wheel”.

Brightbox is also sponsoring the meeting so there will be free pizza afterwards (free as in pizza, not as in speech).

More details on the NWRUG blog page.

Hope to see you there!

Posted 7 January 2010 by John Leach • Comments Off

manchester+ nwrug+ pizza+ ruby+ sponsorship+ talk+ unix+ user group

Shared MySQL improvements 23 Dec 09

Over the last few weeks we’ve been working on scaling our shared MySQL facilities. Until recently, we’ve been able to run a single (albeit hefty) shared MySQL cluster but due to growing demand we’ve needed to scale this up considerably. The main cluster has had some performance problems recently and, while some tuning and vertical scaling bought us some time (we more than doubled the resources of the main cluster), the real focus has been on horizontal scaling.

We’ve built a bunch of new master-master replicated pairs and our backend systems now distribute customers between them on sign-up. We’ve also been contacting some customers and moving them to new clusters, to relieve the pressure on the main cluster (customers with heavy requirements are still recommended managed dedicated clusters – these will be available to purchase simply as additional products soon). We’re using puppet to automate a lot of the setup of the new clusters and can deploy a new one, with monitoring and backups, very quickly.

This work has almost quadrupled the shared MySQL resources within the space of a couple of weeks, and provides a simple platform to continue scaling indefinitely. The decentralisation also makes some aspects of administration easier, such as arranging downtime for maintenance.

The visible differences are small: rather than everyone connecting to one address, sqlreadwrite.brightbox.net, each account needs to use the address provided in the control panel. The old sqlreadwrite.brightbox.net has become db01.mysql.vm.brightbox.net (the old name will of course continue to work indefinitely), and the new clusters are at db02.mysql.vm.brightbox.net, db03.mysql.vm.brightbox.net etc. Our wiki documentation has been updated to reflect this – customers on the old cluster don’t have to make any changes, it only really affects new customers and customers we’ve contacted to arrange a move.

We’ve also been working on improving the slow query logger to provide more useful results. Instead of reporting every slow query ever logged, it produces an intelligent summary of the week’s queries. This means when you see a slow query in the control panel, it means it’s shown up repeatedly and very likely needs attention, as opposed to queries that just happened to take longer than usual due to load on the cluster. We’ll be rolling this work out just after Christmas.

This work represents a big investment in our shared MySQL platform, which we know is invaluable to a lot of our customers, and allows us to keep growing without sacrificing performance.

Posted 23 December 2009 by John Leach • 1 comment

cluster+ database+ improvements+ mysql+ performance+ shared

Apache x-sendfile module for Ubuntu Hardy 22 Dec 09

We’ve just added Caspar Clemens Mierau’s package for the Apache x-sendfile module to our Ubuntu Hardy package repositories, so now it’s trivially easy for Brightbox customers to start using it. We’ve also built an AMD64 version too.  Just install the package, enable it and reload Apache:

sudo apt-get update
sudo apt-get install libapache2-mod-xsendfile
sudo a2enmod xsendfile
sudo invoke-rc.d apache reload

Posted 22 December 2009 by John Leach • Comments Off

apache+ file serving+ hardy+ module+ package+ performance+ rails+ ruby+ sendfile+ ubuntu+ x-sendfile

Passenger 2.2.7 packages for Ubuntu 24 Nov 09

Passenger 2.2.6 (quickly followed by 2.2.7) was released last week and we now have i386 and AMD64 Ubuntu Hardy packages available in our repository.

As usual, details on installing the packages from our repository are available on our wiki.

If you’re using Passenger and it’s making you happy, please do consider supporting its development by donating money in the form of an “Enterprise License” direct from Phusion, the company behind it.

Posted 24 November 2009 by John Leach • 2 comments

apache+ cow+ deployment+ nginx+ passenger+ phusion+ rack+ rails+ ruby

Expiring an entire page cache tree atomically 16 Nov 09

As you’ll all know, Rails has page caching baked right in – the first time an action is hit, it writes a html file of the result to the filesystem. Subsequent hits are served direct from the html file at high speed by the web server without ever involving your Rails app.

Expiring the cache is just a case of deleting the html file. But what if you want to expire an entire tree of cache files? Say you change something in a header or footer, so every single page needs expiring at once.

The usual way to do this is to just delete the entire page cache tree, with FileUtils.rm_rf.  This works pretty well, but with a big tree you’ll get strange behaviour under high load due to concurrent access.  Whilst your rm_rf process is deleting the tree, file by file, your webserver will still be looking in there for page cache files and Rails will still be trying to write them.
Read the rest of this entry »

Posted 16 November 2009 by John Leach • 1 comment

atomic+ cache+ caching+ delete+ expire+ filesystem+ html+ page cache+ rails+ ruby


Recent blog posts

  • New: Dedicated MySQL services
    6 days ago
  • Ruby Enterprise 1.8.7-2010.02 Packages for Ubuntu Hardy & Lucid
    2 months ago
  • Ubuntu 10.04 LTS “Lucid” now available
    2 months ago
  • New: Automatically add SSH keys to new Brightboxes
    3 months ago
  • Ruby Enterprise 1.8.7-2010.01 Packages for Ubuntu Hardy & Lucid
    3 months ago
  • Ubuntu Lucid beta box offer
    4 months ago

Join our email list

Flickr (more...)

RSS feeds

Blog feed

Flickr feed

Recent Wiki updates

System Status feed




Brightbox Partners and Vendors

Wiki | Forums | Terms & Conditions | Privacy | Site Map

Copyright © 2010 Brightbox Systems Ltd. All rights reserved