Web Performance Watch

Speed and Tenacity: the Apple iPad Outage

We’ve heard a lot recently about the importance of speed and performance when it comes to online retail. The New York Times highlighted research from Microsoft claiming that 250 milliseconds—a mere eye blink—could make the difference between a repeat visitor and a lost customer. And a popular infographic touts that Amazon would stand to lose $1.6 billion in sales per year from a 1 second web page delay. Our friends at Walmart.com have also shared some awesome research linking web performance to conversion.

These statistics are welcome news for the web performance community. But sometimes they don’t apply. With Apple, a lot of rules don’t apply.

 

Apple-ipad


This past weekend, Apple sold a record 3 million new iPad 3 tablets. That’s pretty phenomenal. Yet, it came on the back of a pretty bad outage only 10 days before.Apple-store-scatter

On March 7, Apple announced the new iPad 3. For effectively the entire day, the Apple Store was unavailable. That meant no one could check out the new iPad, nor purchase iPhones, MacBooks or anything else.  

To Apple’s credit, the Apple store normally runs very quickly—averaging well less than 2 seconds for total User Experience Time and less a second for Time to First Paint. (The Apple Store is a member of the Keynote Retail Performance Index, measured with Keynote Transaction Perspective.)

We’ve written previously about the concept of tenacity. A website visitor’s tolerance for errors, or delays, is a major factor when balancing the cost and benefit of building capacity and engineering performance into Web applications. While Apple’s fanatic customer base is an extreme, it illustrates the point that there’s a continuum of performance expectations for users.

Apple-store-trendYour product/service is unique. And your customers are also unique. Keynote web load testing consultants dig into web analytics to model user behavior. They consider familiarity, tenacity, interaction speed and connection speed when developing virtual user profiles. It may be unrealistic for you to understand how different levels of performance impact your various customer types across all these variables. But if you can begin to understand them, you’ll be in a better position for setting ongoing performance goals and SLAs—especially around tolerances for outliers from your averages.

Posted by Aaron Rudger on March 21, 2012 at 03:02 PM in Current Affairs, Site Load Time, Transaction Monitoring, Website Performance Monitoring | Permalink | Comments (0) | TrackBack (0)

| |

Cyber-Awesome: Killer Performance Helps Drive Record Revenue

For years, Keynote has been monitoring the ‘net’s best websites and reporting on notable outages during the peak Black Friday and Cyber Monday online shopping period. Typically, we find that many online retail sites—both pure Internet and those with brick and mortar stores—experience some issues. But the trend has been towards better performance and higher availability. This year marks yet more progress toward the goal of a trouble-free and virtually instant shopping experience. And the numbers suggest the payoff for retailers has been huge: a record setting $1.25 billion in online sales for Cyber Monday, 2011.

The Keynote Top Retailers Index tracks 47 online shopping destinations. This year, the average website response time was 3.05 seconds. According to a study by IBM, online sales peaked at about mid-day, and spiked again later in the evening. Average response times across the Top Retailer Index reflected this pattern as peaking demand slowed sites. But the absolute impact even at its worst was only about 1 second of delay. That’s great performance across the industry as a whole.

December chart


Topretailer_avail_cyber_monday_2011Additionally, the availability of these websites remained extremely high throughout the period. Out of the 47 sites tracked, only 10 (21%) experienced any downtime at all and their average availability was around 99.0%.

So how did online retailers get to this pinnacle? We see that customers are maturing the technology, processes and culture of their Web Operations around a passion for performance and deep preparation. One example of this is Keynote customer Karmaloop.com Karmaloopwho rang up their biggest day in company history and over 100% more sales than the same period last year. Though careful planning and web load testing, they were able prepare their site for the demands of such a dramatic increase in traffic and order transactions.

The improving trend in website performance throughout the increasingly demanding Black Friday and Cyber Monday period is encouraging. But it also means that if your site experiences failure or less than stellar performance, your competitor is in a much better position to attract and retain your abandoning customers. Congratulations to the online retail industry for hitting a remarkable milestone over the past six days. Keep pushing performance higher through December!

Posted by Aaron Rudger on November 29, 2011 at 08:39 PM in Application Performance Testing, Current Affairs, Load Testing, Site Load Time, Transaction Monitoring, Web Load Test, Web Page Monitoring, Web Performance, Web Performance Testing, Website Availability Monitoring, Website Monitoring, Website Performance Monitoring | Permalink | Comments (0) | TrackBack (0)

| |

After the Storm: Of Aftershocks and Hurricanes

Hurricane Irene Reaches New York City What a week for the people of the Eastern Seaboard. Earthquake, then hurricane within a matter of days. Both events dominated the local and national news cycles, and struck in the very same geography. It appears that resulting damage was relatively low despite the historic magnitude of the quake, and the sheer scale of hurricane Irene. Interestingly, the impact of both events on the Internet and usage of the Web was dramatically different.

As we reported last week in our Mobility blog, the 5.8 magnitude Virginia earthquake demonstrated what studies have suggested in regards to the way people use the Web for accessing breaking news and information: they reach for their smartphones. Within hours of the quake, the Washington Post experienced outages and a huge spike in response time due to overwhelming demand across the major wireless carriers in the region, as well as its fixed-web property.
 
By contrast, the Washington Post, and other major news and weather websites did not experience the same degradation in performance when Hurricane Irene hit. This graph shows the availability of a prominent news network's mobile site throughout the week.
time series mobile availability week of Aug 22

We thought maybe the major weather sites would also show signs of stress as the hurricane approached. Here you can see the response time of one weather site throughout the event that shows a steady ramp over the week to its peak on Saturday, but no dramatic spike. (Post-event power outages in the region are reported to have since diminished Internet access.)

time series fixed weather site performance week of Aug 22

So why didn’t people grab their smartphones to continuously check on the advance of the hurricane? Many probably did. But the quake was a complete surprise, catching people outside of their homes in their schools, offices and shops. Warnings of Irene’s disaster potential were well reported. So although Irene has wrought an estimated $3-billion in damage—10 times more than the losses estimated from the Virginia earthquake—its impact on news and weather sites was minor in comparison.

Of Aftershocks and Hurricanes

What a week for the people of the Eastern Seaboard—earthquake, then hurricane within a matter of days. Both events dominated the local and national news cycles, and struck in the very same geography. It appears that resulting damage was relatively low despite the historic magnitude of the quake, and the sheer scale of hurricane Irene. Interestingly, the impact of both events on the Internet and usage of the Web was dramatically different.

As we reported last week in our Mobility blog, the 5.8 magnitude Virginia earthquake demonstrated what studies have suggested in regards to the way people use the Web for accessing breaking news and information: they reach for their smartphones. Within hours of the quake, the Washington Post experienced outages and a huge spike in response time due to overwhelming demand across the major wireless carriers in the region, as well as its fixed-web property.

By contrast, the Washington Post, and other major news and weather websites did not experience the same degradation in performance when Hurricane Irene hit.

We thought maybe the major weather sites would also show signs of stress as the hurricane approached. Here you can see the response time of one weather site throughout the event that shows a steady ramp over the week to its peak on Saturday, but no dramatic spike. (Post-event power outages in the region have since diminished Internet access.)

Posted by Aaron Rudger on August 30, 2011 at 12:03 PM in Current Affairs, Site Load Time, Web Page Monitoring, Web Performance, Website Availability Monitoring, Website Performance Monitoring | Permalink | Comments (0) | TrackBack (0)

| |

Script and Monitor SOAP APIs inside Your Private Cloud

By Ian Withrow

SOAP APIs, or Web Services, frequently form the backbone of private enterprise to enterprise communication.  Companies use these APIs to integrate value chains, share information, and integrate applications that depend on partners. While RESTful APIs may be taking the technology world by storm, SOAP still has an established place in private enterprise communications. Even as organizations migrate from dedicated physical resources to private and public clouds, SOAP APIs are likely to continue to play a role for now. As a result, web applications often depend on the information delivered by a SOAP API. As such if the API is slow then so too shall the application be. Thus it makes sense for businesses serious about performance to monitor their partner APIs, whether they are SOAP or otherwise.

In this post I will show you how to easily create an advanced SOAP script using the new enhanced functionality available in KITE 4.1, topics covered here include:

  • Step 1: Create a basic web services script
  • Step 2: Techniques for iterative development
  • Step 3: Advanced script editing
  • Putting your script to work with a Keynote monitoring agent

Note that I discuss how to script RESTful APIs in another post.

Step 1: Create a basic web services script

Public SOAP APIs are rare these days, most are private and require authorization.  For the purposes of this demonstration I will utilize the free, public Holiday Web Service API which supplies holiday dates for a small selection of countries.

To get started you’ll need KITE 4.1 or newer. If you don’t have KITE a copy can be obtained for free here. Launch KITE, and in the top left corner there should be a button that looks like a big red record button. Click the bottom half of this button which opens a drop down menu and then select ‘Create Web Service Script’ as shown below.

1- Record

You will be asked to select a service type, go ahead and select SOAP.

2 - Select Type

After clicking ok a Wizard will pop-up on your screen. This wizard will automatically generate an advanced script for you that will make a properly formatted SOAP request, parse the results into a log, and capture errors. First, load the WSDL file for your API. Next you select the function you want to call; in this case I want a list of supported countries. A sharp eye might to detect what seems to be a duplicate list of functions. In fact there are multiple versions of SOAP and you will see duplicates when the WSDL specifies the same method for multiple versions. For Keynote monitoring purposes they work the same.

3 - Wizard

When you are ready, click ok and you’ll see a new action added for you in the Script Viewer. 

4 - Script Viewer

The best practice suggests that at this time you should rename the action something logical by clicking on [Action] and editing the Script Property shown below. 

5 - rename action

Now we are ready to view our completed script, you can do this by clicking on ‘SOAP Script’ on the left, note that this too can be renamed. When you do you’ll get a new window, called Advanced Scripting. Please note if you have a lot of windows open in your KITE instance you may need to close or resize some to get the expansive view that I have below. We’ll explore the different elements of this script later but for now the key portion is shown below from row 36 to 53, this is the SOAP query that you’ve just created.  You can now double check and edit it manually using JavaScript. Note that the RequestXML variable contains just the SOAP envelope body if you are comparing it to a reference example.  If you needed to add login and authentication information this is the section of the code to do so, either be adding an additional KNWeb.AddHeader command or by including it in the RequestXML string.

6- advanced script

Once done, you click the ‘run’ button as normal to test out the script and see what results you get.  If everything works you’ll get a screen like the below shaded in green.

7 - success

For comparison here is what failure looks like, in this case I deliberately messed up the envelope by deleting a tag.

8- failure

Step 2: Iterative Development

In addition to the Wizard we’ve added three great tools for iterative development, which we’ll examine in turn within this section:

  1. Advanced script log
  2. HTTP request/response header payload viewer
  3. Using saved variables in subsequent actions

Advanced Script Log

After you run a script, the Advanced Script Log will be automatically updated and added to your screen as shown below. The log displays the request made as well as any error response details received. If the response was a successful, then the results are store into variables. For example, country code GBSCT is saved in the variable:

[GetCountriesAvailableResponse.GetCountriesAvailableResult.diffgr:diffgram.NewDataSet.Countries.Code]

I’ll show you more on how to use this in a second.

9 - advanced script log

HTTP Request/Response Header Payload Viewer

Sometimes I find it helps to see the exact request and response payloads. Now there is an easy way to do this. In the Transaction Performance Details window, which is typically right below the Advanced Script Log, right click the step or object that you are interested in and select View HTTP Payload from the context menu.

10 - http payload

Back on top you’ll get the below screen which shows you the exact headers and payloads, up to a character limit.

11- payload viewer

Using Variables in Subsequent Steps

Retrieving the list of supported countries is nice, but next let’s try to get some real information like a list of holiday’s for one of those countries. In this way our script can behave much like a real program on whose behalf we are monitoring performance. We know, from the parsing of the WSDL, that there is a GetHolidaysAvailable function. Let’s add a step using that method together with a saved variable from our first step. This would require the country code shown in the previous section from the Advanced Script Log: GBSCT.

Next we need to add a new step. This is done, as normal in KITE, by right clicking the script name in the Script Viewer window and selecting a new SOAP action as shown below.

12 - add action 2

We are at the Web Services Wizard again. This time we click on the ‘GetHolidaysAvailable’ function and a second popup is displayed asking us for input parameters. In this screen we will use the saved parameter as the input variable as shown below. Be sure to include the brackets then proceed as before by clicking ok.

13 - wizard part 2

Now when we check the results of our new script we see that the code generated is retrieving our saved variable.  This could also be done manually, as sharp readers will no doubt guess, but this way saves a lot of time and effort.

14 - set saved var

We can now run this two-step script and check the HTTP Payload of the second object to confirm we got the results we expected, in this case by double checking the countryCode.  As we’ll explore in in the next section, it is possible to extend the script to add your own custom validation logic on elements like this and throw errors depending on the results.

15 - confirm

The script is now done so we can save and upload it to Keynote for deployment to a monitoring agent.

Step 3: Advanced Script Editing

As I alluded to earlier, it’s entirely possible to manually rewrite the script created by the wizard and even modify the template itself. First though let me explain the organization of the built-in script template. Each script, both REST and SOAP, is organized into three logical sections as shown below. The red section is the parser which takes the results and saves them in variables. By default the script will usually only save one version of a variable, i.e. if you have multiple countryCode’s it will save only one, the last. This is fine in most cases, however there may be times when you want to enhance this behavior and that can be done here. The blue section is where the actual query is built, this code block will obviously be pretty different between REST and SOAP but the organization is the same. Finally, the purple section is where error handling is done. The built in error handling can catch HTTP as well as API errors; however you may wish to extend this functionality further. As mentioned previously, all of this is done in JavaScript.

16 - advanced editing

Let’s say you find yourself frequently updating the built in script functionality and want to make a global change. This can be done by modifying the files named wsdl.template and rest.template. These files are found in your application data folder under …/Keynote/Record/Config/. So for example in Windows 7 this would be username/AppData/Roaming/Keynote/Recorder/Config/. I encourage you to back up the originals before experimenting with this though.

Putting Your Script to Work with a Keynote Monitoring Agent

Now that you have created a brand new SOAP script you’ll need to setup some agents to run it. Since most SOAP APIs involve private application to application communication, Keynote’s Cloud Application Perspective (CApP) product is the ideal tool for the job. CApP is your very own Keynote agent which you can deploy in your own private or public cloud and even within an important business partner’s network. In this way you can monitor the SOAP API from where it is actually queried in order to get an accurate picture of performance.

 

Posted by Ian Withrow on August 17, 2011 at 11:57 PM in Application Performance Testing, Site Load Time, Testing Web Applications, Transaction Monitoring, Web Page Monitoring, Web Performance, Web Performance Testing | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: API, APM, application performance management, availability, Cloud, Cloud Application Perspective, Keynote, monitoring, performance, Private Cloud, Public Cloud, REST, RESTful, SOAP, Web API, web performance, Web Services

| |

Reason we load test

This afternoon while I'm at #VelocityConf, I saw this tweet (edited): “In 2008 avg web page was ~300K, 50 objects. Today 679K & 85 objects < Great answer for...Why you should load test." When a site is under load, the page size and number of objects is usually not the problem. We solved this delimna 10 years ago, and it's called a content delivery network. Anyone can deliver static content. The problem is application stability under load. Indeed, the cloud promises this but isn't a solution for good architecture and the hard work designing a system without singular bottlenecks. The real reason we load test is to determine how well the application scales under a realistic load, modeled correctly. How do you resolve the bottlenecks? Do you understand your system's queuing behavior? These are the real questions that load testing answers.

Posted by Donald E. Foss on June 14, 2011 at 01:51 PM in Load Testing, Site Load Time | Permalink | Comments (0) | TrackBack (0)

| |

Print vs. Digital - Which is faster?

Nick Bilton wrote about a recent experiement he did, here it is in his own words:

"I opened up my iPad, clicked on the little Wired icon and purchased the magazine’s latest digital issue. After I agreed to fork over $4, it began downloading. For the next phase of the experiment, I grabbed my car keys, left my apartment and drove about 12 blocks to a local magazine store in Brooklyn,  where I also purchased the latest issue of Wired magazine, this time in print.

I didn’t run any red lights, or speed, or park illegally during my shopping expedition. Yet when I returned home with the glossy paper product in hand, the digital iPad version still hadn’t finished downloading to my iPad. Anybody who reads Wired would call this an Epic Fail."

Print vs digital I'll admit I love print - can't beat the tactile sensation - but it's advantages vs. digital don't stack up in its favor.  I guess it never dawned on me that access, as in instant gratification, would be one of the things going for print over digital. 

The good folks at Conde Nast who publish Wired are smart folks and they've done a lot of things right.  But when it comes to one of the most important reasons why people like digital, well, they've still got work to do.

[Graphic from NYT.com]


Posted by Anshu Agarwal on February 07, 2011 at 05:10 PM in Site Load Time | Permalink | Comments (1) | TrackBack (0)

| |

Best in Class for Web & Mobile Performance Monitoring

These are heady times in the performance business. It's not the stuff that grabs headlines, but those who understand how the cloud works, know that performance can be its achilles heel.  Just today we hosted a Webcast with Cars.com, on the impact of 3rd party content on Website performance. The registration #s were through the roof.  There are a lot of site owners and Web ops folks who get it as evidenced by the questions we were getting. They are concerned by what all the ads and widgets are doing to performance.  There is tacit acknowledgement that what makes the cloud great - interconnectness - also sows problems.  Knowing when critical Web servcies and APIs are down is more important for a deeply networked application then one that merely relies on inhouse resources.  (This Webcast will be available on-demand shortly. You can download a white paper on the subject now.)  Best in Class

So it gives us great pride to be acknowledged for what we are doing when it comes to cloud performance monitoring.  What started off as just Website monitoring when Keynote debuted in 1997 has gone on to encompass so much more. Specifically, what mobile has brought is ubiquitous broadband on the go and sites such as Facebook and eBay are seeing such a high percentage of traffic and dollars coming from mobile, they've invested heavily to keep up with the demand.  We've responded with a suite of products to monitor and test everything from mobile content and applictions to networks and even sports stadiums.  

With on-demand services for both Web and mobile, we believe we have the most complete offering for cloud performance monitoring in the industry.  EMA, a tech analyst firm, agrees, hailing our offerings as "best in class".  (Read the full report.) 

 

Posted by Anshu Agarwal on February 01, 2011 at 03:10 PM in Site Load Time, Web Page Monitoring, Web Performance, Website Performance Monitoring | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: Keynote best in class for Web and mobile performance monitoring

| |

What do AdSense, Friend Connect, and Tribal Fusion have in common?

All three of these services were demonstrated by Google researchers to impact Website performance by double-digit percentages. They are not alone, of course, but representative of the kinds of things that can create bloat on a Website and degrade user experience.  Of course 1 person's bloat is another's person's manna so the best thing to do is 1) find out what 3rd party content is featured on your site and 2) keep watch on how these 3rd party services are performing.  As Web operations teams well know, knowing is half the battle and in no case do you want to be caught flat-footed, without knowledge of what's happening on the Website you are responsible for.

We've made the job of tracking performance for 3rd party content easier for your Website.  It's called Virtual Pages and it works just like the other Web performance monitoring services you've come to rely on from us. Our customers love it and so it gives us satisfaction knowing we're helping them tame the 3rd party content tiger.

Posted by Anshu Agarwal on January 27, 2011 at 12:43 PM in Site Load Time, Transaction Monitoring, Web Page Monitoring, Website Monitoring Service, Website Performance Monitoring | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: 3rd party content, Website performance

| |

The Website Sausage Factory and Impact on Performance – a TechCrunch Case Study

By Ian Withrow

As we’ve discussed in various blog posts, websites are like a sausage.  Ok maybe not so directly, but like a sausage they are made of ingredients than come from many sources even though they are presented in one tidy package to the user.  Today I’m going to break apart the sausage that is the TechCrunch blog, show how this can be easily done for any website using KITE, and as a special bonus show how a sausage maker can monitor all the pieces of their links using a Keynote technology called Virtual Pages. 

TechCrunch Composition

First a fair warning: just like with sausage making, finding out what is inside your favorite website is not always pretty.  If you feel you are of a squeamish disposition then you have been warned.  Second, note that all details in the post are from the time of writing and the balance of ingredients is likely to change overtime.

TechCrunch is a behemoth of a site, weighing in at just over 4 MB of data, 329 page elements, and a whopping 65 domains.  About half of this comes from them directly or really via Wordpress who is evidently the platform they use to power their blog.  The rest comes from over 20 3rd parties.  You read that correctly, 65 domains in total and half the content originates from someone else.  After direct content the next biggest category is from social sites; Facebook, Twitter, and tools related to these properties total about 1 MB.  Google is about a 500 KB and the ‘Misc.’ category of various 3rd party tools that TechCrunch uses to improve user experience is about 200 KB.  Ads and ad related content are about 180 KB.  Below is a snapshot from KITE breaking it out for you.  (Note you need to complete the process in the next section to actually get this view)

Download Size


Now it’s time for a few fun observations.  The amount of content from Facebook and Twitter is huge!  Each alone is bigger than most websites are in total.  Digging into this is unfortunately off topic for this post but it is definitely something on my radar screen for the future.  Another interesting area is the level of user tracking that goes on.  I could identify at least 6 different 3rd parties that were tracking TechCrunch visitors, not including Google and Facebook.  TechCrunch knows what you are, if not who.

Finally, while these stats make it seem like TechCrunch is hardly advertising, understand that TechCrunch is a very, very, very long page (vertically) and all the ad content is at the top where the user is most likely to see it.  They aren’t dummies giving away their yummy sausage for free.

Scripting Sites for 3rd Party Monitoring & Analysis

To make sense of this mess I used Keynote’s KITE product.  There are a lot of other great, free products out there that one can use to view all the content and domains of a page.  However, KITE has the ability to permanently parcel out these domains into what we call Virtual Pages for ongoing monitoring and analysis.  Note this section won’t be a detailed how-to; I’m going to focus on highlighting what is possible with the tool.  After which you should be prepared to experiment or watch this training video depending on your learning style.

After downloading TechCrunch in KITE I organized the content by domain as shown below.

Transaction Performance Details

This lets me easily see the composition and breakout of a page in a manual fashion.  If I just want to see the domains I can simply collapse the domain groupings.  There are tons of options that I can add to this view like content size and various time breakouts based on my interest.  Here is a complete list:

Keynote Components List

With just this you can see that I can casually learn a lot about the page.  However, if I’m serious about how TechCrunch and its 3rd parties perform then I need ongoing data points.  If I’m going to gather a lot of data then I don’t want to do this parsing and analysis manually, it just won’t scale.  The solution is to organize this content into permanent logical pieces.  For example, in a simple scenario I’d carve out a Virtual Page for my advertising so I could monitor and analyze the performance of that content separately from my content with Keynote.  As you can imagine the more complicated your site becomes, the more important this exercise is.  True you can always pick through a waterfall manually to see who did it in the event of the problem but if you want to have ongoing data about 3rd party performance or be proactive with alerts then you’ll need something like Virtual Pages.  The nice thing is once you’ve designated content into a Virtual Page you can monitor and analyze it like a regular page.

Let’s discuss how I broke-up and organized TechCrunch.  Please note I’m not holding this up as the standard for the best or only way to use Virtual Pages.  One thing we need to keep in mind is cost.  Each page (virtual or otherwise) adds to the cost of the measurement and so in the real world we probably can’t go hog wild with these.  Given an unlimited budget I’d define a Virtual Page for each 3rd party, possibly even one for each domain if I was especially crazy for detailed data.  My guess is you live in the real world and even if your site isn’t as complicated as this one you’ll need to create some buckets.  Most likely you’d start with prior experience, defining Virtual Pages where you knew or suspected there was a problem.  Here I simply broke the site into the following logical categories:

  • TechCrunch direct content plus AOL
  • Google (but not Google owned advertising)
  • Facebook
  • Twitter (and related tools like Postup)
  • Wordpress (even though this is the core of the site, I want to evaluate my vendor here)
  • Misc. Tools and Widgets for the users
  • Analytics and User Tracking
  • Ads and Ad related content

Why no CDN category? We certainly encounter CDN’s here but each is tied to a specific 3rd party.  Facebook has its own CDN, the ad platforms have CDNs and so forth.  So instead I left the CDN’s with their respective masters.

Here is a brief teaser for how this is done in KITE

Step 1) Pick the URL you want to virtualize and run the page once (we did this already)

Step 2) Right click on the page in question and select ‘Insert Virtual Action’

Add Virtual Action

Step 3) We now have a new Virtual Page at the bottom of your script.  Right click ‘Match Page Elements’ and select ‘Add URL Match’.  Here I’ve used the naming convention “vp:TechCrunch” to distinguish Virtual Pages from real pages.  You can name them anything you want in practice though.  There are other options that you can use to construct Virtual Pages, such as content type, that have interesting possibilities but to address 3rd party content, URL seems ideal to me.  As you see below I’ve created a list of URL matches that should capture all the differently named TechCrunch domains.

Add Page Match

Step 4) In the Script Properties Editor you can create the settings for each URL Match.  Note in my script I used a variety of regular expressions so that I could get away with far fewer rules than the 65 domains and still cover all of the page content.

Script Properties Editor

Note that to do this I never had to write any code or do any advanced scripting.  It was all point, click, and form completion.  Hopefully by now you can see how easy it is to create Virtual Pages in KITE and have an idea of its possibilities.

How can I Benefit from Virtual Pages?

The obvious and immediate answer is you can now isolate and monitor the performance of certain 3rd parties or subsections of you website.  If Facebook slows down you’ll know immediately and explicitly that this is case regardless of the overall impact on your performance.  Moreover, you can easily track and directly report on the performance of these guys overtime without needing to manually crunch the data and objects yourself.  Another interesting possibility is you could monitor your own additions to your site to see how they fair.  Finally, another angle might be to isolate and monitor all the Javascript that your site utilizes.  There are a countless number of ways that Virtual Pages might be used, and my list probably just scratches the surface.  Have fun with it!

 

Posted by Ian Withrow on December 31, 2010 at 10:55 AM in Site Load Time, Testing Web Applications, Transaction Monitoring, Web Page Monitoring, Web Performance, Web Performance Testing, Web/Tech, Weblogs, Website Availability Monitoring, Website Monitoring, Website Monitoring Service, Website Monitoring Software, Website Performance Monitoring | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: 3rd party content, TechCrunch, Web Development, Web Monitoring, Web Performance

| |

Elevate Performance Awareness in your Company by Publishing Keynote Graphs

By Ian Withrow

I’ll warn you right off this isn’t my typical post about a concept or a market trend.  I’m going to straight up show you how to do something cool in MyKeynote that’s available right now: export a saved graph.  Why you ask would anyone want to do this?  It’s the perfect way to raise visibility within your organization about the valuable information that your Keynote measurements generate.

In many of the organizations I talk to, Keynote data is an invaluable tool for IT and operational groups but it’s a shame in my opinion that this information doesn’t get out to groups like product management and sales as readily as it should. So today I’m going to show you how to create a graph in MyKeynote that will provide an ongoing view into the performance of your website or application.  I’ll also suggest some types of graphs different business functions might be interested in.  Finally, I’ll spit ball some ideas on how you might distribute this information.

First Create and Save a Graph

First, before we can become heroes (or villains who dare speak the truth) we need to figure out how to actually share a graph.  The first part of this is a routine MyKeynote process so stick with me or skip down to the next section if you already know how to save a graph.

 To start, we head to the graph section and perform the following steps:

  1. Select the measurement we want to graph.  This could be more than one measurement if we wanted to make a comparison.  I’ve gone with the Keynote Business 40, The Keynote Business 40 Internet Performance Index (KB40) measures the average download time for the home pages of 40 important US-based business Web sites.  To find out more go here.
  2. Pick the graph type, time history is a great option to show performance overtime.
  3. Time period is up to you but its important use to a relative period if you want your graph to have permanent relevance.
  4. Finally I’ve elected just to show performance to keep things simple in this post.
  5. Ok let’s generate the graph, this graph is a big one with a lot of data and measurements in it so it takes some time to generate.  Keep in mind how long your audience will wait when you setup your graph.

Graph Creation v2

Once generated, save the graph using the menu in the top right hand corner.

Save Graph

The next step is important not to mess up so read carefully.  Name your graph whatever you want and click save.  You’ll get a dialog window like the below.  If you want a ‘relative’ graph you need to choose “Cancel”.

Relative Graphs
Retrieving the URL for your Graph

Ok now we are done with MyKeynote and for the experienced users out there you may note that we haven’t done anything unusual or new yet.  Now for the trick!  Keynote actually publishes your saved graphs in two heretofore undocumented RSS feeds.  One feed publishes the entire MyKeynote graph page, complete with legend and the other publishes just the graphs themselves.  Those feeds are:

  1. For the full graph page: http://my.keynote.com/newmykeynote/mykeynoterss.do
  2. For just the graph:  http://my.keynote.com/newmykeynote/mykeynoteembed.do

You’ll find that visiting one of these feeds requires you to login in to your MyKeynote account.  Do so with a browser like IE or a feed reader that can handle authenticated RSS feeds and you’ll see something like this.

Graph RSS
The URL behind Keynote Business 40 and any other graph is permanent (as long as the graph is saved) and can be requested by clients without logging in.  Note that you can also get this link from the MyKeynote home page “Saved Graphs” widget.  There you can find an RSS feed button that will provide the same view above.  Below is an example of what the link provides:

KB40

Putting your Data to Work

This is a handy feature to be sure but how best to make use of it? Well at the simplest level you could simply distribute the link internally to interested parties.  Better might be to embed this page within another page, such as your companies Intranet.  Perhaps the cleverest idea I’ve encountered so far is to actually serve different graphs based on the organizational function of the user logging into an internal knowledge base site.

Presumably different groups want to know different things.  A product manager or marketing manager needs to know how their key pages or transactions are performing and for a large company there may be multiple product areas with different interests.  Developers may want to track their pages to see the impact of any code changes.  In contrast sales may wish to see the company’s page benchmarked against key competitors.  Any outage in a competitor’s site can provide an immediate piece of FUD to use.  Similarly a problem in their site is a heads up that they may be getting customer complaints.  As you can see timescale, graph type, and level of detail can easily vary based on the user’s interest.

As mentioned earlier it’s important to consider load time.  Generating graphs of measurements from many agents over a long period of time can take a few minutes.  You may want to limit the scope of your graphs to something that can be quickly generated to maximize the amount of attention it gets from viewers.  A drill down graph can easily be referenced to for users who are willing to wait for more details.

This feature is new and we see a lot of areas to make it even better.  Let us know how you make use of this feature and what improvements you think are most important to improving its impact.

Posted by Ian Withrow on December 16, 2010 at 04:42 PM in Application Performance Testing, Site Load Time, Transaction Monitoring, Web Page Monitoring, Web Performance, Web Performance Testing, Web/Tech, Weblogs, Website Availability Monitoring, Website Monitoring, Website Monitoring Service, Website Monitoring Software, Website Performance Monitoring | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: Cloud, Internet, Keynote, Performance, Web

| |

Next »

Search

Connect With Keynote

  • Subscribe to RSS
  • Follow us on Twitter
  • View us on YouTube
  • Signup for our Newsletter
  • Other Keynote Blogs:
    • Keynote Web Privacy

    • Keynote Mobility

Keynote Web Performance Watch Blog

A forum for discussion and commentary on technology, trends and
touchpoints of interest to the Web performance community.

Recent Posts

  • Did You Fall When Facebook Stumbled?
  • Open API Access to the Keynote Business 40 Index Data
  • Another Win for Keynote Customers
  • Guidelines for 3-screen Performance Management
  • April Release
  • KITE 5: Introducing New User Experience Metrics
  • Speed and Tenacity: the Apple iPad Outage
  • Test Your Site on IE 9 and Measure User Experience
  • Making IT Matter
  • Up on the Roof Top… Click, Click, Click

About This Blog

  • • About
  • • View Archives
Copyright © 1995-2012 Keynote Systems, Inc. All rights reserved.


  • • Terms of Service
  • • Privacy Policy
  • • Site Map
  • • Support