Archive for August, 2009

Increased performance for high-capacity stores: how we achieved it

By Michael Gunin, Friday, August 28th, 2009 in Inside CS-Cart

CS-Cart version 2.0.7 (released just recently) includes significant performance optimization which was done specifically for highly-loaded and large (more than 100,000 items) online stores. We have decided to provide some general insight into the approach we’ve used. Ilya Shalnev, Chief Architect of CS-Cart, shares the results of this work:

* * *

The testing has taken place on Core 2 Duo e5400 server with 4Gb RAM and 250Gb SATA HDD working under CentOS 5.3.

Our method was quite simple: as SQL queries make the most significant impact on server-side performance, we have performed the debug and picked all MySQL queries taking more than 0.01 second on our server.

The debug was done on a test store with 100,000 products stored in 500 categories (with a maximum of 4-level depth).

Other important aspects of product specifications include:

  • Number of secondary categories: 1 – 30%, 2 – 20%, 3 – 10%;
  • Product options used: color – 40%, size – 20%, color and size – 30%;
  • Product descriptions: “description_one” – 50%, “description_two” – 10%, “description_description” – 10%;
  • Product quantity discounts used: for 2 products – 10%, for 3 – 20%, for 5 – 40%;
  • Tags used: “test” – 60%, “sample” – 70%;
  • Thumbnail image used: 100%;
  • Number of additional images: 1 – 10%, 2 – 10%;
  • “Featured Products” blocks: 7 products – 50%, 5 products – 50%;
  • Product features used: Manufacturer – 30%, Format – 10%;

Next, we’ve performed the optimization of these queries by changing the database structure and using some other methods.

The table below outlines the end results for MySQL queries and PHP code execution for various page types of a test store with 100 000 products:

Page Execution time before optimization, sec: Execution time after optimization, sec:
Home page 0,09 0,09
Category page (2 000 products) 5,68 0,37
Advanced search page (clear, all products found) 52,77 18,38
Advanced search page (by description, 1 299 products found) 301,18 10,04
Advanced search page (price range from 2 000 to 7 000, 40 389 products found) 22,89 8,76
Advanced search page (price range from 2 000 to 5 000, 200 products found) 0,57 0,27
Advanced search page (no products found) 267,78 1,46

* * *

As you can see, in most cases we have managed to make most resource-consuming queries execute about ten or more times faster than before! So, it is safe to assume that CS-Cart has become much faster on high loads, allowing your online stores to keep running smoothly even with a large product base and/or at the peak of popularity.

Another feature we have introduced is caching for queries which take more than 3 seconds to complete. Such queries are not executed for the second time and their results are seamlessly taken from cache. In case the content of corresponding tables changes, the cache is cleared in order to be filled with the new data.

Still, we are sure that many of you would be interested to know what else can be done to achieve even higher page loading speed, so stay tuned to receive further information on optimizing CS-Cart performance.

An easy way to place your own logos into CS-Cart

By Michael Gunin, Wednesday, August 26th, 2009 in Inside CS-Cart

Corporate logos are the key part of any brand identity. Therefore, it is obvious that you will definitely need to place them into your online store interface and replace the default ones.

In some systems, this may involve looking for corresponding templates, editing the code and uploading logo images via FTP or hosting control panel. With CS-Cart, however, the process is much easier: everything is done via a special section of the administration panel without the necessity for source code changes and file manipulation.

Choosing logos for various store sections

Choosing logos for various store sections

The interface allows to choose your own logos not only for the customer area, but also invoices, login forms, gift certificates and administration area. You may upload graphic files directly from your computer, find them on your server via a convenient file browser or indicate the path via an external URL.

As soon as the file is chosen, you can immediately see it to ensure that the right logo is picked. So, it takes minimal time to set your own logos in order for the store interface to reflect your own visual style – and make people see that the store they visit is yours.

CS-Cart is at version 2.0.7

By Michael Gunin, Monday, August 24th, 2009 in CS-Cart releases

A new release of CS-Cart has been issued today. The latest version includes notable improvements related to product options and bestsellers, performance optimization, extended category layout options and, as usual, skin line enhancement.

The product options functionality has been enriched for input and textarea-type options. Now it is possible to achieve the maximum control and flexibility by marking an option as required, validate option values by regular expressions, add an inner hint into a text field and display custom validation messages. You can also set descriptions for product options of any type.

Most customers are interested to know about the bestselling products and now CS-Cart allows sorting products by popularity and editing the bestsellers rating, as well as adding a new list type via Block manager – products ordered by popularity.

Slow database queries in CS-Cart were significantly optimized, especially for large stores offering 100 000 (or more) catalog items. Not only has the database structure been optimized, but also a caching of slow queries has been added in order to prevent them from repeated loading. As a result, store performance has significantly increased on high loads.

It is now possible to set product lists layout both globally and on a category level. Three layouts are available by default – Grid, List and Compact list, custom layouts can also be added by making your own templates.

In addition, CS-Cart 2.0.7 comes with three new skins: “Redish”, “Fresh pick” and “Solitude”. Please note that since these skins are made by third-party designers, they require a backlink to an author’s website (please, refer to the licence.txt file in a corresponding skin folder for more details).

Please, refer to the changelog to see the detailed list of additions and improvements.

Customers trust online testimonials and recommendations

By Michael Gunin, Friday, August 21st, 2009 in Articles

The Nielsen Company has recently performed an extensive online poll among 25 000 online buyers from 50 countries.

It’s very curious to find out how many people trust (completely or mostly) different forms of advertizing:

Degree of trust in various forms of advertisement

Degree of trust in various forms of advertisement

It’s worth mentioning the differences which exist in various countries. For example, the level of trust in brand websites is 82% in China, 81% in Pakistan and 80% in Vietnam. However, it’s only 40% for Sweden and 45% for Israel. For the US, it is at 72% which is very high, while even more (72%) trust client testimonials!

So, the idea here is: not only to make a well-thought-out website but be sure not to forget about gathering feedback from your customers. It’s much cheaper and easier than TV or printed ads, while the effect can be much more significant.

And how do you work with testimonials?

CMS features of CS-Cart

By Michael Gunin, Wednesday, August 19th, 2009 in Inside CS-Cart

Modern online stores cannot be imagined without supplementary product information. In addition to catalog, shopping cart and checkout features, store owners are willing to publish attractive content or even engage visitors in communication.

There was a time when the only way to work with the content for ecommerce sites was to write custom add-ons or integrate web stores with existing content management systems (where most of advanced features were not even necessary). However, now everything is different. Being a modern ecommerce solution, CS-Cart also offers CMS functionality which is easy to use and, at the same time, flexible enough for online store content publishing.

List of pages available for editing inside of administration back-end

List of pages available for editing inside of administration back-end

All information is stored within the pages shown in the corresponding section of the storefront. Pages are arranged in a hierarchy, so you can define a parent for each item and logically organize your content.

CS-Cart provides store owners with four pre-defined page types: text pages, forms, polls and links.

Using text pages, you can post various text and graphic information such as company details, policies, articles etc., while links provide the ability to point to some external websites or documents.

Example of a contact form page

Example of a contact form page

As for forms and polls, they obviously provide a way to interact with your customers, gather their opinions and encourage them to contact and leave feedback. Each of these item types is entirely configurable, meaning you can control everything: from form fields set to possible poll answers. All types of options are described in detail in the CS-Cart manual.

Each content item is also fully customizable in terms of SEO, and you can define all key parameters in order to attract customers from search engines.

As you can see, CS-Cart is ecommerce software which is capable not only of product management, it also comes with all must-have CMS features allowing you to share information with your clients without unnecessary extra efforts!