Speeding up the Internet
Web volume is forecasted to more than triple over the next three years and the category expecting the fastest growth is Data. Data and Content will remain the largest percentage of Web traffic and the majority of this information is dynamic so it does not lend itself to conventional caching technologies. Issues range from Business to Consumer response and order confirmation times, to the time required to deliver business information to a road warrior using a wireless device, to the download time for rich media such as music or video. Not surprisingly, the number one complaint among Web users is lack of speed. That's where compression can help.
The Solution: Compression and Caching
The idea is to compress data being sent out from your Web server, and have the browser decompress this data on the fly, thus reducing the amount of data sent and increasing the page display speed. There are two ways to compress data coming from a Web server, dynamically, and pre-compressed. Dynamic Content Acceleration compresses the data transmission data on the fly (useful for e-commerce apps, database-driven sites, etc.). Pre-compressed text based data is generated beforehand and stored on the server.
The goal is to send less data. To do this the data must be analyzed and compressed in real time and be decompressed with no user interaction at the other end. Since smaller amounts of data (less packets) are being sent, they consume less bandwidth and arrive significantly faster. The network acceleration solutions need to be focused on the formats utilized for data and content including HTML, XML, CSS, Java, JavaScript, WML and all other text based languages. Both types of compression utilize HTTP compression and compress HTML files fully three times smaller.
Cache Overview
The first technology we use to speed up our server is a method known as caching. Caching reduce page loading time and script execution by performing optimizations and various types of caching, using advanced techniques that yield much better performance -- usually from two to four times more requests per second. These engines also play an important part in cutting down latency by as much as 20-fold, by preventing dynamic pages from doing any repetitive work, and reducing the turnaround time for each request. MMCache stores compiled PHP scripts in shared memory and execute code directly from it. It creates locks only for short a time while it searches compiled PHP script in the cache, so one script can be executed simultaneously by several engines. MM shared memory library is used for management of shared memory and locking.
Why Compression?
HTML is used in most Web pages, and forms the framework where the rest of the page appears (images, objects, etc). Unlike images (GIF, JPEG, PNG) which are already compressed, HTML is just ASCII text, which is highly compressible. Compressing HTML can have a major impact on the performance of HTTP especially as PPP lines are being filled up with data and the only way to obtain higher performance is to reduce the number of bytes transmitted. A compressed HTML page appears to pop onto the screen, especially over slower modems.
Is my browser compatible?
Yes. Most newer browsers since 1998/1999 have been equipped to support the HTTP 1.1 standard known as "content-encoding." (although content encoding was included in the HTTP 1.0 spec: RFC 1945). Essentially the browser indicates to the server that it can accept "content encoding" and if the server is capable it will then compress the data and transmit it. The browser decompresses it and then renders the page.
Only clients that can decompress encoded content can request compressed files. Clients that do not understand compressed content request and receive the files uncompressed, thereby not benefiting from the improved download times that content encoding compliant clients can offer. Here's a list of some major browsers that support content encoding.
What type of caching & web compression technology do we use?
 |
We use mod_gzip - web compression technology - to boost our server performance. mod_gzip is an Internet Content Acceleration module for the popular Apache Web Server. It compresses the contents delivered to the client. There is no need to install any additional software on the client! mod_gzip is a compression module which uses the standard zlib compression library to compress output. Using HTTP compression, a performance gain of 150-160% is achieved across all Equivity web servers. Using HTTP Compression web pages can be 90% or so smaller and images can be up to 50% or so smaller (depending on how much they are compressed already).All current browsers -- Mozilla, Opera, and even Internet Explorer -- understand and can process GZIP-encoded text content. |
 |
eAccelerator is a further development from mmcache PHP Accelerator & Encoder. It increases performance of PHP scripts by caching them in compiled state, so that the overhead of compiling is almost completely eliminated. eAccelerator is a free open source PHP accelerator, optimizer, encoder and dynamic content cache for PHP. It increases performance of PHP scripts by caching them in compiled state, so that the overhead of compiling is almost completely eliminated. Also it uses some optimizations to speed up execution of PHP scripts. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times. eAccelerator stores compiled PHP scripts in shared memory and execute code directly from it. It creates locks only for short time while search compiled PHP script in the cache, so one script can be executed simultaneously by several engines. |
Summary of Benefits:

We have mod-gzip/eaccelerator installed onto every shared and reseller server we offer.

The compressed version can run anywhere from 50% to 20% of the original file size.

Compressed data reduces the bytes transferred to the client, without any loss in content.

Improves site loading speed

Higher transaction rate

More stability for your hosted site (reduces system and CPU load)

Run more server side scripts, faster (PHP/CGI)

Bandwidth is conserved