Sunday, August 26, 2007

Looking into HTTP traffic with Internet Explorer

I work a lot with web applications and from time to time I need to look in to the HTTP session - what headers are sent back and forth and what web page elements takes time to load.

magnifying glass

I have found two products that does this well. I will cover these in details below.

HttpWatch

HttpWatch from Simtec Limited. This product seems to be the most mature of these two. It have cool features, the most important one is beeing able to show you what the web client spends it time on; DNS lookup, TCP session setup, or the data transfer.

You can look into HTTPS traffic.

The major drawback is the price. It cost $295 for a one user license. As a result I did not test this product any further.

IE Inspector

IE Inspector from IEInspector Software is a nice application. It works much like HttpWatch above, but is much cheaper. It lacks the capability to show what a page spends it time on doing; you just get the end result.

You can look in to the HTTP headers sent to the web server and what HTTP headers are received. You can see detailed cache information about Internet Explorer cached elements.

You can also purchase a module that analyzes other applications that uses HTTP. This is nice if you want to test other applications communicating over HTTP.

You can look into HTTPS traffic only if you use the Internet Explorer integrated decoder.

If you buy both modules as a non-commercial license you end up with US$99. If you happen to be commercial the price is $129. Either way it is much cheaper than HttpWatch.

Ethereal

Ethereal is the Swiss army knife of packet decoding. You can't live without it. The tools mentioned above presents HTTP traffic in an easy way. But Ethereal gives you a lot more - if you learn how to use it.

It is open source. And we can't dislike open source!

Labels: , , ,

Thursday, August 23, 2007

Big-IP review

Do you need to put your web server on steroids? Do you find it slow and do not know what to do? If you have the money, I have the solution.

A speeding turtle

Here is one solution for you. The Big-IP is a all-in-one box where you can do lots to tweak your web server performance and reliability. Features includes:

  • Connection pooling from the Big-IP to your backend web server. This offloads connection setup time on your web server.
  • SSL offloading when you encrypt your web pages. With this feature you do not need to spend web server CPU cycles to manage SSL sessions.
  • RAM cache is also possible which offloads static content that is downloaded all the time. You can also cache dynamic content if you want.
  • Compression of content. Most of the content on a web server is compressible. With this feature enabled you can save bandwidth, speed up clients on slow lines and load web pages faster. On a site with much content you can expect 60-70% reduction in bandwidth requirements using this feature.
  • Load balancing with failover. If your solution needs more than one web server you can load balance traffic and as soon as a node fails it will be removed from the pool.
  • Web accelerator combines several technologies to try speed up.
  • HTTP header manipulation. You can manipulate every http header if you want.

What you will use depends on your requirements and wallet. Some of the features above are expensive, but they all work great. You will have to pay about US$20,000 for the entry level platform.

The Big-IP platform

After one week of work on this platform I have to say that I am impressed. It is relatively easy to use and configure. All the basic configuration settings are configured from a web page. Just spend some minutes and read their quick startup guide to get familiar with their naming conventions.

With less than one hour of configuration you should see improvements on your solution.

Big-IP customizations

One think I really like is that if I need something that F5 did not think about I can tweak it myself. Here is the code to cache HTTP 302 replies and redirect my secure site to HTTPS.

when HTTP_RESPONSE {
 if { [HTTP::status] == "302" } {
 CACHE::enable
 }
}
when HTTP_REQUEST {
 if { [HTTP::uri] starts_with "/secure"} {
 HTTP::redirect https://mysite/secure
 }
}

This is called iRules. The language is based on TCL.

RAM cache

Squid is probably the most known cache server in the world. But it is only a cache. Big-IP is lots and lots of more, but probably not the best cache-only solution. It only caches to memory, so if you serve big content like images, videos and so forth and require a big cache this is not the best solution.

But for all other uses it works great in conjunction with compression and load balancing.

Web Accelerator

This module rewrites the web page so it loads faster and tries not to transfer redundant data twice to the client. This is at least what F5 says.

Out of the box the web accelerator have profiles for Microsoft Exchange Server and Sharepoint. (And some others, but I don't remember now.)

On low bandwidth and high latency inline objects (like images, CSS, javascript) are rewritten to be downloaded from other servers. This to overcome the limitation in Internet Explorer to only open open two connections to one server at a time.

Combined with compression this should make some chatty Microsoft web applications more speedy over the Internet.

Conclusion

I love this product. It have lots of features and you can tweak and tune it to fit to most web applications. I spent much time evaluating the RAM cache but see lots of potential in all the other features.

The Big-IP documentation is not impressive. Nor the Wiki on DevCentral. You need to spend some time to figure out how to use it if you need custom features.

PS! The load balancer feature is not only for web traffic. All kind of traffic can be load balanced.

Good luck! If you have any questions do not hesitate to ask me!

Labels: ,

Friday, August 03, 2007

Vista wireless and lag

Have you noticed that Vista and wireless often looses connection to the Internet (and corporate network). This is often seen with games and real-time applications like VoIP products.

Windows Vista doesn't works with the optimal wireless setinngs. Some of this settings are causing 1,5sec dropouts with many wireless cards, which are appearing every 30-60sec. This dropouts are very hated in the gaming community and if users are using voice over IP applications or other realtime protocols.

Here you can find a solution for your problem.

Labels: ,