Archive for the Shop Performance Category

TrustedShops Widgets Kill Page-Performance?

Pictures speak a 1000 words. In one of our recent shop-page measurements, we woke up to the rude reality that the popular TrustedShops widget slowed the page-performance of one of our webshops by some -400%.

Performance Slow-Down due to TrustedShops-Widgets

We expect this to influence the Search-Engine-Ranking of the shop, as page-speed matters to the likes of Google.

And of course, it degrades the user-experience (UX) on the page.

A couple of the approaches we will be considering to solve this problem are:

  • Disconnect the widget from the TrustedShops infrastructure, and cache the ratings locally (on shop-server)
  • Load a static image, generated dynamically, automatically and periodically that displays the current ratings to shoppers.

A simple Shop-Module could be utilized to perform cache the contents of the widget, or generate the bitmap which will enable a performant display of the shop’s ratings.

OXID Server Wartung + Performance Optimierung

Mit OXID e-Shops, die unter Hosting-Paketen, VPS Installationen oder dedizierten Servern installiert wurden, können Sie unsere Dienstleistungen zur Installation, Wartung und Leistungsoptimierung in Anspruch nehmen.

Sie können z.B. mit unserer NGINX Medienserver-Lösung für OXID die Geschwindigkeit Ihres Webshops um bis zu 50% steigern.

50% schnellere Ladezeiten für OXID Shops mit NGINX

NGINX LogoMit Hilfe der NGINX Medien-Server erhöhen Sie signifikant die Schnelligkeit Ihres OXID-Webshops. Als Folge profitieren Sie damit auch von einer höheren Konversionsrate und einem besseren SEO-Ranking.

NGINX entlastet den Apache-Server bei der Bearbeitung von statischen Inhalten, z. B. Bildern, Videos und Mediendateien wie PDF-Dokumente.  Somit kann sich der Apache-Server dediziert um PHP-/MySQL-Abfragen kümmern, während zeitgleich Mediendaten vom NGINX Medien-Server bearbeitet werden.

NGINX für OXID Shops

Weitere Informationen zu NGINX für OXID finden Sie hier.

Geschwindigkeits-Optimierung für OXID e-Shop

Die schnellsten Shops erzielen die besten Umsätze

Und das ist Fakt! Zahlreiche Messungen und Berichte belegen, dass die Geschwindigkeit einen signifikanten Einfluss auf das Verkaufspotenzial eines Webshops hat .

Google hat im Januar 2012 seine Suchmaschinen-Algorithmen dahingehend optimiert, dass schneller Webseiten höher gerankt werden.

Ist Ihr OXID Shop für schnelle Performance optimiert?

Checkliste zur Shop-Server Optimierung

Nutzen Sie die folgende Checkliste um festzustellen, ob Ihr Shop-Server optimal performt:

In der Regel erzielt man jeweils 5-10% Leistungsverbesserung bei der Optimierung von einzelnen System-Komponenten (Server, Datenbank, Shop-Quellcodes, usw.), die insgesamt in eine signifikante Erhöhung der Gesamtleistung des Webshops resultiert.

Sprechen Sie uns an, wir beraten Sie gerne!

mod_deflate Measurements with OXID – Part 03

Apache2’s mod_deflate offers further efficiencies in the front-end page-performance of OXID eShops.  It uses the GZIP compression format, by which the server compresses the resource to be transmitted and the client/browser decompresses the same before presentation on screen.

To be measured are performance parameters of time and file-size.  We used the Google Developer Tools to make the following time measurements.

The measurements taken were the following resources:

  • HTML Document
  • Cascading Stylesheet Files
    • style.css
    • oxid.css
    • jquery.jcarousel.css
  • Javascript Script Files
    • oxid.js
    • jquery.min.js
    • jquery.jcarousel.js
    • ga.js
Time Measurements for OXID eShop Resources using mod_deflate

Time Measurements for OXID eShop Resources using mod_deflate

In order to interpret this data it is important to understand the different columns in the table.  The “post” time values in Send and Revieve columns, from after mod_deflate was used in comparision with the “pre” values indeed are lower.  Nevertheless there are some cases where the values are indeed higher.

We will be making further performance measurements in the next days, not only the time-values but also the file-sizes and report them shortly here.

We look forward to your feedback and observations – or “Leave a Reply” below!

mod_deflate Messungen mit OXID – Teil 03

Apache2 bietet mit mod_deflate eine weitere Effizienzsteigerung im Betrieb von OXID eShops an. Unter Verwendung der GZIP Kompression verkleinert der Server die Quelldaten zum Transfer während der client/browser die Daten noch vor der Darstellung auf dem Bilschirm entpackt.

Die zu messenden Performance-Parameter sind Zeit und Dateigröße. Mit Hilfe der Google Developer Tools konnten wir die nachfolgenden Messergebnisse erzielen.

Die Messungen betrafen folgende Quellen:

  • HTML Document
  • Cascading Stylesheet Files
    • style.css
    • oxid.css
    • jquery.jcarousel.css
  • Javascript Script Files
    • oxid.js
    • jquery.min.js
    • jquery.jcarousel.js
    • ga.js
Time Measurements for OXID eShop Resources using mod_deflate
Zeitmessungen für OXID eShop Ressourcen unter mod_deflate

Zur Interpretation dieser Daten ist es wichtig, die verschiedenen Spalten der Tabelle zu verstehen. Die “post” Zeit wertet Senden und Empfangen. Die Werte unter mod_deflate stehen den “pre” values gegenüber, also den Performance-Werten vor Einsatz von mod_deflate.

Wir werden in Zukunft weitere Performance-Messungen vornehmen und neben der Zeitdimension auch die Dateigrösse stärker berücksichtigen.

Wir freuen uns auf Ihr Feedback und Ihre Beobachtungen – oder hinterlassen Sie uns einfach unter diesem Post eine Nachricht!

NGINX for OXID eShop Images and Media Files – Part 02

This article is a continuation of Improving Performance of OXID Shops – Part 01

A configuration variable can be introduced into config.inc.php for specifying a URL for specifying an alternative location for images and other static media files like site-videos, flash-content or downloadable PDF etc.

$this->sAltImageDir = 'http://www.myshop.de:801/';

OXID Need for SpeedIn our example, this particular location, is where our /out/pictures/ folder is mapped to. An NGINX server listens on port 801.

In this example we used the same server for hosting the Apache application-server (AAS) as well as the NGINX content-server (NCS) on the same server-instance.

The following sections contain a detailed account of how NGINX can be configured on a Debian Lenny/5.0 server.

NGINX on Debain 5.0/Lenny for OXID eShops

Debian/5.0 ships with Version 0.6.x of NGINX (latest from nginx.org is version 0.8.x), which works just well for our purpose.

NGINX configuration files and organization in the /etc/ folder is similar to that of Apache2.  Individual sites and Virtualhost(s) (or simply called server(s) in NGINX jargon) can be configured in /etc/nginx/sites-enabled/default.   The configuration block for our tests simply looks like:

server {
     listen   801;
     server_name  www.myshop.de;
     access_log  /var/log/nginx/localhost.access.log;
  location / {
     root   /home/myshop/www/out/pictures/;
     index  index.html index.htm;
}

Obviously, here www.myshop.de is the URL of your shop, files for which load from/home/myshop/www/ ($SHOP) and the pictures load from $SHOP/out/pictures.

Processes

The process list on the web-server instance looks as follows:

vm0:~# ps ax | grep -E "apache|nginx"
 1889 ?        Ss     0:00 /usr/sbin/apache2 -k start
 1905 ?        S      0:00 /usr/sbin/apache2 -k start
 1906 ?        S      0:00 /usr/sbin/apache2 -k start
 1907 ?        S      0:00 /usr/sbin/apache2 -k start
 1908 ?        S      0:00 /usr/sbin/apache2 -k start
 1909 ?        S      0:00 /usr/sbin/apache2 -k start
 2058 pts/0    S+     0:00 grep apache
 1756 ?        Ss     0:00 nginx: master process /usr/sbin/nginx
 1757 ?        S      0:00 nginx: worker process
 2060 pts/0    S+     0:00 grep nginx

For optimizing performance your OXID eShop or getting a new one developed, please contact euroblaze at +49-711-7947-2394 or oxid@euroblaze.de.

NGINX für OXID eShop Bild- und Multimediadateien – Teil 02

Dieser Artikel ist eine Fortsetzung von Performance-Verbesserungen von OXID Shops – Teil 01

In die config.inc.php kann eine Konfigurationsvariable eingefügt werden, um mit einer spezifischen URL auf einen spezifischen Ort für Bilder und andere statische Mediendateien wie Videos, Flash-Inhalte oder PDF Dateien etc. hinzuweisen.

$this->sAltImageDir = 'http://www.myshop.de:801/';

OXID Need for SpeedIn unserem Beispiel weist diese auf den spezifischen Ort /out/pictures/ hin. Ein NGINX Server läuft unter Port 801.

In diesem Beispiel verwenden wir den gleichen Server auch zum Hosten des Apache Anwendungsservers (AAS) sowie des NGINX Content-Servers (NCS).

Die folgenden Sektionen enthalten detaillierte Informationen darüber, wie der NGINX Server unter einem Debian Lenny/5.0 Server konfiguriert werden kann.

NGINX unter Debain 5.0/Lenny für OXID eShops

Debian/5.0 kommt mit der Version 0.6.x von NGINX (die neueste Version von nginx.org ist Version 0.8.x), die für unsere Zwecke einwandfrei funktioniert.

Die NGINX-Struktur sowie Konfigurationsdateien im /etc/ Ordner ähneln denen von Apache2.  Individuelle Seiten und virtuelle Hosts (im NGINX-Jargon schlicht “Server” genannt) können unter /etc/nginx/sites-enabled/default konfiguriert werden. Der Konfigurations-Abschnitt sah bei unseren Tests wie folgt aus:

server {
     listen   801;
     server_name  www.myshop.de;
     access_log  /var/log/nginx/localhost.access.log;
  location / {
     root   /home/myshop/www/out/pictures/;
     index  index.html index.htm;
}

Offensichtlich war hier www.myshop.de die URL unseres Shops – Dateien wurden von /home/myshop/www/ ($SHOP) geladen und die Bilder von $SHOP/out/pictures.

Prozesse

Die Prozessliste des Web-Servers sah wie folgt aus:

vm0:~# ps ax | grep -E "apache|nginx"
 1889 ?        Ss     0:00 /usr/sbin/apache2 -k start
 1905 ?        S      0:00 /usr/sbin/apache2 -k start
 1906 ?        S      0:00 /usr/sbin/apache2 -k start
 1907 ?        S      0:00 /usr/sbin/apache2 -k start
 1908 ?        S      0:00 /usr/sbin/apache2 -k start
 1909 ?        S      0:00 /usr/sbin/apache2 -k start
 2058 pts/0    S+     0:00 grep apache
 1756 ?        Ss     0:00 nginx: master process /usr/sbin/nginx
 1757 ?        S      0:00 nginx: worker process
 2060 pts/0    S+     0:00 grep nginx

Zur Einrichtung oder Optimierung eines OXID eShops kontaktieren Sie uns bitte unter +49-7154-82-7130 oder per Email unter oxid@euroblaze.de.

Improving Performance of OXID Shops – Part 01

NGINX for OXID ShopsWhen creating B2C e-Commerce Shops, it is important to provide a high performance of online-shops.  For one thing it is important to keep an online-shop fast so that they are able to “quickly take care of business” and hence better the conversion rate.  For the other it is important to plan sufficient capacity so the the number of users/buyers can scale, even so in high-peak seasons.

LAMP/Apache and NGINX for OXID eSales

The classical LAMP installation, though powerful in it’s server-side processing capabilities and features, is usually not the fastest server solution for certain types of data such as static media content such as images and videos.  Due to this OXID shops hosted on LAMP, while relying on Apache2/PHP5 and MySQL’s robust features, can benefit significantly in speed by relying on a high-performance static-content servers, such as NGINX.

There are several server configurations possible:

  1. Apache and NGINX running on the same machine, the former hosting the OXID eSales application and the latter hosting only the related static content.
  2. Apache running on an application server (AS) machine and NGINX serving static content (CS, Content-Server) from a separate machine.
  3. Apache running on an application server, and NGINX service content from a network of content servers – a classical Content Delivery Network (CDN)

This series of articles explains how to setup OXID eSales shops in the 3 above configurations.

Inspiration & Resources

Inspiration for this solution was taken from the following resources:

Optimizing Performance of Zoom-Tools

If you are using special zoom-tools like Magic Zoom, you may have to make modifications to the integration module with OXID, so that the tool uses appropriate high-performance URL for loading media-content.

Performance-Verbesserung von Zoom-Tools

Wenn Sie spezielle Zoom-Tools wie etwa Magic Zoom verwenden, müssen Sie ggf. Modifikationen im Integrationsmodul von OXID vornehmen, damit das Tool die korrekte high-performance URL zum Laden der Media-Inhalte verwendet.

Page 1 of 212