Product Reviews

I Am a Strange Loop

This appliance can help accelerate ASP.NET Web traffic over your network.

Strangeloop Networks AS1000
REDMOND RATING
Documentation 10%
9.0
Installation 20%
10.0
Ease of Use 30%
10.0
Feature Set 20%
8.0
Administration 20%
9.0
Overall Rating:
9.3



Key:
1: Virtually inoperable or nonexistent
5: Average, performs adequately
10: Exceptional

Ask a battle-hardened IT person about their biggest issue with ASP.NET applications, and the answer might surprise you. It's not uptime. It's not server consolidation. It's not any of the usual IT metrics. It's bound to be application performance, and you can't resolve ASP.NET performance problems simply by throwing more memory or boxes at them.

Strangeloop Networks Inc. feels your pain. The company founders have experienced it themselves and believe they have a solution. The Strangeloop AS1000 network appliance incorporates heuristics that apply computing resources to key areas of ASP.NET and HTML performance and scalability problems. It meticulously collects and analyzes data, and then executes on established rules to perform specific actions in response to certain Web traffic characteristics.

Easy Installation
You install the AS1000 onto the network via standard Ethernet jacks, typically behind the firewall and in front of the Web servers. It passes traffic through, although you can also route traffic to it to keep the appliance out of the direct path.

The unit is in a standard 1U rack-mountable enclosure. The company is also experimenting with other form factors. The box is a standard x86 system with lots of memory for caching. It runs a variant of Linux that enables it to identify Web traffic and analyze that traffic in real time. The key to the product is in its unique software.

Installation takes only a few minutes. It includes an embedded Web server you have to hit to complete the installation. This includes downloading the management software for the box directly from the box itself. All you have to do is add it to the network in an appropriate place. If you're routing to it, you'll also have to redirect your Web traffic.

Figure 1
[Click on image for larger view.]
Figure 1. The Strangeloop Networks AS1000 uses heuristics to improve the performance of ASP.NET applications.

The easy-to-use AS1000 software dashboard plugs into the Microsoft Management Console. You can control it at the appliance level or the application level. At the top level, control is very basic. You can enable or disable the appliance. You can also enable or disable any of the accelerators available on the appliance or for individual apps.

There are advanced settings that give you a greater level of control over specific accelerations, such as page and folder exclusions and timing changes. The advanced settings are well suited for experienced application admins with detailed knowledge of the app, and will help them squeeze incremental improvements in performance or scalability.

Speeding up Web Traffic
The AS1000 has four accelerators, which are actually software-based. They're a combination of data collectors, heuristics and instructions that look at traffic, make determinations on where performance can be improved and execute those improvements. The accelerators are: view state caching, compression, browser caching and output caching.

View state retains data that's necessary for viewing a page in case the user goes back to that page during a session. The AS1000 removes view state from a page, stores it in a database on the appliance, and places a short identifier tag in place of the view state string. If a user retrieves that page, the appliance reads the tag, retrieves the view state from the database, places it back in the page and returns it to the user.

Compression is self-explanatory. A smaller payload size means less transit time across the wire. Browser caching is also self-explanatory. If you keep static pages on the browser, there's no need for a round-trip to the server.

All three of these accelerators can operate on any page and aren't confined to ASP.NET. However, approximately 80 percent of an application is this type of nonspecific data and traffic, so it makes sense to accelerate here first.

The AS1000 also performs acceleration specific to ASP.NET. This is where output caching and partial page caching -- a type of output caching -- come in. Output caching stores an ASP.NET page that's unlikely to change over time.

The AS1000 keeps track of relatively unchanged pages in a watch list. If they stay the same from user to user, it caches that page. Typically, it will cache that page for only a few minutes before it refreshes the page. As the administrator, you can adjust the time delay. If the data changes, then the cache is immediately invalidated.

There are many pages that have only small areas of dynamic content that change frequently. For these types of pages, the AS1000 uses a technique called partial page caching. In effect, partial page caching will cache the entire page, but place tags in the dynamic content areas so that content and method will be called from the Web server.

You have to get the dev team involved to take advantage of partial page caching. The developers will have to add substitutions onto the Web page so it can understand when and how it runs a method on the Web server and incorporates the results onto the page. However, once they do this, you save the round-trip to the Web server and the time to recreate the entire page. The code substitutions to do so are fairly minor.

Nuts and Bolts
My test bed consisted of a Web server, database server and Visual Studio 2005 Test Edition as a load generator. The AS1000 was positioned and configured to operate between the router and the Web server. The load tester was outside that loop so traffic would go through the Strangeloop box. The tests themselves were simply requests for individual pages on the Web server.

Working with Strangeloop, I individually applied each accelerator on the test bed. Generally, each accelerator made an immediate and significant difference on several performance metrics, such as bytes/second received and response time, as measured by Perfmon.

In particular, view state replacement reduced payload by more than one-third. It also cut response time almost in half. As I added accelerators, various performance measures further improved. In many cases, those measures improved over no acceleration by more than 50 percent.

Strangeloop's technical resources were excellent while working with the AS1000. The company founders are smart people with an in-depth understanding of how ASP.NET executes. They've collected years' worth of data on ASP.NET's behavior, amassing a knowledge base that can't be easily replicated.

Info

Satisfied Customers
I also spoke with a couple of Strangeloop customers -- a Web hosting company/Software as a Service provider and a startup that was rushing a broad-based Web application to market.

In the former, the vice president of operations explained that the AS1000 helped them attract new customers with the promise of improving performance over their existing hosting services.

In the latter, the CEO used the AS1000 as a way of significantly cutting his development costs. He could tell his development team not to be concerned about the performance of code that could easily be accelerated using the appliance. He estimated that he cut his development costs in half, and cut development time by 60 percent.

Those are powerful statements and represent the broad range of justifications for acquiring an appliance like the AS1000. This appliance can serve as an aid to either development or production, for internal purposes or to provide a competitive advantage.

In short, if your pain is centered around ASP.NET performance or scalability, don't throw more servers at it. That's unlikely to cure the problem. Instead, outsource your application performance to the AS1000.

If you're wondering where the headline of this review and the name Strangeloop came from, it's the title of Douglas Hofstadter's latest book of philosophy. The concept of the "strange loop" was derived by the company founders as representative of the feedback loop described by Hofstadter.

comments powered by Disqus
Upcoming Events

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.