Top 8 Application Performance Landmines

Delivering an application to the end user has become more complex as it involves more components than ever before. This also leaves a lot of room for mistakes that impact end-user experience.

More than two years ago we posted summary blogs on About:Performance of the Top Server-Side Performance Problems and the Top 10 Client-Side Performance Problems to give operations, architects, testers and developers easy to consume best practices. We feel that it is time to provide an update to these best practices as new problem patterns have since come into play. We also want to cover more than just problems that happen within your … [Read more...]

.NET and SharePoint Performance: Don’t let Default Settings Ruin Your End User Experience

sharepoint-2013-logo

SharePoint is a popular choice for intranet applications and therefore it is important that it performs well to ensure employee productivity. Waiting ten seconds just to load the initial dashboard doesn’t necessarily support that. At a recent customer engagement we identified an interesting source of a potential performance problem that impacts ALL SharePoint and .NET-based installations that use the ServicePointManager to access web services. … [Read more...]

Escaping Application Performance “Groundhog Day” with Culture Change

groundhog

I love movies.  There is just something about them that can teach us a lot about life.  One of my favorites is Groundhog Day.  The construct of this movie is that the main character Phil, played by Bill Murray, is trapped having to live the same day over and over again.   This is what it can be like for IT when it comes to managing application performance.  When a problem is detected in production, a “groundhog day” process is put into … [Read more...]

Speeding up a Pig+HBase MapReduce job by a factor of 15

hbase

The other day I ran a Pig script. Nothing fancy; I loaded some data into HBase and then ran a second Pig job to do some aggregations. I knew the data loading would take some time as it was multiple GB of data, but I expected the second aggregation job to run much faster. It ran for over 15 hours and was not done at that time. This was too long in my mind and I terminated it. I was using Amazon Elastic Map Reduce as my Hadoop environment, so … [Read more...]

A Fistful of Application Checks

fistful_of_dollars_thumb

At this time of year my thoughts turn to entertaining the family during their holiday visits. Being a gadget oriented geek, this means tuning the home theater and music systems. Coincidentally these thoughts mingled with my more usual contemplations about the challenges of Application Performance Management (APM). Before I share the collection of esoteric analogies, I feel compelled to explain the title of this blog. It is a tribute to the 1967 … [Read more...]

How to Manage User Experience for Silverlight and Flash Applications

SilverlightFlashMapthumb

Even though HTML5, JavaScript and CSS are great technologies for building Rich Client Applications that run in the browser – many people continue to use “real” Rich Client Browser Technologies such as Flash and Silverlight as it provides greater flexibility in certain scenarios. From a User Experience Management (UEM) or Real User Monitoring (RUM) perspective these technologies are not really treated as first class citizens by most UEM/RUM … [Read more...]

The 5th Era of Application Complexity – Our New Reality

IBM 3279 Terminal

Sometimes I wonder how today’s applications became so complex. I thought it would be useful to think it’s useful to look back a decade at a time. The era of impersonal monoliths 40 years ago, applications used to be simple. Monolithic apps ruled. They had one mainline section which contained a simple series of procedural instructions. Application management consisted of wrapping the application in a job control language so the operating … [Read more...]

Why Averages Suck and Percentiles are Great

percentiles

Anyone that ever monitored or analyzed an application uses or has used averages. They are simple to understand and calculate. We tend to ignore just how wrong the picture is that averages paint of the world. To emphasis the point let me give you a real world example outside of the performance space that I read recently in a newspaper. The article was explaining that the average salary in a certain region in Europe was 1900 Euro’s (to be … [Read more...]

Improving Message Queue Throughput tenfold by choosing the right XML Parser

DeQueueing_rate

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 … [Read more...]

Understanding the Impact of a Legacy Visual Basic Application

visualbasic6

Most organizations are dealing with a diverse IT landscape today. And so does one of our customers, a large American bank, which needs to handle a 10+ year old Visual Basic 6 (VB6) application that got integrated into their modern .NET enterprise application. In this blog post I describe how we managed to get insight into their legacy applications and enabled them to manage and optimize performance. One of the most significant characteristics … [Read more...]