Archive for March, 2010
1. Capacity planning, be clear about how many items will be loaded into the system as well as the expected traffic volume (rough) in a certain period, this can help you choose the proper hardware resource (EC instance for AWS) at the beginning.
2. Apply commonly used ways to each separate component/sub-system of your system, e.g:
> Apache/Web Server: compile/configure the right mode & module, set proper parameters such as MaxClients, process threads, enable compressing module and set a never-expire header for static files if possible
> MySQL: set proper cache size, buffer and FS mode; apply the high-performance patch provided by Percona
> PHP: compile all needed extensions to be static, use at least one OP cache extension (eAccelerator/APC/xCache/ZO) and set the right parameters (caching mode, compressing level, etc.), set proper memory limitation
> OS: tune the FS/network related parameters, shutdown all unnecessary backend services (e.g. cups, portmap, etc.)
3. Once all of these are in place, let’s dig something more with Magento’s native support:
> Enable cache for all
> Configure backend cache type to be memory based (either shm FS or OP cache’s shm function)
> Use memory FS or database to save sessions
> Enable flat category/catalog, use Magento compiler if possible
> Use separate host (even a lighter web server on same server, but different port) to serve static files (/media/*, /skin/*)
4. Now, the system should be performing reasonably well, I believe the site should be OK to launch! Actually, my post was written at that point after we finished all items listed above – step by step – we experimented using different approaches to bring better browsing experience to those who shop for diamonds and engagement ring mountings on Jewelsboutique.com.
The next step will be much more interesting… also more challenging: monitor and detect the ‘performance optimizable area’ proactively, that could be either the slowest area of the system, or the place frequently called which could be bottleneck as traffic grows, here is a list that we have done/are doing based on our experience:
- Use separate server for database, web app and static files if needed
- Optimize Magento indexing strategy (we cannot easily upgrade to Magento 1.4, so need do something by ourselves with 1.3…)
- Build our own ’summary table’ for diamond search. As we have ~40,000 items, I can not imagine how slow Magento would be if using its own schema (even using flat-catalog)
There might be more specific cases when we were building JB, but that’s all what I remember and summarize at this point, I think we can go deeper for some specific problem if you guys have specifics you can share.
At last, I can share you the main stages that we have experienced since we started to run JB on AWS:
- Starting point – EC2 + S3: one small instance to host everything, write a script to backup data from EC2 to S3 everyday
- Soon after AWS brought out EBS, we moved to use EBS, all our ‘variable data’ (htdocs/database/logs) were stored on EBS, and we started to scale out — allocated more instances to run database and web server separately
- As backend/infrastructure-level performance are not big concern to us, we started to focus more on front-end/UX area, that what we are doing now — to improve our page look and feel, optimize the page structure to bring the web user convenient and useful information when shopping for diamonds and jewelry.
- To understand what goes into the price of a diamond, it’s a good idea to familiarize yourself with the four C’s: cut, clarity, carat, and color. Check out the 4 C’s & Diamond Buying Guide for more information.
- Look for the details in your engagement ring. A stunning design can make your ring as unique and beautiful as you are.
- When selecting wedding rings, consider the three-ring set. The bride’s and the groom’s wedding bands will coordinate with each other and with the engagement ring.
- Your engagement ring and wedding band should reflect your style. Whether your tastes are classic, contemporary, or vintage, find the designer for you. For ideas, check out this Engagement Ring Selection.
- For a personal touch, have your wedding bands engraved with a loving message or a portion of your wedding vows.
- Consider a truly remarkable wedding band that can stand on its own.
- Get your rings insured as soon as possible. No matter how much you treasure them, accidents do happen. To protect your once in a lifetime investment, consider personal jewelry insurance.
- Remember to select day-of jewelry, such as earrings and a necklace. Find a perfect piece to complement the neckline of your gown. For ideas, check out this Earring Selection and Necklace Selection.
- A watch is a timeless present for a bride to give her groom, one he can wear on the wedding day and beyond.
- Invest in fine jewelry beyond your rings to wear on your wedding day. It will always be a special piece and is something you can hand down to your own children. Check out Jewels Boutique for a wide selection of fine jewelry fitting for your wedding day.
- Colorful gemstones make a dramatic statement in any piece of jewelry.
- Ring maintenance should include twice-yearly visits to your jeweler to check the integrity of the prongs on your setting. A loose setting can lead to a dislodged diamond.
- To keep your ring sparkling, clean it often to remove the oils, lotions, and everyday dirt that will cloud it. You can do it yourself or ask your jeweler to do it for you. Check out this selection of Jewelry Cleaners.
- A thoughtful bridesmaid’s gift is a lovely piece of jewelry that complements her dress. It’s something your bridesmaids will wear again!
- A gift of jewelry needn’t be limited to bridesmaids. Groomsmen will be just as pleased with cufflinks or special tie tack.
- Your wedding dress should fit the venue and your vision for the day. It’s best to have the place, season and overall feel determined before you decide on the dress.
- Peruse magazines and websites, and then bring pictures of the dresses and details you admire to gown appointments. These visual cues are easier to interpret than descriptions. Check out Martha Stewart Weddings for additional ideas.
- Remember that your attendants come in all shapes and sizes. A very popular trend is to let each bridesmaid select a style flattering to her in the shade you’ve chosen. Remember, if your bridesmaids look great, your pictures will too!
- When trying on dresses, focus on fit, not size. Bridal-wear runs smaller than ready-to-wear, so forget the numbers. For dress ideas, check out Wedding Dresses on OneWed.com.
- Allot enough time for alterations and customization of your dream dress. It may take longer than you think.
- The silhouette most flattering on you might not be the one you think. Trust the experts to help you find the best one for you. Remember, every dress looks different on you than it does on the hanger!
- Today’s bridesmaid’s dresses come in every color of the rainbow. Whether you dress your bridal party in one color, multiple shades of the same hue, or several different colors entirely, choose colors you love. For dress ideas, check out Bridesmaid Dresses from Dessy.com.
- When shopping for a wedding dress, keep an open mind but wait for the one you absolutely love. Just like you did for your groom!
- Your dress should look good and feel good whether you’re dancing, standing, or sitting.
- Shoes bring drama to a bride’s ensemble. Pay attention to the toe, as it will peek out from beneath your dress. Check out Bellissima Bridal Shoes for excellent bridal shoe collections.
- Sometimes the simplest touches are the most personal. Embroider your monogram into the lining of your gown for a sweet detail.
- Always consider the style of your wedding dress when selecting your veil or headpiece.
- For your big day, invest in lingerie as breathtakingly beautiful as it is functional. You should feel equally beautiful on every layer! Check out La Perla Lingerie for extraordinary intimate options.
- Make sure you try on the dress after the very last stitch is in-you don’t want any surprises on your wedding day.
- Consult experts on how to transport, or store your wedding dress before the big day, as well as how to clean and preserve it afterward.
Limited time offer for readers of POSHGLAM! Special includes rings, earrings, bracelets, and necklaces.