<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>aiCache Web Application Acceleration Blog</title>
	<atom:link href="http://aicache.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://aicache.com/blog</link>
	<description>Get your life back...</description>
	<lastBuildDate>Mon, 08 Mar 2010 14:30:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>aiCache Content-driven Caching Control</title>
		<link>http://aicache.com/blog/aicache-content-driven-caching-control/</link>
		<comments>http://aicache.com/blog/aicache-content-driven-caching-control/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:30:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=127</guid>
		<description><![CDATA[aiCache makes it possible to control whether or not a web page is cacheable, based on page's (response) content]]></description>
			<content:encoded><![CDATA[<p>aiCache makes it possible to control whether or not a web page is cacheable, based on page&#8217;s (response) content. For example, www.acmenews.com/breakingnews.aspx  web page is normally cached for 10 seconds, unless editorial team decides to publish a survey (poll) on that page, in which case you cannot cache the page for as long as the poll is active. As soon as poll is removed from the page, you can restore the caching back to 10 second.</p>
<p>aiCache offers support for this kind of scenarios via so called &#8220;Content Driven Caching&#8221; or CDC for short. Here&#8217;s how it works.</p>
<p>First, you define a cacheable pattern, just as usual. Then you add one or more of cdc_pattern pattern-level settings under the matching pattern, specifying regular expression match strings. With these specified, aiCache will analyze response bodies, looking to match the response body to a defined cdc_pattern.</p>
<p>Should a match be found, aiCache temporarily overrides TTL for the matching response  and sets it to 0. Effectively, the matching web page is declared non-cacheable. Periodically, aiCache will attempt to match the page&#8217;s content again and should no match be found, the page will have its TTL restored back to the one specified by the pattern. You can control how frequently such-rechecking is done by setting cdc_interval pattern level setting, it defaults to 5 seconds.</p>
<p> website www.acmenews.com<br />
&#8230;<br />
pattern breakingnews simple 10<br />
cdc_pattern acme\spoll<br />
cdc_pattern acme\ssurvey</p>
<p>In the example above, we match response&#8217;s body (content) to see if contains &#8220;acme poll&#8221; or &#8220;acme survey&#8221; in it. Should a match be found, aiCache will declare the page non-cacheable and no longer  serve it out of cache. Sometimes, you might find it easier to match for  auxiliary content URLs instead. For example, you might know that every time a poll is published on a page, the poll&#8217;s Javascript is included into the page so you can look for that Javascript URL instead. For example:</p>
<p>cdc_pattern userpoll.js<br />
cdc_pattern usercomment.js<br />
Matching for such JS &#8220;includes&#8221; might be less resource intensive, as they are often located at the very beginning of the page&#8217;s HTML, so aiCache can find the match faster.</p>
<p>Let&#8217;s consider another situation. Acmenews&#8217;s editorial team might decide to publish polls or enable comments, in any of the following pages: usnews.jsp, worlnews.jsp, marketnews.asp and cenews.asp. As you can see, all of these URLs have a common &#8220;news.jsp&#8221; component to them , so you can create a single pattern to cover all of them:</p>
<p>website www.acmenews.com<br />
&#8230;<br />
pattern news.jsp simple 10<br />
cdc_pattern userpoll.js<br />
cdc_pattern usercomment.js</p>
<p>Now all of the mentioned pages will have their content analyzed for CDC-overrides, independently of each other. In other words, usnews.jsp might end up in CDC-override state, while worldnews.jsp is still served from cache.</p>
<p>The handling of page with the CDC-overridden TTL is no different from the way 0TTL requests are normally handled by aicache. Specifically, all of the cookies are sent both to OS and back to the requesting client.</p>
<p>When page is in &#8220;regular&#8221;, cacheable state, aiCache only attempts to match the response body against the CDC patterns when the page is refreshed, so we recommend you keep TTL for such pages low enough, so aiCache can detect the change in the page&#8217;s content quickly enough. As mentioned earlier, when in &#8220;CDC-override&#8221; state, the matches are performed every cdc_interval seconds &#8211; every 5 seconds by default.</p>
<p>When aiCache needs to perform content matching for CDC patterns, it requests the response in plain, non-compressed form. This way no CPU cycles need to be spent by OS to compress the response and by aiCache to uncompress it, before matching could be performed. The response will be compressed by aiCache, in accordance with on-the-fly compression settings and client browser indicating support for compression</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-content-driven-caching-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache releases Industry first software-based SSL Acceleration</title>
		<link>http://aicache.com/blog/aicache-releases-industry-first-software-based-ssl-acceleration/</link>
		<comments>http://aicache.com/blog/aicache-releases-industry-first-software-based-ssl-acceleration/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:27:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=125</guid>
		<description><![CDATA[aiCache software delivers tens of thousands of SSL sessions per second, allowing customers to replace expensive hardware with software running in their own servers. aiCache fully supports virtualization bringing SSL termination to the cloud.]]></description>
			<content:encoded><![CDATA[<p> aiCache brings a new level of Web Acceleration to the market with the release of Version Six of its flagship product, aiCache Web Application Accelerator.  With an architecture supporting and linearly scaling up to unlimited number of CPU cores, it provides virtually unlimited scalability for HTTP and HTTPS traffic.   </p>
<p>aiCache solves the industry issue of slow SSL speeds and the need for expensive dedicated hardware, by bringing high speed SSL termination to the Cloud and Data Centers, on common hardware. </p>
<p>This is a special benefit for users of cloud and virtualization technology. Virtualization solutions such as Amazon Web Services do not allow dedicated hardware. Cloud customers have been without options for handling large scale SSL implementations until now.  aiCache removes the SSL barrier by running in virtualized instances, providing dedicated hardware level performance. </p>
<p>Version Six supports over 250,000 transactions per second for non-encrypted content and over 30,000 RSA1024 SSL sessions per second, all running on a single server. </p>
<p>aiCache manages HTTPS and HTTP traffic, relieving web servers from the overhead of encryption,, while providing a superior customer experience and delivering full complement of industry-leading aiCache Web Application Acceleration features. </p>
<p>The new release fully supports earlier configuration file syntax, allowing existing customers to simply drop-in a replacement binary. </p>
<p>Customers in the Cloud, with Amazon Web Services and Rightscale, will have the Version Six capabilities available at no additional cost. </p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-releases-industry-first-software-based-ssl-acceleration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache Enables The Industries First Acceleration Of Sites Requiring Registration And Login</title>
		<link>http://aicache.com/blog/aicache-enables-the-industries-first-acceleration-of-sites-requiring-registration-and-login/</link>
		<comments>http://aicache.com/blog/aicache-enables-the-industries-first-acceleration-of-sites-requiring-registration-and-login/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 15:24:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=121</guid>
		<description><![CDATA[New technology allows sites that require user registration to accelerate content delivery while securing page views from non-logged in users.]]></description>
			<content:encoded><![CDATA[<p><a title="aiCache Web Application Acceleration" href="http://aicache.com">aiCache</a> allows you to cache a site&#8217;s content and enforce the registration/login policy. Users that are not logged in or registered, will not be allowed to view cached content and will be subject to normal handling; i.e. “asked to register and sign in to view the content.”</p>
<div>
Let take an example news website &#8220;www.acmetimes.com&#8221;. The site allows users to read a short synopsis of  articles before requiring registration.   The user login is enforced by a session variables or user cookie, which validates each subsequent request after registration.<br />
Without this validation any cached content would be available to non-logged in users.</p>
<p>During peak news periods the site must generate thousands of requests a second.  It is unable to use caching, because of the validation, and must scale by adding more web, application and database servers.</p>
<p>With aiCache front-ending the site, session-driven content caching can be enabled. This capability offloads session validation to aiCache and allows you to enforce the registration while enabling the content to be accelerated. This is accomplished without changing the architecture of the existing site and is available for data-center and cloud applications.</p>
<p>aiCache now off-loads request processing from the Web, Application and Database servers, reducing the required amount of servers, space, power, cooling and the complexity of code your site requires to sustain high volumes of traffic.</p>
<p>aiCache accomplish this by intercepting and responding to client requests from a RAM-based cached-response engine. Using a unique architecture, optimized for speed and low resource utilization, aiCache delivers in excess of 45,000 HTTP Requests Per Second while managing hundreds of thousands of connected clients. This is accomplished on your own hardware running any common 64 bit Linux distribution.</p>
<p>With the implementation of  aiCache session-driven content caching, sites that previously where unable to use caching and acceleration technologies can now obtain the same benefits of low cost, secure scaling, previously available only to public sites.</p></div>
<div></div>
<div>Specific technical reference can be found in the <a title="Admin Guide" href="http://aicache.com/pdf/adminguide.pdf">Admin Guide</a> under session-driven content caching.</div>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-enables-the-industries-first-acceleration-of-sites-requiring-registration-and-login/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache for Zero-overhead error management</title>
		<link>http://aicache.com/blog/using-aicache-for-zero-overhead-error-reporting-logging-and-alerting/</link>
		<comments>http://aicache.com/blog/using-aicache-for-zero-overhead-error-reporting-logging-and-alerting/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 21:24:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=116</guid>
		<description><![CDATA[aiCache web acceleration is now available on the Amazon Web Services. Companies looking to reduce cost, scale their web applications and bring stability to their environment can now front-end their websites using aiCache technology in the cloud.]]></description>
			<content:encoded><![CDATA[<p>You might  need a method to allow reporting of assorted error conditions. For example, your web site might offer videos, breaking news and other APIs that are invoked by AJAX or some other form of client-side Javascript. When these APIs fail to respond, you would like to have some way to report the error condition so that it can be recognized, logged and acted upon.</p>
<p>Normally, accomplishing this requires writing custom server-side code that would receive the error notification and execute some form of reporting, logging and alerting function. However, outside of having to write such code, you might face another danger when following down this path: when in error state, your site will be receiving large number of error message and that in itself, can cause further deterioration of service which would result in even more of error conditions being reported. In just few quick seconds you whole site just might melt down.</p>
<p>aiCache offers an easy way to accomplish the required functionality, without requiring any custom code to be written or any code to be executed by your web, application or database servers. It is aiCache that receives, logs and alerts on error condition, without ever forwarding any of the traffic to the rest of your infrastructure.</p>
<p><strong>Reporting using a dedicated error reporting website.</strong></p>
<p>To accomplish this, setup a dummy website in aiCache, for example error.acmenews.com . Identify the site as dummy website via dummy_website website-level configuration directive. You don&#8217;t need to specify any origin server for websites defined as dummy, as no requests ever are sent to origin servers for such websites.</p>
<p>Setup the site to alert on when number of requests exceed the desired threshold &#8211; for example set alert_req_sec_max to alert when this website receives more than 2 requests per second.</p>
<p>Setup the client side code to execute a simple HTTP GET against this website, passing arbitrary URL and parameters, as part of the request. For example, to report a problem with your News API, you might request http://error.acme.com/app=newsapi&amp;errorcode=123&amp;client=premier . It is up to you just what parameters you want to pass via such a request.</p>
<p>Now, when an error condition is detected, a request is made to the specified URL. aiCache receives the request and logs it. When number of such requests exceed the configurable threshold, an alert is sent out. So there you have it: without writing any of the server side logic and without placing any extra load on your infrastructure, you now can receive, log and alert on error conditions &#8211; all courtesy of aiCache.</p>
<p>It doesn&#8217;t have to be only the client-side logic that sends such error-reporting requests. You can use method of your choosing to execute such requests &#8211; including server-side code, custom script etc. You can also redirect clients to the error-reporting URL in case of a problem that you discover when executing some logic. Again, you&#8217;re only limited by your imagination in how this functionality can be deployed.</p>
<p>You can train your personnel to look at the aiCache log file for such error reporting web sites, when the error condition is reported and alerted by aiCache, to see the additional information that is embedded inside of the error reporting URLs (such as application, error code and client information in the example above).</p>
<p>To assist in rapidly detecting the error condition, aiCache lights up the respective web site name in red, in its self-refreshing web monitor screen, when it detect that RPS for a dummy website exceeds the set limit. This is in addition to regular email alerting on the error condition &#8211; which should be configured as per instructions in Automated Alerting and Monitoring section of this manual. Specifically, you must provide the email address to send the alert to, at either or both global and website levels.</p>
<p><strong>Reporting using pattern attribute.</strong></p>
<p>You can set a bad_response pattern flag. When aiCache matches a request to such pattern, the response is reported as bad response (same as say 5xx response code) &#8211; so you can monitor for such bad responses, log and alert on them.</p>
<p>Here&#8217;s an example explaining how you can use this feature. Some sites have dedicated pages setup for common errors &#8211; such as PNF (page-not-found) and similar. So let&#8217;s imagine there is such a dedicated error page called 404error.html . The page is requested/redirected to in response to assorted error conditions, as detected by assorted server and client side code.</p>
<p>By setting bad_response flag for matching pattern, you will configure aiCache to report and optionally, alert on, whenever this page is requested, providing for 0-cost monitoring and alerting of this error condition.</p>
<p>Please note that setting of bad_response flag doesn&#8217;t affect anything else in terms of request/response handling logic, its sole purpose is for reporting and optional alerting of matching traffic.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/using-aicache-for-zero-overhead-error-reporting-logging-and-alerting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache scales advertiser supported sites with pre-fetch technology</title>
		<link>http://aicache.com/blog/aicache-scales-advertiser-supported-sites-with-pre-fetch-technology/</link>
		<comments>http://aicache.com/blog/aicache-scales-advertiser-supported-sites-with-pre-fetch-technology/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 14:06:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=114</guid>
		<description><![CDATA[aiCache pre-fetch technology allows ad-revenue supported sites to insulate performance from slow API's.]]></description>
			<content:encoded><![CDATA[<div class="content">Websites depend on ads served by third party consolidators to generate revenue.  These consolidators API&#8217;s to enable the correct advertisement to be shown and analytics collected.  These API&#8217;s support multiple customer sites and are subject to wide variations in performance.  Site using these services suffer under heavy traffic conditions based on poor response time from the ad URL.</p>
<p>aiCache provides an elegant solution to this with pre-fetch technology.</p>
<p>aiCache allows you to configure a set of slower URLs to pre-load. It then pre-fetches and actively maintain a queue of fresh responses When these are requested, aiCache instantly serves the pre-fetched response.</p>
<p>By tailoring pre-fetch settings you can optimize the site so all responses are pre-fetched. aiCache collects and reports on pre-fetch statistics simplifying this task.</p>
<p>Each second, aiCache analyzes the queues of the advertising URL&#8217;s. When a queue contains too few responses, aiCache requests additional ads to maintain the optimum number.  When a request comes for any advertising URL, aiCache removes a response from appropriate queue and sends it to the browser. The result is the website never waits for an advertising response.</p>
<p>aiCache provides a few seconds of queuing, ensuring an accurate set of statistics for served ads allowing accurate fast serving of content that scales independent of the performance of the advertising API.</p></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-scales-advertiser-supported-sites-with-pre-fetch-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aiCache Mobile Client Caching Support</title>
		<link>http://aicache.com/blog/aicache-mobile-client-caching-support/</link>
		<comments>http://aicache.com/blog/aicache-mobile-client-caching-support/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 17:20:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=101</guid>
		<description><![CDATA[aiCache uses the hostname  and URL of request  as  a signature of  cached responses. Some sites require different cacheable content in response to requests for the same URLs,  depending on a value of a User Agent HTTP header present in the request.  User Agent HTTP header identifies browser&#8217;s make and model.
A site [...]]]></description>
			<content:encoded><![CDATA[<p><a title="aicache web application acceleration" href="http://aicache.com/">aiCache</a> uses the hostname  and URL of request  as  a signature of  cached responses. Some sites require different cacheable content in response to requests for the same URLs,  depending on a value of a User Agent HTTP header present in the request.  User Agent HTTP header identifies browser&#8217;s make and model.</p>
<p>A site serving mobile clients might serve responses whose formatting depends on exact mobile device/browser. To accommodate for such clients, while allowing for caching of responses, we must use User Agent information as part of cached response signature.</p>
<p>When a URL named &#8220;news.html&#8221; is accessed by 3 different mobile devices, we shall have 3 different responses cached &#8211; each containing mobile device&#8217;s User Agent string.</p>
<p>Using this feature has the potential to significantly increase the size  of response cache (as multiple versions of same URLs are now cached). To solve this problem aiCache provides:</p>
<p><strong>Using reduced/rewritten  User Agent string in signature of  cacheable responses.</strong><br />
<span style="font-family: mceinline;"><span style="font-family: mceinline;"><em><span style="font-family: mceinline;"> This feature is only available in mobile-enabled edition of aiCache.</span></em></span></span></p>
<p><span style="font-family: mceinline;"><span style="font-family: mceinline;"><em></em></span></span><br />
Related to the previous feature, this allows you to rewrite/reduce User-Agent strings to a smaller subset and use the rewritten/reduced values as part of cacheable response signature.</p>
<p>The problem this feature addresses has to do with a great variety of mobile devices  currently available. Every firmware revision, different mobile providers/carriers/market all result in a different User-Agent strings sent by mobile device, making it a challenge to accommodate for all of these devices.</p>
<p>The great majority of mobile devices on the market can be reduced to about a dozen distinctly different devices (device families). So Blackberries can be grouped into may be 2 different sets, Iphones&#8217;s into its own set and so on, based on capabilities, support for Javascript  and available screen sizes.</p>
<p>aiCache allows you to accomplish just that. You specify rewrite rules for User-Agent strings. The rewritten/reduced User-Agent strings are then used as part of signature of cached responses.</p>
<p>The same &#8220;compressed&#8221; User-Agent string is also forwarded as X-UA-Rewrite header in requests sent to origin servers. The origin servers (server-side code) can then programmatically access and act on this header value, with a goal of modifying responses to accommodate for  mobile device differences.</p>
<p>-For example resorting to Javascript-free versions of content for devices that don&#8217;t support Javascript, resizing the images to accommodate for different screen sizes.</p>
<p>The server-side code can also tailor the responses based on the actual value of User-Agent string (aiCache never modifies it, it is forwarded verbatim from requesting device to the origin servers) &#8211; but then the server-side code has to accommodate for a much larger variety of devices.</p>
<p>Reducing the large number of different User-Agent strings to a much smaller subset also has a positive impact on caching of responses &#8211; allowing to achieve much higher cache hit ratios and to proportionally reduce the traffic and demands on origin server infrastructure (Web Servers, DB servers etc).</p>
<p>It also allows to greatly simplify the logic required to handle the variety of mobile devices available on the market today.</p>
<p>It is most desirable to accommodate for different mobile devices in a fashion that doesn&#8217;t require changing the URLs &#8211; so that no matter what mobile device is being used, News page is always accessed as /news.html, Sports section is always /sports.html.</p>
<p>The normal solution where URLs change, say by prefixing every URL with a device type, to accommodate for the device type is confusing to the customer.</p>
<p>aiCache provides a manageable elegant solution to these issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/aicache-mobile-client-caching-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Agent based caching</title>
		<link>http://aicache.com/blog/user-agent-based-caching/</link>
		<comments>http://aicache.com/blog/user-agent-based-caching/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 16:57:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=94</guid>
		<description><![CDATA[aiCache now has the capability to add User Agent string to signature of cacheable responses.
By default, Aicache uses hostname  and URL of request, possibly sanitized by removing some parameters or discarding the complete query string, as a signature of (pointer to) cached responses. 
Some sites might serve different cacheable content in response to requests for same [...]]]></description>
			<content:encoded><![CDATA[<p><A HREF="http://aicache.com/" TITLE="aicache web application acceleration">aiCache</A> now has the capability to add <strong>User Agent</strong> string to signature of cacheable responses.</p>
<p>By default, Aicache uses hostname  and URL of request, possibly sanitized by removing some parameters or discarding the complete query string, as a signature of (pointer to) cached responses. </p>
<p>Some sites might serve different cacheable content in response to requests for same URLs,  depending on a value of a User Agent HTTP header present in the request. </p>
<p><strong>User Agent HTTP Header</strong> identifies browser&#8217;s make and model.</p>
<p>A site serving mobile clients might serve responses whose formatting depends on exact mobile device/browser. To accommodate for such clients, while allowing for caching of responses, we must use User Agent information as part of cached response signature. </p>
<p>When a URL named &#8220;news.html&#8221; is accessed by 3 different mobile devices, we shall have 3 different responses cached &#8211; each containing mobile device&#8217;s User Agent string.</p>
<p>To enable such behavior, you can specify sig_ua setting  in website section of the configuration file. </p>
<p>All of the cacheable requests for to the  website shall now have User Agent information appended to their signatures &#8211; you can see that when you run CLI inventory command or its derivatives (sit, sir, sis, sif). </p>
<p>Tthis feature has potential to significantly increase the size  of response cache (as multiple versions of same URLs are now cached), so we recommend using it only when necessary. </p>
<p>Excellent for accommodating mobile clients. </p>
<p>You can also combine sig_ua and sig_cookie (see admin guide) settings &#8211; in which case both the selected cookie value and User Agent string are used as part of signature. In this case it is the User Agent string that becomes the signature&#8217;s suffix.</p>
<p><a href="http://www.prlog.org/10197836-mobile-browser-market-enabled-by-aicache.html">Press</a></p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/user-agent-based-caching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting 101 with aiCache</title>
		<link>http://aicache.com/blog/troubleshooting-101-with-aicache/</link>
		<comments>http://aicache.com/blog/troubleshooting-101-with-aicache/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 11:50:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=87</guid>
		<description><![CDATA[You&#8217;re in charge of a complex web site with a multitude of sub-domains, hosting all kind of information: editorial news, search, viewer comments, videos,  news feeds, financial stock quotes. It is a thing of beauty, with 20+ APIs of all sorts, few dozen web, application and database servers &#8211; all working in concert to [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re in charge of a complex web site with a multitude of sub-domains, hosting all kind of information: editorial news, search, viewer comments, videos,  news feeds, financial stock quotes. It is a thing of beauty, with 20+ APIs of all sorts, few dozen web, application and database servers &#8211; all working in concert to drive millions of page views per day.</p>
<p>Your site is humming along quite nicely when all of  a sudden your monitoring screens light up red and site slows to a crawl. A minute later it is down and no responses are getting back to the clients. Where do you start looking to understand what&#8217;s going on? What do you do to restore the service ASAP? How do you make sure it doesn&#8217;t happen again?</p>
<p>With <A HREF="http://aicache.com/" TITLE="aicache web application acceleration">aiCache</A> front-ending the traffic problem resolution becomes a straightforward exercise. A divide&#8217;n'conquer approach is in order &#8211; we need to understand what component is ailing and what traffic patterns are prevalent.</p>
<p>This is where you start: pull up the aiCache Web monitor &#8211; it will show all of the domains aiCache is accelerating. Look to see which ones are showing highest client/origin server session counts, slowest response times and highest increases in traffic.</p>
<p> aiCache displays all of that information in real time &#8211; refreshing it every few seconds! You instantly see which site is getting hammered with traffic .  aiCache displays average requests/second in last 5 seconds, last minute and last hour. You quickly see what site saw the highest traffic jump.</p>
<p>The all-websites-overview screen allows you to zoom into a particular site or see list of pending origin server requests &#8211; this one is likely to provide a list of URLs that are unable to obtain quick responses from origin servers, per website, in real time again.</p>
<p>Many setups share components so that after a spike against one of services/sub-domains,  in 10-20 seconds the whole site comes to a screeching halt. </p>
<p>How do you reconstruct the sequence of event? Again, Aicache come to the rescue &#8211; it collects 5-second snapshots of traffic and stores it both in aiCache memory, where it can be instantly pulled up for each of the accelerated websites, and in the statistics log files &#8211; one per each accelerated domain. </p>
<p>You can use &#8220;runstat&#8221; CLI command or look at the statistics log file to see what domain started seeing elevated traffic levels and/or slower response times from origin servers first.</p>
<p>You can also use CLI&#8217;s  &#8220;inventory&#8221; commands, the &#8220;sorted by fill time, number of requests,  number fills&#8221; variety to see the most requested URLs, the slowest URLs to obtain &#8211; again, for each subdomain.</p>
<p>You narrow your search down to a failing domain. It is still unclear how to go about fixing it, yet you want to restore the service so that all the other domains/services can start working again. </p>
<p>The easiest way to accomplish that is put the ailing sub-domain into &#8220;fallback&#8221; mode. This way it continues to serve cached and possibly stale content, while completely disengaging the origin servers, letting your team members concentrate on restoring that service.</p>
<p>For a busy website, use of fallback command has another important benefit &#8211; as aiCache now either instantly delivers a cached (possibly stale) response or, equally instantaneously,  sends an error message to the client, you stop the uncontrolled growth of session counts on your network/security devices and begin dissipating these.</p>
<p>Bottom line: with aiCache in the path of traffic, understanding, troubleshooting and recovering of websites becomes a fairly easy and straightforward exercise. The benefit of understanding traffic flows, in real time, is reason to insert aiCache into the path of your web traffic, while providing a host of additional benefits!</p>
<p>aiCache: Get your life back &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/troubleshooting-101-with-aicache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Web Services and aiCache team to bring the cloud home.</title>
		<link>http://aicache.com/blog/amazon-web-services-and-aicache-team-to-bring-the-cloud-home/</link>
		<comments>http://aicache.com/blog/amazon-web-services-and-aicache-team-to-bring-the-cloud-home/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 19:59:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=78</guid>
		<description><![CDATA[aiCache web acceleration instances are now available on the Amazon Web Services platform. Companies looking to reduce cost, scale their web applications and bring stability to their environment can now front-end their websites using aiCache technology in the cloud.
aiCache instances can reduce resource utilization in the web farm by 50 to 80% by capturing traffic [...]]]></description>
			<content:encoded><![CDATA[<p><a title="aicache web application acceleration" href="http://aicache.com/">aiCache</a> web acceleration instances are now available on the <a title="Amazon Web Services" href="http://aws.amazon.com/">Amazon Web Services</a> platform. Companies looking to reduce cost, scale their web applications and bring stability to their environment can now front-end their websites using aiCache technology in the cloud.</p>
<p>aiCache instances can reduce resource utilization in the web farm by 50 to 80% by capturing traffic before it hits the web, application and database servers. The availability of Amazon EC2 instances allows companies, for the first time, to move their traffic from their local data-center to the take advantage of the stability and speed and stability of aiCache, while leveraging the world class infrastructure of Amazon.</p>
<p>Applications already on Amazon can immediately take advantage of the aiCache, by simply by initiating the aiCache AMI from the <a title="Amazon Solutions Catalog: aiCache" href="http://developer.amazonwebservices.com/connect/entry!default.jspa?categoryID=89&amp;externalID=2099&amp;fromSearchPage=true">Amazon Solutions Catalog</a>.</p>
<p>aiCache uses the <a title="KITE Keynote Testing Environment" href="http://kite.keynote.com/">KITE Testing Environment</a>. KITE allows  validation of your application running on aiCache &amp; Amazon, while providing real-time  perfomance  reporting from five global locations.</p>
<p>The combination of Amazons instant scalability, acceleration and rich reporting from aiCache and the Global monitoring capability of KITE make a powerful combination for businesses looking for scale, stability and cost reduction.</p>
<p>&#8220;We feel the <a title="Amazon EC2" href="http://aws.amazon.com/ec2/">Amazon Elastic Compute Cloud,</a><br />
with its ability to run the 64 Bit Linux instances, that make the aiCache technology possible, is the best of all possible worlds for on-demand growth. With Amazon providing  hourly billing these instances can be configured for hours, weeks, or on a permanent basis, depending on the needs of our customers.</p>
<p>We created this service to allow set-up, testing, and validation, all without interruption of the existing application. We have made it as easy to realize the advantages of virtualization and caching in the cloud. We look forward to helping customers build better, more scaleable applications; the kind that let them spend their evenings with their families. -Max Robbins COO aICache.</p>
<p>aiCache cloud pricing and  order details can be found on the the <a title="aiCache Amazon Order Page" href="http://aicache.com/cloud_amazon.html">aiCache Amazon Order Page</a></p>
<p><a href="http://www.prlog.org/10184916-amazon-web-services-and-aicache-team-to-bring-the-cloud-home.html">Official Press Release</a></p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/amazon-web-services-and-aicache-team-to-bring-the-cloud-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clustering aiCache: United We Stand &#8230;</title>
		<link>http://aicache.com/blog/clustering-aicache-united-we-stand/</link>
		<comments>http://aicache.com/blog/clustering-aicache-united-we-stand/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 12:11:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aicache.com/blog/?p=58</guid>
		<description><![CDATA[Most web site deploy aiCache in multiples, for a number of reasons. Even if your site&#8217;s traffic doesn&#8217;t warrant multiple Aicache servers, you&#8217;re still advised to have at least two, so that one can go down or be taken down for maintenance, without affecting the site.
With more than one aiCache server deployed, it makes sense [...]]]></description>
			<content:encoded><![CDATA[<p>Most web site deploy <A HREF="http://aicache.com/" TITLE="aicache web application acceleration">aiCache</A> in multiples, for a number of reasons. Even if your site&#8217;s traffic doesn&#8217;t warrant multiple Aicache servers, you&#8217;re still advised to have at least two, so that one can go down or be taken down for maintenance, without affecting the site.</p>
<p>With more than one aiCache server deployed, it makes sense to manages such collection of servers as a &#8220;cluster&#8221; &#8211; so that certain commands are applied cluster-wide, without having to repeat them on each server separately. Most noticeably, when we expire content on-demand, manually via CLI or Expire-Header response-driven expiration, we want to make sure requested content is expired on all of the aiCache servers.</p>
<p>Likewise, should we ever need to place site into administrative fallback mode,  we&#8217;d want each and every aiCache server to go into fallback mode without having to do it at each server separately.</p>
<p>To support this type of behavior, aiCache uses notion of a peer. When one or more  peers are defined, aiCache notifies all defined peers about both expiration and fallback commands &#8211; no matter how they were triggered, CLI or otherwise.</p>
<p>To enable and define peers, simply add one or more of &#8220;peer peer_IP [optional peer_PORT#]&#8221; directives in the global section of the configuration file. For example the following snipped defines 3 peers, all running on port 81:</p>
<p>peer 1.2.3.4 81<br />
peer 1.2.3.5 81<br />
peer 1.2.3.6 81</p>
<p>The port setting is optional, it defaults to port 80. So the following snippet defines same 3  peers running on standard port 80:</p>
<p>peer 1.2.3.4<br />
peer 1.2.3.5<br />
peer 1.2.3.6</p>
<p>To communicate expire and fallback commands to peers, aiCache sends a specially crafted HTTP request to each configured peer.  Peer request is  identified by a special URI prefix with  default value of &#8220;xaicachepeer&#8221;. You can change it via peer_prefix configuration setting in the global section:</p>
<p>peer_prefix  supersecretpeerprefix</p>
<p>You might want to change it to your own string to safeguard peer commands. Clearly all of the peers must have peer_prefix setting set to the same value. Please make sure peer_prefix and stat_url settings are set to different values so that one is not a prefix of the other.</p>
<p>With peers enabled, aiCache servers communicate with each other upon receiving expire and fallback commands. Proper messages are shown and/or logged on both the sending Aicache instance and receiving aiCache instance(s). The command, command&#8217;s parameters,  the sending aiCache server and the receiving aiCache server(s) are all identified.</p>
<p>The commands received from peers are not retransmitted, it is the sender that  communicates to each defined peer via a one-to-many communication. You can have aiCache identify it&#8217;s  own IP address as a peer &#8211; in case you want to  maintain the same, bit-for-bit identical aiCache configuration file on a number of aiCache servers.</p>
]]></content:encoded>
			<wfw:commentRss>http://aicache.com/blog/clustering-aicache-united-we-stand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
