Top 8 Application Performance Landmines

Update October 2014: Follow the best practices discussed in this blog by downloading Dynatrace Free Trial. We have been blogging about the same problems and problem patterns we see while working with our customers over the past few of years. There have always been the classic application performance landmines in the areas of inefficient database access, misconfigured frameworks, excessive memory usage, bloated web pages and not following common… read more

Improving Message Queue Throughput tenfold by choosing the right XML Parser

Does your application architecture include Message Queues to feed work items to backend batch processing such as “Update Product Inventory” or “Send out Notification Emails”? Message Queues work well in these use cases as they decouple your system components and allow your backend processing to asynchronously process requests. This decoupling allows the queue to grow under heavy load allowing the background job to catch up when there is less load… read more

Top 8 Performance Problems on Top 50 Retail Sites before Black Friday

The busiest online shopping season is about to start and it’s time to make a quick check on whether the top shopping sites are prepared for the big consumer rush or whether they are likely going to fail because their pages are not adhering to Web performance best practices. The holiday rush seems to start ramping earlier and earlier each year, the Gomez Website Performance Pulse showed an… read more

Slow Page Load Time in Firefox caused by old versions of YUI, jQuery, …

We blogged a lot about performance problems in Internet Explorer caused by the missing native implementation of getElementsByClassName (101 on jQuery Selector Performance, 101 on Prototype CSS Selectors, Top 10 Client Side Performance Problems, …). Firefox on the other side has always implemented this and other native lookup methods. This results in much faster page load times on many pages that rely on lookups… read more

Real Life Ajax Troubleshooting Guide

One of our clients occasionally runs into the following problem with their web app: They host their B2B web application in their East Coast Data Center with their clients accessing the app from all around the United States. Occasionally they have clients complaining about bad page load times or that certain features just don’t work on their browsers. When the problem can’t be reproduced in-house and all of the “usual… read more

Top 3 Performance Problems in Custom Microsoft CRM Applications

After spending a lot of time focusing on Client-Side Web 2.0 Performance Problems it is time to focus on specific Server-Side Performance Problems. Last week I worked with a client that runs a custom application on Microsoft CRM 4.0 and experienced performance problems in their test environment. Individual web requests to query or update data took several minutes, with some of them eventually timing out. We… read more

IE Compatibility View: How to identify performance problems between IE versions

A client of ours recently contacted me with the question: We use Keynote, WebPagetest and dynaTrace AJAX – but we get different results with these tools/services. WebPagetest tells us that our page is very slow – but dynaTrace on my local machine does not. What can be the problem here? What’s the difference? I took a look at their page on my own laptop – running WinXP and IE8. I… read more

How ASP.NET PostBacks and Redirects Work

Last week I got the following two questions from one of our clients “We use ASP.NET PostBacks but can’t find the PurePath for the request triggering the PostBack handler – any hints?” “We see many ThreadAbortExceptions in our ASP.NET Application and we are not sure why they happen – are they expected?” Time for a little blog that gives some internals on PostBacks as well as Redirects (which… read more

Behind the scenes of ASP.NET MVC 2 – Understand the internals to build better apps

With Visual Studio 2010, Microsoft is shipping the next version of the popular ASP.NET MVC Framework with its IDE. A year ago I blogged about my findings when getting my hands on the first version of ASP.NET MVC. The MVC Framework provides really nice features that make it very easy to build web applications on top of ASP.NET. The updated support in Visual Studio also makes… read more

101 on Prototype CSS Selectors

Performance implications of certain CSS Selectors are not specific to a certain JavaScript Library like Prototype. I recently blogged about the internals of CSS Selectors in jQuery. The same holds true for every JavaScript library that offers CSS Selectors. Certain lookups can be done by using the native browser functions like getElementById or getElementsByTagName. Lookups by class name are not natively supported in… read more