Amazon’s CloudFront CDN Configuration

What is Amazon CloudFront?

Amazon CloudFront is a web service which can be used to deliver static files like images, css, javascript or streaming content using a global network of edge locations.
If you have customers from Asia which requests your site in the US they get routed to the nearest edge location, so the content is delivered with the best possible performance.

Step 1: Create the CloudFront distribution

Access CloudFront from the Amazon Web Services Management Console here: http://console.aws.amazon.com/cloudfront/home

select “Create Distribution”. CloudFront will now generates then a domain for you to use. In our example it generates: msdfgtfkjel.cloudfront.net

Step 2: Configure Magento

If the test works, the next step is to update your Magento system configuration in order to use Cloudfront. Navigate to System > Configuration > General > Web, and you’ll see an area called Unsecure.

Once you’ve saved this configuration, any requests to msdfgtfkjel.cloudfront.net for images, css or javascript are routed to the newly configured CDN urls. If a request object doesn’t exist on Cloudfront, Cloudfront will go to it’s origin server (you’re regular site) fetch the object and cache it across all of the Cloudfront server. Magento Ecommerce Development India

 

To know more about our web and mobile development service visit http://evincetech.com.
For more information, please contact us with the specifications for your project. You can email our sales team at info@evincetech.com, also you can call us at following numbers.
India: (+91) 44 42170775, (+91) 91766 40375
USA [Toll Free]: 866 220 6565

Magento Site Performance Optimization

1)  Enable output compression

Apache files compression is the fastest way to improve your Magento website speed and performance.

To enable Apache served files compression mechanism, you need to open .htacess file of your Magento. Find this code in .htaccess file:
And replace it with this code:
—————————————————-

# Insert filter on all content
SetOutputFilter DEFLATE
# Insert filter on selected content types only
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don’t compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
# enable resulting html compression
# For security reasons, mod_php is not used on this server. Use a php.ini file for php directives
php_flag zlib.output_compression on

2)  Enable Expires Headers

Expires headers tell the browser whether they should request a specific file from the server or whether they should grab it from the browser’s cache.
The whole idea behind Expires Headers is not only to reduce the load of downloads from the server, but rather to reduce the number of HTTP requests for the server.
To turn this feature on, just uncomment in .htaccess file the appropriate line and add “ExpiresActive On” right above it. See below:

ExpiresActive On
ExpiresDefault “access plus 1 year”

3)  Disable ETags

ETags are a way for browsers to validate cached components across subsequent visits. They can slow down a site served from a cluster if the cluster hasn’t implemented them properly. It is best to just turn them off as follows:

FileETag none

4)  Increase php memory limit

Most PHP settings actually do not influence the performance of Magento, but just set certain limits. For instance, settings like memory_limit and max_execution_time do not increase the page load but just make sure that certain actions do not timeout or run into memory problems.

Find the following section in the php.ini file.
max_execution_time = 300
max_input_time = 600
memory_limit = 512M

5)  Disable Magento logging

Within the Magento configuration, you can enable logging under the Developers-tab. Depending on the Magento modules this could lead to more logs needed to be written to the filesystem, slowing down your shop. Because the logging-abilities are only needed to debug something, in daily usage, it’s best to disable logging altogether.

6)  MySQL table optimization

Goto MySQL Admin and select all the tables and repair and then optimize them.

Through phpMyAdmin, you can perform the command OPTIMIZE TABLE on specific Magento database-tables. When a table is cluttered, this could lead to improved performance. This does not only count for the complex EAV-tables, but also for regular MySQL tables that are used frequently (for instance, core_config_data).

Database Log Cleaning using Magento Administration

  • From the Magento administrator interface, go to System > Configuration.
  • In the left menu under Advanced, click System.
  • Under Log Cleaning, change Enable Log Cleaning to Yes and configure the Save Log for 15 days:
  •      Click Save Config.

Mysql server memory size increase

Recommended innodb_buffer_pool_size.
Combined web and db server, 6 GB RAM:  2-3 GB
Dedicated database server, 6GB RAM: 5 GB
Dedicated database server, 12 GB RAM: 10 GB

 7)  Combine CSS and JS files

Combine Javascript and Combine CSS files: System ->Configuration ->Advanced ->Developer -> ‘Javascript settings’ and ‘CSS Settings’. You can also consider using an extensions to do this like the Fooman Speedster extension, whichever works best for you.

Attention: Combining CSS/JS when using CDN will cause CSS/JS to “break” until the CDN updates completely. Nexcess recommends starting this process at the beginning non-peak hours to allow enough time for the “new” CSS/JS to reach the CDN.

8)  Remove Unnecessary Components

There were leftover embedded scripts and css that were not being used. When removed the speed increased. This wasn’t tested, because everyone’s situation will change.
Check for leftover scripts
Check for leftover CSS

Disable not needed extensions in app/etc/modules/*.xml or delete

9)  Enabling Flat Catalog

The model Magento uses to store customer and product data results in longer than average SQL queries and more reads. Enabling the Flat Catalog option for Categories and Products will merge product data into one table, therefore improving performance. Magento Development India

Login to your administration area and go to – System > Configuration > Catalog
Under “Frontend”, change “Use Flat Catalog Category” to yes.
Under “Frontend”, change “Use Flat Catalog Product” to yes – this is optional.
Finally you will want to clear your Magento cache.

10)  Use a Content Delivery Network (CDN)

In most cases it makes sense to distribute static media in a different way than HTML – it can be a different web daemon, moving media to a subdomain, distribution across several servers or moving it out on a CDN.

CDN helps to trim down server load, by serving the static content like images, CSS files or JavaScript files through a network of servers intimately located to your customers. A CDN can truly perk up the user experience on the web site.

To know more about our web and mobile development service visit http://evincetech.com.
For more information, please contact us with the specifications for your project. You can email our sales team at info@evincetech.com, also you can call us at following numbers.
India: (+91) 44 42170775, (+91) 91766 40375
USA [Toll Free]: 866 220 6565