|
| DevCentral > Weblogs > - Dawn's Blog
|
Acceleration
There are 27 entries for the tag Acceleration
 |
Last week Google announced a new open source plug-in for Firefox called Page Speed which can be used to assess the performance of web pages and make recommendations on speeding up the delivery. To me this sounded a lot like Yslow, of course that plug-in was developed and maintained by Yahoo! so it does make sense that Google would want to come up with their own version. As I hadn't yet upgraded to YSlow 2.0 I figured this was a good time to see what the new version had to offer and how Page Speed compares. All testing was conducted...
posted @ Monday, June 08, 2009 8:22 AM |
|
 |
Being the total acceleration junkie that I am the first time a new site is launched or recommended to me the first thing I do is take a look at the performance of it. So when I heard about Bing the first thing I did was fire up HttpWatch and take a look at the site. To make things a little more interesting I decided to compare the results to Google, I used the classic home page and not my customized iGoogle home page. Tests were conducted from my home broadband connection in London, England. Each test was...
posted @ Thursday, June 04, 2009 8:32 AM |
|
 |
Last week I wrote a post on the Fast Web Race, following on from that post I was contacted by the event program manager and have been asked to be a judge. I was looking forward to this contest before now I'm even more excited about it. I'm joining an elite team of judges and experts in the field of application acceleration and web performance. The judges include: Ben Rushlo from Keynote Systems Steve Souders from Google and the creator of the YSlow plug-in for Firefox Bob Buffone from RockStarApps...
posted @ Wednesday, June 03, 2009 5:22 AM |
|
 |
This week Keynote Systems announced a Fast Web Race contest. According to the site the purpose of the contest is to improve the overall performance of many web sites by sharing best practices and real world examples. "Everyday we work with Web dev and ops communities and we see a lot of the same performance issues come up. We think there’s an opportunity to share best practices with the community using real world examples." There's nothing better than sharing what you've learned with a community, isn't that what DevCentral is all about. I...
posted @ Friday, May 22, 2009 3:00 AM |
|
 |
A customer recently contacted me regarding an iRule that worked in v 9.4 but did not produce the expected results in v 10. A little research revealed that the new plug-in architecture is influencing when the iRule is firing. The iRule The iRule is logging the value of the X-PvInfo header or indicating the header is not present. when HTTP_RESPONSE { if {[HTTP::header exists X-PvInfo]}{ log local0. "X-PvInfo:[HTTP::header "X-PvInfo"]" } else { log local0. "did...
posted @ Thursday, May 14, 2009 12:24 PM |
|
 |
I maintain a personal blog on Blogger and was pleased to recently see an article on how to make my blog load faster. Being an acceleration junkie I was very interested in what was recommended given that many of the items that typically influence the load time of a page are server side configurations which I have no control over with a hosted service like Blogger. Some of Blogger's recommendations: Limit the number of posts displayed per page to 10 or less. Reduce the size of images. ...
posted @ Monday, April 20, 2009 5:58 AM |
|
 |
Deciphering and interpreting an RFC is never an easy thing and many times the same RFC can be interpreted different ways. My favourite RFC is RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 specifically section 13 on caching and section 14 on headers make for a very interesting read. I frequently encounter situations where browsers and applications don't appear to behave as the RFC states they should. Here are a couple of examples I have come across: Firefox 3 Expires and Max-Age According to section 14.9.3 "If a response includes both an Expires header and a...
posted @ Tuesday, March 17, 2009 5:45 AM |
|
 |
I was excited when I first spoke to the DevCentral team about deploying WebAccelerator, as what they were faced with was exactly the same problems I hear from customers on a regular basis. Web applications have evolved over the years from small, fairly static "brochureware" to larger and more interactive applications. To the right is a copy of the DevCentral homepage in June of 2003 courtesy of The Way Back Machine. Looks slightly different than what you're looking at today. As the site matured the number and types of objects on the homepage grew: ...
posted @ Thursday, February 19, 2009 9:50 AM |
|
 |
When deploying acceleration solutions I frequently have a conversation that goes something like this: Customer: "We're not seeing the performance improvements we were hoping for." Me: "What improvements are you getting?" Customer: "Only a second." Me: "What was the response time without acceleration?" Customer: "5 seconds." Whether or not the response time improvement is seen as good enough varies from person to person. From my perspective with a page load time of only 5 seconds to start a...
posted @ Tuesday, February 10, 2009 11:13 AM |
|
 |
Phew, I completed the series before I head off for almost 3 weeks (I'll be back blogging January 12th). Below is the complete list in case you missed any of them. A is for Asymmetric B is for Browser C is for Cache-Control D is for Dynamic Data ...
posted @ Tuesday, December 23, 2008 1:14 AM |
|
 |
There's an old medical adage that goes something like "When you hear hoof beats look for horses, not zebras." Zebras are rare and exotic, while horses are much more common. It is often times best to think of common solutions first like a horse than to look for an exotic solution like a zebra. This same adage applies to acceleration, start with the simple things first before attempting the more advanced options. By starting with the common items you can start to see immediate benefits, the more exotic options require more time and resources as these often require more in-depth...
posted @ Monday, December 22, 2008 6:06 AM |
|
 |
YSlow is a plug-in for Firefox that is integrated with the Firebug web development tool. The plug-in evaluates a web page and provides a score based on 13 criteria. Make Fewer HTTP Requests Use a Content Delivery Network Add an Expires Header Gzip Components Put CSS at the top Move Scripts to the Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups Minify Javascript ...
posted @ Thursday, December 18, 2008 7:32 AM |
|
 |
I am frequently asked what can be done to accelerate XML. There are two ways an application delivery controller can accelerate XML: Compression - XML is a markup language that is text based. Text is easily compressible and can result in significant savings. Dynamic Caching - If the XML is repetitive it can be cached, if each and every XML request is unique then caching is not going to help. Caching rules can be written based on the URI and request headers, off-loading requests from the origin servers. Technorati...
posted @ Friday, December 12, 2008 3:18 AM |
|
 |
In the world of application delivery, who is the person in your organization responsible for the performance or acceleration of the applications. Does the responsibility sit with the network architects or the application architects? The consensus from people in the office today is that everybody is but nobody wants to take ownership of it. In a recent article on Network World Robin Gareiss agrees and suggests the creation of a new position: "What's needed is a single person whose title is director of optimization, or director of application delivery. This person would be responsible for...
posted @ Tuesday, December 09, 2008 5:28 AM |
|
 |
Velocity is the O'Reilly conference dedicated to web performance. The sessions focus on building web applications that are fast, scalable, efficient and available. The next Velocity conference is scheduled for June 22-24 2009 at The Fairmont in San Jose, California. Looking over the presentations from last years conference it looks like a great event which I hope to attend this year - what could be better than spending 3 days with others that are passionate about acceleration and application performance. Velocity is currently accepting proposals for presentations. Check out Jesse Robbins' blog for a list of topics the...
posted @ Friday, December 05, 2008 1:36 AM |
|
 |
A When caching content especially dynamic content it is important to make sure that if content is unique that it not be served as if it is the same for everybody. Unique content can often be identified by items in the request such as a cookie, query parameter, host or referrer. With WebAccelerator it is very easy to set up a variation rule to identify what identifies content as unique. In 95% of cases the default values of the acceleration policy will work however there are times that these values need to be modified. Below is a listing of the...
posted @ Thursday, December 04, 2008 4:29 AM |
|
 |
I know I've talked about testing before and here I am talking about it again. So why another post dedicated to testing - Is it because I couldn't come up with another T word or is it because testing is a critical part of deploying an acceleration solution? If you chose the later you are correct. Testing is often an overlooked step in choosing and deploying an acceleration solution, it's not that people think it's not important it is mostly a matter of time and resources. Often times people will budget half a day for testing when in reality a...
posted @ Monday, November 24, 2008 9:34 AM |
|
 |
Sometimes putting security solutions in place will undo all the work that has been done to accelerate an application. I'm not saying throw security out the window as acceleration is more important, both are equally important and can work together. Let's look at three scenarios SSL, SSL VPNs and web application firewalls. SSL SSL is critical when sending secure or private data across the Internet, however when providing content over SSL often times the performance of the application is degraded as additional work is created for the servers. Fortunately SSL can be offloaded to an application delivery controller...
posted @ Thursday, November 20, 2008 3:32 AM |
|
 |
When you have a number of large remote offices that are downloading large documents or have limited bandwidth instead of looking at an asymmetric deployment you may want to consider a symmetric deployment. A symmetric deployment positions the data closer to the user minimizing the effects of latency and reducing bandwidth. The benefits of symmetric deployments include but are not limited to: Compression Data De-duplication TCP Optimizations Web Object Caching Non-Web Object Caching For more information on symmetric acceleration see the Acceleration...
posted @ Wednesday, November 19, 2008 3:49 AM |
|
 |
I'm sorry to say that sometimes acceleration does not come about quickly, it frequently takes time to fine tune the system. While you can quickly set up a virtual server and pool on an application delivery controller there are many items that can be tuned to enhance performance. Settings within the virtual server like OneConnect and Nagle's Algorithm can be enabled via a quick selection, while other options take a little more time like WebAccelerator. To set up the base configuration of WebAccelerator with a library policy takes about 5 minutes. Not too bad and this provides some...
posted @ Tuesday, November 18, 2008 3:41 AM |
|
 |
Performance may sound like a no-brainer when it comes to talking about acceleration however people look at different metrics when it comes to determining the performance improvements an acceleration solution will provide. Last week I met with two different customers to determine the performance improvements that WebAccelerator would provide. Customer 1 was mostly interested in end user response times, they have a number of branch offices around the world with latency ranging from 0 to 400ms. The speed with which Sharepoint pages and documents would download at various speeds and latencies was the critical performance metric. I am happy to...
posted @ Monday, November 17, 2008 6:47 AM |
|
 |
Having a site unavailable is probably worse than having a slow loading page. Outages can occur for multiple reasons such as an overloaded back end server, an upgrade that didn't go as planned, or a power outage at the data centre. Whatever the reason the end result is the same dissatisfied customers (some which may never come back) and lost revenue. Nobody is immune to outages there have been some fairly high profile sites that have had outages over the last year including Amazon, Twitter, and Facebook - just do a search for outages and you'll find many more that...
posted @ Thursday, November 13, 2008 1:11 PM |
|
 |
Thanks to my colleague Sam for helping me come up with an M word. I was going to talk about multiplexing but Lori beat me to it. So instead of multiplexing m is for Mozilla. Probably one of the most popular Mozilla projects is the Firefox browser. Firefox is the second most used browser according to recent statistics posted by NetApplications. I read an interesting post from the folks over at HttpWatch discussing the differences in the way IE and Firefox handle caching directives. The difference in the way browsers handle cache directives means that more consideration needs...
posted @ Thursday, November 06, 2008 6:12 AM |
|
 |
Lots of "L" words kept popping into my head and I was having trouble choosing just one as they are all important. L is for Latency - Lori and Joe have previously written about latency so I won't rehash what has already been said. L is for Load Balancing - There are many types of load balancing that are important with acceleration; server or local load balancing to ensure that the requests are evenly distributed across all available servers, link load balancing to choose the best performing link for traffic and maintain high availability, and global load balancing...
posted @ Wednesday, November 05, 2008 5:42 AM |
|
 |
Knowledge is power in many situations like developing an acceleration strategy or choosing which candidate to vote for (sorry just couldn't resist making a reference to the U.S. presidential election - if you're a U.S. citizen please take some time to vote today). When it comes to acceleration there are many things that need to be known when choosing an acceleration solution. What are the primary applications that need to be accelerated? Is the majority of traffic HTTP, FTP, CIFS or something else. Where are my users coming from? Are users concentrated...
posted @ Tuesday, November 04, 2008 5:06 AM |
|
 |
JavaScript has been a fixture in web applications for many years now and it can have a serious impact in the performance of a web page. First off JavaScript (js) is just text so these files can benefit significantly from compression. I've been shocked in the past to see a js files that were over 500K in size and not compressed. In older browsers there were issues related to the caching of compressed js files but these bugs do not exist with more current versions of the browser so there is nothing stopping you from compressing these files. If you...
posted @ Friday, October 31, 2008 5:32 AM |
|
 |
In a previous post I discussed the ability of dynamic data to be accelerated, what enables WebAccelerator to cache dynamic or deterministic data is invalidations. When content changes you don't want to be serving stale data the invalidation process ensures this doesn't happen. An invalidation message tells the cache that the content that is currently stored is now expired and the next request for the content needs to be validated with the origin server. This is normally performed via a conditional GET (if-none-match or if-modified-since) being issued to the web server. Invalidation of content can be done...
posted @ Thursday, October 30, 2008 5:14 AM |
|
|
|
|
|
|