Relational Database Storage

0 comments
Several extensions and code libraries (including Zend Framework) offer session save handlers that store session data in a relational database such as MySQL or Oracle. Session storage in a central database solves the scalability limitation imposed by local storage mechanisms, by making the session data available to all servers in the cluster, and making sure data integrity is maintained. Database session handlers work more or less the same, regardless of implementation and database used for storage; one or more tables are created using the session ID as the primary key, and with another column...
Read more ►

Existing Session Storage Engines

0 comments
There is a multitude of session save handlers available for PHP, each with its own advantages and disadvantages. Given the modular nature of session storage in PHP, users are free to create additional save handlers, either as C/C++ extensions, or by using user-space PHP code. The following list covers some of the more widely used session handlers, and overviews their capabilities: The ‘files’ save handler is PHP’s default save handler. It stores session data as files on disk, in a specified directory (or sometimes in a tree of directories). Usually, this save handler is capable of easily handling...
Read more ►

Background: PHP Sessions

0 comments
State Representation in HTTPHTTP, the protocol over which the web is built, is a stateless protocol. Each HTTP request is user session context independent, and the server is, on the HTTP protocol level, unaware of any relationship between consecutive requests. This has made HTTP a highly scalable and versatile protocol. However, in most Web applications some notion of a user session – that is short-term, user specific data storage, is required. For example, without some sort of state representation a web application cannot distinguish between logged-in users (or technically put, requests coming...
Read more ►

Magento: Using Parallel Connections

0 comments
Browsers can load page elements in parallel. Specifying different domains for media, skin, and JavaScript URLs in the Magento Enterprise Edition configuration (System→Configuration→GENERAL→Web) will help speed the page rendering time in the browser, as most browsers limit the number of downloads to 2-4 parallel threads per domain name.Other web page design recommendations are beyond the scope of this document. You can find the detailed list of web site design best practices at the Yahoo Developer Network at http://ping.fm/AX...
Read more ►

Magento: Number of HTTP Requests per Page

0 comments
In order to improve page load and processing time, it is important to reduce the number of HTTP requests per page. Magento Enterprise Edition allows combining multiple JavaScript files and style sheets into a smaller number of files.This process is fully under the control of a theme developer who implements it through the flexible system of theme layouts instead of directly including the JavaScript files from within the templates.The following is the example of how the number of JavaScript files can be properly reduced:custom_js/gallery.jscustom_js/intro.jsThe previous layout file example combines...
Read more ►

Caching in Magento Enterprise Edition-II

0 comments
Full Page CacheMagento Enterprise Edition can cache entire page contents and return statically stored (X)HTML files rather than building pages dynamically for each request. Only CMS, category, and product view pages support full page caching.The homepage is the CMS page that is accessed most frequently. Full Page Cache allows the web server to significantly increase the performance on pages that can be cached statically.From the tests performed, Full page cache stores and uses generated full web page for forthcoming users. The presence of the cache significantly improves the performance of the...
Read more ►

Caching in Magento Enterprise Edition-I

0 comments
System CacheMagento Enterprise Edition can cache frequently used data using various cache backends. Using a cache backend will always improve the performance of Magento Enterprise Edition. By default, when installed, Magento Enterprise Edition is set to use the file system as a cache backend. While the file system cache is the most reliable storage with unlimited size, it does not provide the best performance. Magento Enterprise Edition v. 1.9 can also work with the following cache backends that provide performance better than that of the file system cache backend:  APC—a bytecode cache for PHP...
Read more ►

Caching in Magento Enterprise Edition

1 comments
Once the cache is enabled and one of the above-mentioned shared memory backends is used, Magento automatically uses a TwoLevel cache backend (see http://ping.fm/cb1yD for more information). In which case, the specified cache backend is used as a fast cache. The file system cache backend is used as a slow cache for single web node environments, and the MySQL database is used as a slow cache for multiple web node environments.This is fully customizable and can be easily set in app/etc/local.xml, as shown in the Appendix F. When using APC, the Source Code Compiler must be disabled.Make sure that...
Read more ►

Magento: Scaling Web Nodes

0 comments
Magento Enterprise Edition can be scaled over any number of additional web servers. This allows handling a bigger number of concurrent requests by simply introducing new web nodes when the number of page views and visitors grows. Doubling the number of web nodes can provide a performance increase of over 9...
Read more ►

Magento: Handling Sessions

0 comments
Magento Enterprise Edition uses PHP sessions to store customer session data. The default method is to use the file system storage, which works well if you are using a single web server. Its performance can be improved by configuring the tmpfs in-memory partition to avoid extra hard drive I/O activity. In a clustered environment with multiple web servers, the first option for handling sessions is to use a load balancer capable of associating client requests with specific web nodes based on the client IP or the client cookies. If you are in a clustered environment and not using a load balancer capable...
Read more ►

Magento: Scalability

0 comments
Magento Enterprise Edition is designed to be able to take advantage of a multi-server setup in a clustered environment. Web nodes are not limited to be of exactly the same type. There may be different nodes, such as frontend servers, static content and media servers, and a separate admin panel server each performing different tas...
Read more ►

Megento: Working with JavaScript-II

0 comments
Method 2: Use Hosted Scripts and Code Snippets To add code snippets or a link to hosted scripts, you need to include the code in a new static block. Then, use a frontend app to add the static block to your store.Step 1: Add a New Static BlockStep 2: Create a New Frontend AppStep 3: Choose Where it GoesStep 4: Verify that the Code Wo...
Read more ►

Megento: Working with JavaScript-I

0 comments
Method 1: Upload JavaScript Files1. From the Admin panel, select Design > Theme Editor.2. In the Theme Editor, below the thumbnail for the theme you are working with, click Customize.3. In the Theme Customization panel on the left, select Java Script Editor.4. In the Theme JavaScript section, do the following:a. Click the Browse Files button to select the JavaScript file from your computer. Repeat this step to add the path to every JavaScript file that you want to upload. To upload multiple JavaScript files, first add each file, and then upload them all at once—you don’t need to upload each...
Read more ►

Megento: Working with JavaScript

0 comments
Your store layout, design, and functionality can be customized using the design tools which are available from the Admin panel. However, if you have a working knowledge of JavaScript, you can make additional changes to enhance your store. Magento Go allows you to add your own custom JavaScript files to add client-side functionality – which is executed at the individual browser level, rather than on the server. In this blog, you will learn how to work with JavaScript libraries, hosted scripts, and snippets of code to implement custom features for your Magento Go store. This material was written...
Read more ►

What is Code Tracing?

0 comments
Think of a black box flight recorder; when something goes wrong with an airplane, the problem is not actually reproduced. Instead, the flight recorder captures the complete data that flight analysts may need in order to understand why the problem occurred. Zend Server does the same for PHP applications. Rather than spending time on trying to set up the environment and reproduce all the steps that led up to the failure, Zend Server captures the full execution of the application in real-time – in production or in the test lab – so root cause can quickly be identified. Code tracing can be activated...
Read more ►

Zend Server as Bottleneck Breaker

0 comments
Let’s rewind the scenario to the point where Ted transitions the first round of features to the operations team and make one early addition that changes everything. While the development team moves on to the next set of features, Ted transitions the tested feature set to Mark, a project lead on the operations side of the IT department, so that he and his team can prepare and implement the first round of changes and be ready for the next round. Mark has had experience deploying applications in previous jobs and is concerned about problems that may arise from the absence of a standardized deployment...
Read more ►

Anatomy of a Deployment Bottleneck

0 comments
What causes the deployment slow down? To answer this question, let’s look at what must occur to get an application from development to production in a large enterprise. We’ll do that with a fictional but not uncommon scenario. A big brand national retailer needs to improve its e-commerce site by making it easy for customers to personalize their shopping experience. This is considered a business imperative as competitors have rolled out robust personalization and social media features that have led to increased sales. Ted, the director of IT, has agreed to a hard deadline of six months to go live...
Read more ►