Let’s say you’re testing an internal site which uses Integrated Windows Authentication. You may have already been running regular tests on this site with no difficulty. Then, an administrator runs a security tool (such as the Windows Security Configuration Wizard) and suddenly your Load Tests now fail with HTTP 401 Unauthorized responses. What happened? One cause of this can be a feature of NTLM security was enabled, requiring clients to support NTLMv2 “session” security. While this security feature is stronger, it is not universally supported by all clients, including legacy versions of Load Tester. Getting past the issue is easy: just upgrade Load … Continue reading »
Looking for the snappiest, fastest web server software available on this here internet? So were we. Valid, independent, non-synthetic benchmarks can be difficult to find. Of course, we all know that benchmarks don’t tell us everything we need to know about real-world performance; but what’s the fun of having choices if we can’t pick the best? Exactly. I decided to do a little research project of my own. Test Plan I selected for this exercise recent (as of October 2011) versions of Apache, Nginx, Lighttpd, G-WAN, and IIS — a list that includes the most popular web servers as well as web servers … Continue reading »
You’ve recorded your test case, configured your datasets, and run your replays. You start up the load test and … you see numerous errors like this: “The connection with the server was unexpectedly closed before starting the response.” What’s going on? Well, one common reason for this error is a connection-related race condition between Load Tester and the web server due to the server’s configured persistent connection timeout. Persistent connections are an HTTP mechanism for minimizing network connection overhead between the browser and the web server. If the client has the Connection request header set to Keep-Alive, and the server responds with the … Continue reading »
The overwhelming majority of dynamic internet-facing applications are built on garbage collected runtimes such as Java and .NET. Garbage collection is popular because it promotes rapid application development. On the other hand, whenever a system is demonstrating unexpectedly poor performance, the garbage collector invariably surfaces as a possible suspect. Our advanced server analysis module even hooks into garbage collection performance monitoring on the .NET platform. The reality, however, is that modern garbage collectors are very good. Fact: Our company has been in business since 1999. In this time, no one can recall ever encountering a system with a performance problem that could … Continue reading »
My first day at Velocity was long, but fun. I breathed a sigh of relief when my luggage finally arrived…10 hours after I did. I attended part of a Load Testing workshop early in the afternoon that raised some interesting topics: Why are steady ramps bad? They showed some examples of how this approach can result in the wrong conclusions about system capacity. I agreed heartily – I’ve blogged on the merits of a stepped ramp in load tests previously. Abandonment rates – This is a feature that I’d like to get into Load Tester sooner rather than later. A basic … Continue reading »
We recently had a customer that exhibited a particular error message whenever the site went past 60-70 simultaneous users. There were two servers under test, a webserver and a database/application server. The only symptom we could see in the load test reports was a large number of failed TCP connections on the webserver, but not on the database server. Their webserver was using CGI to build and display pages. The CGI script would make a local TCP connection to a communications service running on the same machine, which would then seek out a remote application server to service the request. At … Continue reading »
Is your Sharepoint website slow? Are the servers under-utilized and the database shows no locking, but response times for the pages are still poor? Is Sharepoint unstable under load? We recently helped a client through the grueling process of optimizing and stabilizing a large Sharepoint installation. Once we discovered the underlying causes, the fixes were rather easy, but finding the performance bottlenecks was time consuming. We’ve described the process and the findings, so you can skip the hard part! Read the case study.
Enabling dynamic compression in IIS 7.0 can reduce the bandwidth usage on a particular file by up to 70%, but also reduces the maximum load a server can handle and may actually reduce site performance if the site compresses large dynamic files. Read the full report for a complete analysis.
Introduction Load testing is one of those steps that should be performed for every major system rollout but rarely happens. In this article, we will demonstrate the basic procedure for load testing web-based applications, using an ASP.NET application as an example. Why Load Test .NET? Working for a performance tools company, I have the opportunity to assist many companies with their load testing efforts. A large number of these efforts happen immediately before deployment or shortly after deployment, when live usage has determined that performance is inadequate. Naturally, performing the load testing at this stage in the project is much more costly than … Continue reading »