[off topic] Weird ramp artifact in periodic measurements

You can talk about almost anything that you want to on this board.

Moderator: Moderators

Post Reply
User avatar
clueless
Posts: 496
Joined: Sun Sep 07, 2008 7:27 am
Location: Seatlle, WA, USA

[off topic] Weird ramp artifact in periodic measurements

Post by clueless »

Hello everyone,

(Disclaimer: This is NOT nesdev related. But you all are a bright group of people, so I was hoping that you could help).

I am searching for the formal name for a phenomenon that I'm seeing in some web site performance monitoring (graph below).

First, a description of what you see. The independent access (linear) is the wall-clock time when a sample was taken. The dependent access (logarithmic) is the response time of a web server (private, internal to my network) to return a small, static image, in seconds (same image, same URL every sample). You will notice an anomaly around 6:42: ignore it (I restarted the server then).

The sampling was done with a perl script running on a Linux virtual machine in VMWare ESX. The target web server is running in a Solaris zone, on the same network (no router or firewall between client and server, just two OSes, one hypervisor and one Ethernet switch). The response times tend to average under 10ms, which is ok. Samples are taken every 10 seconds and stored in an sqlite database. A separate perl tool extracts the info and feeds it into gnuplot, creating the resulting PNG.

The reason for this post is that I'm trying to learn:
  • Is the visual artifact just an artifact of the graphing methodology, or actually present in the raw data.
  • An explanation for the ramping seen (one ramp is from ~7:10 to 7:52 and another from 7:52 to 8:40).
  • Technical name for this type of graphing artifact, so I can go read more about it.
  • Is there any significance to the period of the ramp? In both systems where I see this artifact, the period is very regular, and does not correlate with any system load.
I've seen artifacts like this for many years and never knew why they existed. They exist right now in some performance graphs for an unrelated NFS server (NFSv3 IO/s) when viewing the graph zoomed way out, such that an hours worth of data is only a few pixels wide.

There are two graphs below. The smaller (800x400) shows a larger time range, with multiple samples sharing the same X coordinates. Gnuplot just overlays the lines from one data point to the next. This image is included because its easy to look at without needing a super-wide display. The larger image is nearly 1600x800, shows a smaller time range and still clearly showing the ramping artifact.

Image

(I dislike super-wide images that force me to scroll a post left-to-right to read each sentence. So this image is NOT inline. Just open it in a new tab)
http://www.ecoligames.com/~djenkins/Mis ... _large.png

Thank you kindly for your time.
User avatar
Nioreh
Posts: 115
Joined: Sun Jan 22, 2012 11:46 am
Location: Stockholm, Sweden

Post by Nioreh »

This type of pattern is usual in memory usage in modern languages using garbage collection. I have never seen it on performance like this, but perhaps the two are connected.
User avatar
clueless
Posts: 496
Joined: Sun Sep 07, 2008 7:27 am
Location: Seatlle, WA, USA

Post by clueless »

Interesting. The target web server is running on a java stack. I wonder if the "reset" of the ramp coincides with a system garbage collection. Thanks for the insight.
Post Reply