Complete Visibility, end-to-end

AJAX and ContinuousAPM

Subscribe to AJAX and ContinuousAPM: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get AJAX and ContinuousAPM: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories

If you’re a regular here, you know how much we care about the full-stack view of applications. Today, let’s zoom in a bit, and talk about the performance of a single layer. In particular, let’s look at profiling in Python. As an example, let’s take this bit of code for calculating confidence intervals of the mean of a set of data. If you’re not familiar with confidence intervals, they provide a set of bounds for a given statistic; a 95% interval implies that the true mean lies in the calculated range 95% of the time. One way of calculating this involves generating a number of new data sets from the data you have (random selection, with replacement), and looking at that (meta?-)data set. In practice, you typically run this a couple of times, look at the results, and see if they’re converging. If not, you keep running until they do converge, or you hit some max numbe... (more)

Isomorphic to Exhibit at @DevOpsSummit | @IsomorphicHQ #IoT #DevOps

SYS-CON Events announced today that Isomorphic Software will exhibit at DevOps Summit at 19th International Cloud Expo, which will take place on November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Isomorphic Software provides the SmartClient HTML5/AJAX platform, the most advanced technology for building rich, cutting-edge enterprise web applications for desktop and mobile. SmartClient combines the productivity and performance of traditional desktop software with the simplicity and reach of the open web. With the industry's broadest, deepest UI component set, coupled to a java server framework, SmartClient delivers an end-to-end solution for building high-productivity web applications. Its cloud-based visual tools and technologies allow functional and development teams to collaborate during application design and development, delivering unpre... (more)

Why Response Times Are Often Measured Incorrectly

Response times are in many – if not in most – cases the basis for performance analysis. When they are within expected boundaries everything is ok. When they get to high we start optimizing our applications. So response times play a central role in performance monitoring and analysis. In virtualized and cloud environments they are the most accurate performance metric you can get. Very often, however, people measure and interpret response times the wrong way. This is more than reason enough to discuss the topic of response time measurements and how to interpret them. Therefore I will discuss typical measurement approaches, the related misunderstandings and how to improve measurement approaches. Averaging information away When measuring response times, we cannot look at each and every single measurement. Even in very small production systems the number of transactions ... (more)

I’m Not Scared of #DevOps | @DevOpsSummit #APM #CD #Docker #Monitoring

DevOps is speeding towards the IT world like a freight train and the hype around it is deafening. There is no reason to be afraid of this change as it is the natural reaction to the agile movement that revolutionized development just a few years ago. By definition, DevOps is the natural alignment of IT performance to business profitability. The relevance of this has yet to be quantified but it has been suggested that the route to the CEO's chair will come from the IT leaders that successfully make the transition to a DevOps model. If this still seems foreign to you, I recommend reading up on DevOps Blog from IT Revolution, the OpsCode Blog, and check out The Phoenix Project. Despite all the talk around simple monitoring tools, breaking through the walls between Dev and Ops still poses a real challenge. This is because of a misunderstanding around Operations real purp... (more)

Compuware APM Announces 2013 Best of the Web Award Winners

Compuware Corporation has announced the 2013 winners of its annual Best of the Web awards, honoring top performing sites across five major industries. A comprehensive report featuring all category winners and detailed results of each winner's performance can be downloaded here. Compuware APM's fifth annual Best of the Web awards recognize the top performing companies across five major industries - banking, brokerage, insurance, retail and travel. Winners in each industry are awarded Gold, Silver, and Bronze based on their performance for the entire year across three key measurements - availability, response time and consistency of response time - for their mobile and web home pages and key user transactions. This year's awards have been expanded to include Gold, Silver and Bronze mobile award winners for the first time in recognition that mobile is now a dominant... (more)

Understanding Application Performance on the Network | Part 4

We know that losing packets is not a good thing; retransmissions cause delays. We also know that TCP ensures reliable data delivery, masking the impact of packet loss. So why are some applications seemingly unaffected by the same packet loss rate that seems to cripple others? From a performance analysis perspective, how do you understand the relevance of packet loss and avoid chasing red herrings? In Part II, we examined two closely related constraints - bandwidth and congestion. In Part III, we discussed TCP slow-start and introduced the Congestion Window (CWD). In Part IV, we'll focus on packet loss, continuing the concepts from these two previous entries. TCP Reliability TCP ensures reliable delivery of data through its sliding window approach to managing byte sequences and acknowledgements; among other things, this sequencing allows a receiver to inform the send... (more)

How to Avoid .NET Performance Problems

Every time I work with one of our .NET customers to help them with managing their application performance I come across the same problems as seen with other clients before: lots of ADO.NET queries, many hidden exceptions in core or 3rd party .NET libraries, slow 3rd party components, inefficient custom code… Too often we from dynaTrace are introduced when it is already very late in the development cycle. Most of the time we're introduced when the first performance test results show bad response times and nobody understands why it is that slow. In other cases we get called when there are problems in production and it has already taken too much time to figure out the root cause. Solving these problems at that point can become really expensive as it sometimes involves changes to the architecture. Most of these problems can be prevented by following some basic principl... (more)

Hunting Lost Treasures: Understanding and Finding Memory Leaks

Searching for memory leaks can easily become an adventure – fighting through a jungle of objects and references. When the leak occurs in production time is short and you have to act fast. Like in a treasure hunt, we have to interpret signs, unravel mysteries to finally find the “lost” memory. Memory leaks – together with inefficient object creation and incorrect garbage collector configuration – are the top memory problems. While they are a typical runtime problem, their analysis and resolution worries developers. Therefore I will focus in this post on how to analyze memory problems by covering how to find those problems and providing some insights into the anatomy of memory leaks. Packing Our Equipment What do we need for effective memory diagnosis? We need a heap analyzer for analyzing heap content and a console to collect and visualize runtime performance metri... (more)

Identify Performance Bottlenecks in Your BizTalk Environment - Part 3

In my last two articles I wrote about how to Use BizTalk Performance Counters and how to Analyze Adapter and Pipeline Performance. In this final article I focus on Orchestration and calling external services. Step 4: Analyzing Orchestration Orchestrations can be as simple as reading a file from a file system, transforming it and writing it out to a different file. They can also be much more complex such as calling external web services depending on certain conditions in the incoming messages, taking the response of these services and calling other services or writing a transformed version of the response to a file or the database. The following screenshot shows a rather simple Orchestration taken from one of the examples that ships with BizTalk: Orchestration Example showing a message flow including a call to an external service The process starts by receiving a file... (more)

How to Avoid the Top Five SharePoint Performance Mistakes

SharePoint is without question a fast-growing platform and Microsoft is making lots of money with it. It’s been around for almost a decade and grew from a small list and document management application into an application development platform on top of ASP.NET using its own API to manage content in the SharePoint Content Database. Over the years many things have changed – but some haven’t – like – SharePoint still uses a single database table to store ALL items in any SharePoint List. And this brings me straight into the #1 problem I have seen when working with companies that implemented their own solution based on SharePoint. #1: Iterating through SPList Items As a developer I get access to a SPList object – either using it from my current SPContext or creating a SPList object to access a list identified by its name. SPList provides an Items property that returns a... (more)

Optimizing Data Intensive Web Pages by Example

Lately I was checking out ShowSlow. The site is really great. It combines YSlow and PageSpeed metrics and visualizes them in a really nice way. When I clicked on the URLs Measured Tab I had to wait quite some time until the page finished downloading. While this page is really displaying a lot of information, I still wondered why it takes so long to load. I then used dynaTrace AJAX Edition to analyze the page. Then the reason for the long load time became obvious. As you can see below the page has an overall download time of 17 seconds which results from a total size of 5 MB of HTML data.   Metrics for the All URLS Tab in ShowSlow Although the page is really displaying a lot of data, the size still seemed too big for me. I then took a closer look at the HTML source and found a lot of inline style definitions like the one shown below.