Characterizing network performance from the user's point of view

The history of networking at KU is puctuated with periods of relatively and/or acutely poor performance. There have been days when the network stopped cold and days or weeks when it just slowed down enough that users worried about whether it was still working.

Sometime in 97 we thought we might be able to develop some tools to reassure our users that the network remained functional, and on top of that we wanted to have some way to "characterize the user experience," to get some idea what users had to deal with.

To explore this idea, I wrote a little script called the "Netometer," that would ping each of 10 sites 10 times, and report results. It occured to me that this approach could be replaced with a background script to do the pinging and a foreground script to report the most recent results. Using this model, I linked the Netometer frontend from the Network Control Center's Web page and have been archiving results from the backend ever since.

You can look at archived results in the Netometer archives.

I also wrote a simple " Webometer" around that time, but didn't migrate it to the foreground/background model or archive results until early 2002.

The Webometer archive is currently available, along with some scripts I wrote to use the archived data to answer some nagging questions. For example, I've always wondered:

  1. whether the Netometer ping times are exponentially distributed (something for which one might hope if interested in building queuing models of the network),
  2. what the phase space view of the Netometer data would look like (if one dabbles in chaos work), and
  3. whether the Netometer times correlate with the Webometer times when paired with respect to when they were measured....
With regard to the first question, I wrote a little script to produce a frequency table and do a simple test for "exponentiality,"

With regard to the second question, I wrote a script to chart the data in phase space, along with another script, the attractidact, to

The idea here was to look for patterns in the data that remain hidden without looking in phase space. The chaos literature recounts numerous examples of functions whose underlying order is revealed by phase space graphs, and the script to show sample functions gives users an opportunity to experiment with some of them.

With regard to the question 3 above, I wrote a script to graph and correlate the Netometer ping times with the Webometer access times. Correlations on the March 2002 data run around .3, explaining a grand 10% of the variance.... not unexpected, of course, but unrewarding. Actually, by carefully choosing subsets of the week to examine, correlations up to around .5 sometimes emerge, and correlations on the data from the first 3 days of April gave .77 with the extreme outliers removed.

I expected relatively high correlations because initial results "seemed" to me to show that both the ping times and Webometer access times rose during peak use...which they (sort of) tend to do. However, they also rise and fall, mostly independently of one another, throughout the day, resulting in such low correlations....and leaving me wondering how to "characterize the user experience."

One thing is certain....When I ask the network guys how well the network is running they usually point me to the MRTG graphs, which frequently show a flat line during most of our peak periods. To me that means we're cruising fast, but there's no way to know whether we're going in the right direction.

When I ask for some sort of throughput or "effective throughput" measure, I don't get much response....their job, after all, is to make sure our connections keep running, not necessarily to make sure we're getting the most "bang for the buck".


If you have comments or questions about these services, please contact Michael Grobe.