Archive for September, 2009

Performance Blitz

Thursday, September 17th, 2009
During July and August of 2009, the JewelsBoutique.com technical team focused on site performance. To start, we identified key performance metrics including
  • page load time from browser (seconds)
  • page processing time at backend (milliseconds)
  • resource utilization (memory, cpu, network, disk)

Each of these metrics were measured at the beginning of the project to establish baseline values. Next the team worked to identify, diagnose, and fix areas of our site that contributed to less than desirable performance.

The JewelsBoutique.com Production Environment

The JewelsBoutique.com online store manages more than 40,000 individual online luxury items including diamonds, pave engagement ring mountings, necklaces, earrings, and bracelets. Our goal is to never make our customers wait longer than 2 seconds for pages from our site.

The production environment is deployed and managed via cloud computing, using a small instance (1.7GB memory) Elastic Compute Cloud (EC2) from Amazon. Data storage is managed via Amazon Elastic Block Service (EBS); EBS provides highly available, highly reliable storage volumes for EC2.

We noticed that disk reads/writes were sometimes quite slow. So, we made a couple of changes to improve EBS I/O:

  • Reduce contention by creating separate disks for reads and writes
  • Added eAccelerator cache to both reduce PHP disk I/O and boost run-time performance

Our Web Server

Next we found that our Apache configuration included several modules that JewelsBoutique.com does not use. We removed the unused modules and recompiled Apache and mod_php statically to not only reduce memory consumption, but to also improve both startup and execution time performance.

The Database

As is often the case, database bottlenecks creep in and affect web site performance. We found that some simple tuning of our MySQL database yielded significant performance gains. We adjusted our MySQL configuration based on several tips from the Tuning Primer. We also adjusted MySQL innodb_flush_log_at_trx_commit to balance the I/O ratio.

Don’t Forget the Network

Page load time is dictated by the time required to download and present all page content. To boost download performance, we added a sub-domain for skin and media files which permits the browser to download content, media files, and skins in parallel. We also used gzip to reduce size of certain “large” pages (in some cases page size was reduced to ~40% of original) which in turn lowers network load.

Finish Line

The effort and changes described above have been implemented. We compared the original baseline values against the current values and here are the results:

  • average page load time is now less than 2 seconds; baseline value was more than 6 seconds
  • page processing time is now around 400ms; baseline value was 635ms
  • resource utilization is down more than 50% from baseline levels

We are quite happy that all gains from this “Performance Blitz” were achieved without adding or upgrading hardware! In the future, when we do add computing resources, we can be confident that will be used efficiently.

Our goal is to provide you with quality diamonds, pave engagement ring mountings, and an exceptional shopping experience.  We do this with our team of special designers, expert gemologists, skilled jewelers, and thoughtfully designed web site.  Explore JewelsBoutique.com and give our concierge service a try, we are here to exceed your expectations!

Matching Diamonds with Pave Engagement Rings

Tuesday, September 8th, 2009

Providing exceptional user experience (UX)  for online diamond and engagement ring shopping is no trivial task.  It is different from virtually all other eCommerce merchandising that you will find on the Internet today.

To begin with, each customer is unique in their approach; some begin with the diamond and others start by picking a special mounting followed by the diamond. For the later, some shoppers already have diamond as an heirloom or gift.   And, of course the diamond and ring must work well together.  An online system that does all this is much more than a traditional eCommerce solution.

The size and shape attributes of diamonds, are essential when selecting compatible  engagement ring mountings.  Equally important are the engagement ring prongs (metal pieces which hold your diamond in place).  The number, type, spacing, and orientation of prongs determines which sizes and shapes of diamonds each pave ring mounting can accommodate.

Prong spacing is especially critical for designer engagement rings and pave engagement ring mountings with their many smaller diamonds near the center stone.  High quality designer pieces accommodate specific shapes and sizes of diamonds.

The JewelsBoutique.com system automatically takes the prong attributes into account and presents customer with a list of matching products (mountings or diamonds based on your selection).  These “matching products” are presented because they work well with the diamond or mounting that you previously selected.  We use a combination of systems and gemologist recommendations to produce our matching products and we stand behind them 100%.

Our goal is to provide you with quality diamonds, pave engagement ring mountings, and an exceptional shopping experience.  We do this with our team of special designers, expert gemologists, skilled jewelers, and thoughtfully designed web site.  Explore JewelsBoutique.com and give our concierge service a try, we are here to exceed your expectations!

Additional Payment Options; PayPal and Amazon

Tuesday, September 1st, 2009

Adding more payment options to JewelsBoutique.com is a natural step forward.  Whether it’s for convenience or peace of mind, customers need choices when it comes to online payments.  Our customers asked for these options, so we’re pleased to make them available as payment methods in our shopping cart.

Beginning next week, payment method options will include:   all major credit cards, wire transfer1,  PayPal, and Amazon Payments.  During checkout, customers complete their billing and shipping addresses on JewelsBoutique.com and then select their payment method.

Our goal is to provide you with quality diamonds, pave engagement ring mountings, and an exceptional shopping experience.  We do this with our team of special designers, expert gemologists, skilled jewelers, and thoughtfully designed web site.  Explore JewelsBoutique.com and give our concierge service a try, we are here to exceed your expectations!

1JewelsBoutique.com customers automatically receive a 1.5% discount for payments made via wire transfer.