Friday, December 31, 2010

Magento on Rackspace CloudServers

Warning: Moderately Technical Post Ahead.  Read With Caution.

If you've tried Magento, you know that it can be dang slow.  Especially versions prior to 1.4.  I don't know what the heck they're doing with all those CPU cycles, but Magento sure eats them up.

Enter the Rackspace Cloud.

In an attempt to improve the performance of my dual quad-core AMD64 HP web server (yes, 8 CPUs) and the 15k SCSI drives in my database server, I started testing out a couple of my Magento sites on the Rackspace Cloud solution.  The results have been somewhat remarkable - but not without a bit of work.

My experience has shown that in order to run a Magento site and the MySql database behind it on the same Rackspace CloudServers instance, you really need a 1GB instance or larger.  I have tried the smaller instance sizes, but they quickly run out of memory and go to swap, which makes the situation even worse than my shared servers.

With a 1GB instance, there is ample disk space for my site and database with over 5,000 SKUs.  The I/O throughput appears to be at least as good as my 15k SCSI hardware RAID1 configuration on an HP DL360.  In fact, I am pretty confident it is actually better.  And while Rackspace is very "cloudy" about the amount of CPU that a particular instance is allocated, nothing appears to become CPU bound on my installations.

Here are a couple of recommended optimizations if you are planning to run Magento and MySql on CloudServers from Rackspace:
  1. Turn on Query Caching for MySQL.  I generally set the max size of the QCache to about 1/3 of the total system memory.  Going larger than that will eventually result in using swap and slow everything down to a crawl.
  2. Install APC for PHP.  This makes a huge difference for Magento.  Again, I set the memory limit for the APC cache to around 30% of system memory.  I have found that different sites will use dramatically different amounts of the APC cache, so monitor your own usage and adjust the maximum allocation accordingly.
The performance improvement has been dramatic moving from my 2 over-taxed servers to CloudServers.  The transition was generally smooth, and reliability has been flawless.  Add in the relatively painless option of backing up to CloudFiles and you have a nice solution for moderate-volume Magento sites at a reasonable cost, that performs well, and can scale up quickly if necessary.

One of my favorite features of Rackspace CloudServers is the ability to resize an instance in place.  If you find that you need more CPU or RAM because of a spike in demand, simply up-size your instance and perhaps adjust your cache sizes (described above).  So much better than trying to get another machine, install the OS & software, copy over the data, etc, etc.  When I have tested instance resizing, there is typically less than 5 minutes of downtime while the server is resized.  Well worth it when the server comes back online and can service the the load properly.

Wednesday, December 29, 2010

Is Android Missing the Point?

Recently, I read an interview with the developer of Angry Birds.  You know, the biggest iPhone app ever.  With more than 1 million downloads in a single day, these guys are raking it in like there's no tomorrow, but that's not the point.

They recently released a version for Andriod.  Not to make more money in app sales, mind you, but I think it's just something that software geeks (like me) do when they have the opportunity.  His comments about the Android market really opened my eyes and caused me to seriously rethink my opinion about how this smartphone war will play out.

In short, it should be no surprise that Apple and Google are at war.  No different than the OS war on the desktop that was ultimately won by Microsoft.  These are different times though, and different skills and business acumen will be required to win.

Here's how I think Google / Android is missing the boat:  By all reasonable, educated accounts, the Android market all but refuses to pay for apps.  It's in Google's DNA.  Consumers don't pay for anything.  The big problem with this is that good software people simply don't work for free.  If nobody's paying for apps, the best developers simply won't build them.  What you end up with (unless this changes right-quick) is a device with thousands of mediocre, buggy, free apps available (called Android) or a device with good, solid, cheap apps available (called iPhone).  It's already happening.  There is a thriving ecosystem among developers making a good living programming for the iPhone.  Heck, the Angry Birds crew alone has grown to more then 50 full-time people in the past year.  Money makes great things happen, even if only $1 at a time.

Google needs to get off the stick and create a real competitor to the AppStore before they will seriously challenge the iPhone.  This strategy move needs to happen very quickly, because once the iPhone is available on Verizon, the gap is only going to widen between the Droids and iPhone.

Or maybe I've got it all wrong. . . . It's happened before (I think). . .

What do you think?

New Years Resolutions for 2011

Every year I do this, but it's not what you'd expect.

My "resolutions" for 2011 aren't the usual "lose weight", "exercise", "save money" stuff that you see all over the place.  Mine are more personal, specific. . . . perhaps odd.

Over the last 5 or 6 years, it has become evident to me that creating my retirement is a matter of nothing more than discipline.  It's about making the right choices about how to spend the little free time available to expand the revenue streams that will provide for my family when I can no longer work.  It is remarkably easy to get on the metaphorical "treadmill" of life, working hard, running fast, and getting nowhere.  This post is part of my commitment to spending 2011 furthering the goals that I personally set, rather than burning time on the treadmill.

So, some goals for 2011.  The "I Will" portion of the program:

  • Generate some creative, potentially useful content at least 2 times per week and publish it
  • Concentrate on developing products with long-term residual income potential
  • Focus on expanding the businesses that I already own and/or operate
Of course, this is all relative to bad habits that I tend to gravitate towards.  Specifically "I Won't":
  • Engage in over-analysis of data and statistics at the expense of of doing something useful
  • Obsess over the minutia
  • Neglect my family in the pursuit of money
It may be overly optimistic, but if I can accomplish these few simple points, 2011 will be a banner year.  Starting the new year in a new state with a new outlook could be just the catalyst necessary to keep on track.  

Best of luck to you in achieving your own personal objectives.  May 2011 be the best year of your life.

Tuesday, December 28, 2010

Personal Finance Software for the 21st Century

First, let me say that I'm not affiliated with this company in any way.  These are my unbiased observations of an interesting product/service that I found through the App Store (iPhone).

Mint.com has taken personal finance software to a whole new level.  Since most of us propeller-heads do virtually all of our financial transactions online anyway, Mint has built a product that painlessly integrates most (if not all) of your finances in one place.

Perhaps the best feature is that it updates your transactions automatically, downloading them from your bank, credit card company, mortgage company and more.  When I log in, I get near-real-time information at a glance for all of my asset and liability accounts with virtually no work.

I set this up last weekend, and it took about an hour.  Almost all of my accounts were recognized and connected on the first try.  One notable exception was my car loan with Nissan Financial. For whatever reason, Mint apparently does not have an integration built with them.  Accounts with Chase, BofA, E-Trade, American Express all worked flawlessly.

Another awesome feature is the free iPhone app.  While it understandably doesn't have all of the features of the website, it provides a quick overview of budget, assets, liabilities and cash flow.  It also has alerts to let you know when bills are coming due and notifies you of large transactions in both directions.  You can also view recent transactions in your bank or credit card accounts from the iPhone app.

All told, Mint.com has a great product. The iPhone app sweetens the deal quit a bit for the bean-counter on the go.  One of the few products/services I have found this year that I think I'll still be using through the end of 2011.

Go check 'em out, and let me know if you share my opinion.

Monday, December 27, 2010

A few of my favorite phrases

Food for thought from various sources (including myself):

Live out of your imagination instead of your memory.

The price of being a sheep is boredom, the price of being a wolf is loneliness.  Choose one or the other with great care. [Hugh Macleod]


You can't steer a parked car.

Ask yourself: If not now, when?

If you really want to do something, you'll find a way. If you don’t, you’ll find an excuse. [Jim Rohn]


The market for something to believe in is infinite. [Hugh Macleod]