Call-back icon  Enterprise Sales: +1.310.775.2674 (N. America)   +44 20.3286.4137 (UK)

Magento

eCommerce Software for Online Growth

Magento Blog

Best of the Blog


Video: Gift Cards and Customer Store Credits in Magento

The Magento Enterprise Edition is a powerful eCommerce platform with features designed to increase sales.

Keep your customers coming back by offering store credits and gift cards. Offer physical gift cards sent in the mail and virtual gift cards sent to an inbox. Set price tiers for customers to choose, or let them enter an amount within a preset minimum and a maximum value. The Enterprise Edition gives you control to define the card lifetime and enable gift messages so customers can add a personal touch.

Recipient’s can check their card balance before checkout, and use the available funds for purchase. Use an unlimited number of gift cards, or redeem and receive store credit. The Enterprise Edition keeps a gift card history so that you can see how gift cards are being used.

Reward loyal customers and handle returns by issuing store credits so customers can use the balance for future orders.  During the refund process, simply select the full refund amount, or enter a partial amount to create an automatic store credit. Your customers can choose to use their store credit during checkout along with other available payment methods. The Enterprise Edition makes it easy.

The Magento Enterprise Edition, giving you the tools to grow your business.

Video: Improve Conversions in 60 Seconds

The Google Analytics Blog recently posted a great video showcasing how “Google Website Optimizer can help you identify the copy, images, and page layout combination that is most effective at getting visitors to convert”. Together with Google Analytics, you can “find out which landing pages are least effective, so you can start working (optimizing) on those first”.

Google Website Optimizer is natively integrated with Magento as of version 1.1.7 (see related video and webinar).

Magento & Zend Server Benchmarks

This post is written by René Amirkhanian, Adrien Urban, Philippe Humeau from NBS System, a Magento Hosting partner and is reproduced by permission from the French WikiGento Blog.

Webinar: Join us on Thursday, July 09, 2009 9:00 PDT (GMT -07:00, San Francisco) for a joint webinar with Zend, the PHP company, to learn more about Magento Performance Optimization with Zend Server. Additional information and registration can be found here.

+++

Magento is a PHP/Zend application which intensively uses the CPU. Since version 1.1.6, each new version includes some mechanisms aimed to improve the performances. The goal is to use fewer resources for a given e-shop, which mainly means less CPU, in order to host more users with the same hardware.

One key to achieve better performances is how to optimize PHP pages generation and service. “LAMP” servers are well known and usually run Apache server with mod-php, eventually in fast_cgi mod.

Zend, the PHP Company, made a specific server (Zend Server), which includes a web application stack that (among other things) improves application performances through page caching and opcode reorganization & acceleration.

Apache and Zend Server is an alternative to the usual Apache and mod-php to run Magento, the goal of theses studies & tests is to qualify and estimate the performances added by the use of this software.

Many thanks to Yoav Kutner (Varien’s CTO) for providing us with prefilled catalogs for 1.2 and 1.3 version of Magento. Thanks goes as well to Zend labs for providing help in configuration and tweaking of the Zend Server as well as explaining the in depth mechanism of the solution.

Methods & Tools Used

The benchmarks were done using siege (2.66-2), with different numbers of simultaneous threads (5, 10, 20 and 40). Each thread opens a connection to the web server, request a page, and start again as soon as the page is fetched.

Tests were run over 5 minutes each; average pages retrieved was counted for this benchmark.

Two kinds of tests were done: the first one is the simplest; we only load the main page in loop, as fast as possible.

The second test is based on logs produced by a visit, loading all the data the browser collected (including css, js, images …). As loading a single page would usually load multiple elements, the number displayed is much higher than the number of pages that would be actually seen by visitors.

(18 pages viewed by the user, for 91 items downloaded, a ratio around 5)

All results were obtained on the same hardware and operating system, for testing purposes, no reverse proxy was active during the benchmarks but APC code cache was running. This was a “standard”, default environment with no special performance tweaks installed.

Hardware:

2 processors: Quad-Core AMD Opteron(tm) Processor 2376 (2.3GHz), 8GB Ram

Software:

Operating system: Linux (2.6.27.10-grsec) on a Debian (lenny)
Web Server: Apache2 (2.2.9-10+lenny2)
PHP (mod-php): mod-php5 (5.2.6.dfsg.1-1+lenny3) / php-apc (3.0.19-2)
PHP (Zend Server): zend-pe (1.0.0-1+b47) / mod-php5-zend-pe (5.2.9+b75)

Repositories:

deb http://ftp.fr.debian.org/debian/ lenny main
deb http://security.debian.org/ lenny/updates main
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb http://repos.zend.com/deb/pe pe non-free

Magento Version Benchmarks

Those tests were realized on an 80 000 (later called 80 k) products catalog.

Graphs represent the average number of requests successfully loaded from the server per second during the 5 minutes test.

Loading the homepage

graph1 - Comparison between 1.2, 1.3 and 1.3 + flat catalog

Magento 1.3 is much faster than 1.2 showing the main page. Flat Catalogs do not help much displaying this homepage, and seems to even slow down a little under heavy loads. The performance between 1.2 and 1.3 is doubled for low charges and is still 33% higher under heavy load.

For a standard value, under a “standard” load, we can consider that +40% is a reasonable value when running a 1.3 version instead of a 1.2, at least for the homepage.

Full visit cycle

Graph2 - Full visit, comparison between 1.2, 1.3 and 1.3 + FC

The graph shows a slightly smaller increase with 1.3 compared to 1.2 and the flat catalog mechanism give an overall benefit which greatly increases the performances.

For the records, we can reasonably choose to keep theses values in mind:

Version 1.2 -> 1.3 : +66%
Version 1.3 -> 1.3+Flat Catalog : +20%

Apache + mod-php VS Apache + Zend Server

Zend Server (sometimes refered as ZS later on) comes with several built-in technologies for enhancing application performance:

  • Zend Optimizer+ performs byte-code optimization and caching. This speeds up PHP applications by eliminating the process of reading scripts from disk and compiling them. Zend Optimizer+ runs automatically, and installing your application on top of Zend Server (ZS) is all you need to do in order to enjoy its benefits. During the test with ZS, APC Code cache is deactivated as Zend optimizer+ is doing the same job.
  • Zend Page Cache allows caching of complete PHP pages. Page Caching greatly improves the performance of web applications while maintaining dynamic capabilities through an elaborate system of caching rules that could be based on request parameters and user session data. Page Caching also has the benefit of not requiring any code changes, and can be set up from the Zend Server UI. Only the “pro” version contains this precise piece of software which definitely makes a difference as we will see in a minute.
  • Zend Data Cache is a set of API functions enabling a developer to store and manage data items (PHP strings, arrays and other data) and even output elements in either disk-based cache or shared memory cache. Zend Data Cache allows for precision-guided caching when Page Caching is not an option. The provided API is easy-to-use on existing code, and in many cases a developer can skip existing code sections by simply wrapping them with caching APIs. This precise piece of software would benefit from a little remastering of the code by Varien to really achieve a full support of this functionality. If done, we can imagine selectively flushing the cache when changing some pages on the servers and not destroying the whole Magento cache thus doing a “cold cache start” after a new functionality is put online.

Note: Zend Optimizer+ and Zend Data Cache are available in the free, community version of Zend Server, while Zend Page Cache requires a licensed Zend Server (full comparison of Zend Server and Zend Server Community Edition is located at http://www.zend.com/fr/products/server/editions).

Zend Server Configuration for Magento

In the benchmark, two caching rules have been defined:

The first rule caches the JavaScript files which are dynamically merged into one request by Magento.
This simple rule results in a very substantial improvement to response times.

ZS - configuration screen shot 1

The second rule caches all web pages accessed by users who have nothing in their shopping carts or history (when the shopping cart is not empty or when the user history is saved, there is no point in page caching). As you can see in the screen capture below, this is accomplished by looking at $_SESSION variables and by splitting according to $_SERVER[’REQUEST_URI’] in addition to the QUERY_STRING.

ZS - configuration screenshot 2

Finally, Zend Optimizer+ has been enabled for optimizing and caching the PHP byte-code.

As you can see, Zend Page Cache seems a very powerful feature. It needs fine tuning and better configuration, but let’s see results :

Homepage / 80 000 products catalog

Graph3 : comparison between 1.3, 1.3 + FC, 1.3+ZS, 1.3+FC+ZS

Load on main page doesn’t prove very constructive, although, on heavy load (40 concurrent requests), Zend Server (with or without page cage) is slightly better than basic mod-php, but almost no real improvements on this test. A 5% or less win is not to be taken seriously as it is the error margin of the tests.

Full visit / 80k products

Graph4 : Full visit, 80K product comparison chart

Full visit graphic speaks for itself, whatever the load, Zend Server with Page Cache and Flat Catalog make a big difference.

Comparing a 1.3 with flat catalog with a the same configuration but with a Zend Community installed instead of just APC, our server yield up to 15% more performances, just using a free edition of ZS.

If we use a full Zend server (the licensed one including the page cache) on this 1.3 flat catalog, our server goes up to 30% more performances!

Mod PHP + APC -> ZS: +15%
Mod PHP + APC -> ZS licensed edition: +30%

Response time

Homepage / 80k products

Graph5 : load time !

This graph show response time on the homepage measured during a load. No match on this test, under a good load, ZS, community or licensed edition, gives up a 35% boost in the load time, good to take.

Full visit / 80k products

Graph6 : full navigation load time comparison chart

Page Cache provides a better response time over a full visit of the site, even under very heavy load. As the difference remains thin, I would conclude it to be identical in that condition. However, the benefits of the page cache under a standard load remains a must have. Once again, a 35% win is to be considered as a reference value under a good load whether you are using a community or licensed version.

Under medium or light load, the page cache is giving a lot more power than the community edition can do. This strange result is probably mainly due to the page cache mechanism which prove to be not that efficient under heavy load because the system is using its resource in a different way.
We didn’t had time to check if it was a False cache sharing effect on L2 or L3 processor cache or a Linux or ZS issue but the test has been runned several times yielding the same results.

So keep in mind that the benefits of the ZS Page cache mechanism is going to be less and less active as the server load gets high. Under a usual load, a reasonable load lets say, the Page Cache algorithm gives a nice boost to the loading time, driving it down for ~40%.

Additional technical details about the tests

Sample data

All tests were run with generated sample data (provided by Varien)

image

Description of the tests

Main page test

Each concurrent thread loads the main page, without storing the cookies to simulate simultaneous users.

Full visit test

We have a list requests based on a visit done with a real browser. Each concurrent thread loads each item one after another as fast as possible, and restarts after deleting all its cookies. This simulates simultaneous users, except that simultaneous.

List of requested pages for the 80k database (with POST information when it applies) can be found here.

Things to test in the next benchmark campaign

Mage Compiler

When running all those tests, 1.3.1.1 version including the Mage optimizer was about to be released and an immediate 1.3.1.2 version followed and we didn’t had time to include some tests around this precise point. Let’s just consider the fact that this mechanism is mainly made to lower I/O jobs by “compiling” the libraries files all in one or two includes only. If your servers were already using mainly their RAM to work, the performances increase will not be that valuable. But if your servers where low on RAM or using mainly their disks, you should feel confident with using this option which can do great good to your performances!

Nginx

We didn’t had the required time to consolidate the results involving Nginx + PHP tests. This solution ranked almost every time between Magento 1.3 + FC and Magento 1.3 + Zend server (without Page cache). So this combination yield average performances, not as sharp as a Magento 1.3 + Zend server or any more advanced combination.

More “custom” visits

We have used a scenario involving each time a research in the search bar of the website and some “standard” behaviors. A more precise test can be run replaying some real traffic pumped up from apache log on a real site, the customer’s behaviors being more realistic even if our scenario was as logical as possible.

Conclusion

First, let me say that no electrons were armed or injured during these benchmarks. Perhaps one or two CTO were put under constraint and continuous coffee perfusions but all of this was intend for the greater good of E-commerce!

If you wish a more professional conclusion, let’s say that using ZS community edition will only do you good and really can replace APC.

If using the licensed version, the Page cache is very efficient (under reasonable load of the servers) and can help using ~25% less machines to achieve similar hosting capacities. If your servers are billed in a “managed hosting” way, having one or two less servers billed per month can make a good difference in the budget.

About Zend Server : this software has many other great functionalities and this paper is only consider the “performances” issues, just pay a visit to Zend Website for a far more complete overview of the product.

Last but not least, creating a server with all optimizations and best practices, based on an a dual AMD 2376 with 8 Go of RAM and using ZS and page cache, you can try to reach up to ~40 000 unique visitors a day corresponding to ~2 500 Magento simultaneous session at maximum load. (if database is separated on a different server and you activate a reverse proxy like Squid or Varnish above your front web servers)
This estimation is deeply linked to the website complexity and user standard behavior but these figures are given for a “standard” site and use, you can usually also expect a ~2 seconds loading time on the homepage.

If we had to sum up a quick dirty, average table of the performances, without any details, we would give that:

graph71

Magento Version 1.3.2.2 Now Available

Magento version 1.3.2.2 is now available for download and upgrade.

This release includes issue resolution for Magento version 1.3.x. To see a full list of changes please visit the release notes page.

A diff file is available here.

Important Note: If the Magento Compilation Module is enabled it must be disabled before attempting to upgrade. After upgrading is done click on “Run Compilation Process” to process and enable it again.

Please Note: We do NOT recommend upgrading a production installation of Magento directly. Please backup database and all files before upgrading. Please make sure to check file permission before trying to upgrade through your Magento Connect Manager.

Directions, Directions

It’s been a great last few weeks here with lots of planning for the future taking place. I appreciate everyone who replied to my thread and/or emailed me about the key infrastructure changes will be taking place soon.  It is only due to your valuable feedback that we can help ensure that we continue to grow in the right direction.

Direction and focus are two very important necessities when it comes to accomplishing anything.  They help drive goals and they help instill purpose.  In many of my exchanges with community members, many have shown great enthusiasm and tremendous desire to help shape future editions of Magento Community Edition.  To be honest, I am bit humbled by the colossal appetite that community members continue to inspire me with and to that end I would like to announce the opening of our feature roadmap.

Roadmap. By The Community, For the Community

Currently the roadmap is mainly developed by us with input from the community while taking broad overall goals in consideration.  While we work hard to make everyone happy we do ultimately need to achieve a balance which will help Magento advance all around.  As the project gets healthier and more intricate, we find that the scope is ever increasing and would like to open up the roadmap to ensure that everyone continues to have equal opportunity to define the future flow.  To enable that, we will be transferring the development of the roadmap to the Community Advisory Board.  Through their direct involvement with the community the CAB will be able manage and supervise the roadmap more efficiently, more openly and more cordially.

The Community Advisory Board will be meeting some time within the next two weeks to discuss this and issues related to infrastructure changes.  We are currently trying to sync schedules for the meeting and some members are on holiday and we will have more information when we set a date and time.  We are always working to open doors for the community and give the community a greater ability to influence the path which Magento travels as it continues to flourish into the world’s greatest, most comprehensive and coolest eCommerce platform.

Until then please feel free to email myself, at oz@varien.com or any of the other CAB Members with questions and/or comments.  The future is looking brighter and brighter and my guess its not only because the summer is rolling in!

Koby wink

Magento and Visions to Participate in Mail Order World Fair, Germany (September, 2009)

Magento Enterprise Partner Visions and Roy Rubin, Founder and CEO of Varien, will represent the open source e-commerce movement at this year’s Mail Order World fair (Hall 9, booth 900). Alexander Ringsdorff, Visions’ CEO, and Roy Rubin are available for appointments with interested retailers on 30th September, the first day of the exhibition.

Mail Order World takes place in Wiesbaden, Germany, from 30th September to 1st October. More than 90 speakers, 370 exhibitors, 1200 distance sellers and service providers and 4800 visitors in attendance make Mail Order World the largest trade fair of the European distance selling industry. At Visions’ booth, interested retailers will be able to learn more about the opportunities of e-commerce with Magento.

In addition to successful enterprises abroad, Magento already has a strong presence in the German e-commerce market: Jack Wolfskin and Globetrotter Ausrüstung - named Distance Seller of the Year at Mail Order World 2006 – already trust in Magento.

The e-commerce agency Visions, based in Hannover, has specialised in implementing Magento according to the needs of multi-channel retailers and draws on extensive experience with highly customised solutions.

Discounteo.com Achieves Success with Magento

image

Discounteo.com is one of the largest eCommerce sites in the French market and recently launched on Magento in March, 2009. Developed by SQLi, a Magento Enterprise Partner, Discounteo.com has made a positive assessment of the migration to Magento, as mentioned in a recent blog post on the SQLi Communiqués Blog (French):

SQLI and Discounteo - A Common Focus for Innovation

To expand its business, Discounteo, specializing in online sales of home electronics wanted to deploy an eCommerce platform that could meet strong performance expectations ... Daniel Broche, President of Discounteo, was one of the first french eCommerce leaders to have made the choice of Magento in the spring of 2008 ...

“Following the decision to relaunch our online platform, we have discussed various proposals, both proprietary software and open source. The SQLi team has been particularly convincing in their technological and functional solution with Magento, and also by their professionalism and ability to anticipate our needs.
The proposed solution by SQLI fully met our requirements (integration with an ecosystem of applications, e-commerce features dedicated to our products, performance ...). Moreover, SQLi is very sensitive to our desire to innovate and expand the project in this capacity. For example, we are among the first to have introduced a conversation on our site, and are innovating in terms of CRM, logistics, etc. ... Open Source is an important driver because it can be less restricted than proprietary technologies”

Magento and SQLi - The Promise of Open Source

The work to implement the new Discounteo.com provided the opportunity to create software extensions adding to the ecosystem of the Magento platform. Some of these extensions (ones of a generic nature), are now available through Magento Connect (SQLi Dashboard, SQLi Range Filters). Thus, with its successes in the development of e-commerce sites, SQLI continues to invest and contribute in next-generation platform, Magento.

Post loosely translated using Google Translate

Practical eCommerce’s Getting Started in eCommerce Guide (PDF Download)

image

The wonderful folks at Practical eCommerce have made available a free guide for online merchants that are getting started online, “Getting Started in eCommerce - An overview to selling products online”. The guide is a great resource and provides an overview of payment processing, merchandising, marketplaces, email marketing and more.

Check it out for yourself!

Page 1 of 71
© Copyright 2009 Varien. Magento, eCommerce software, is a trademark of Irubin Consulting Inc. DBA Varien
Privacy Policy|Terms of Service
Magento Community Count
108621 users|350 users currently online|199674 forum posts