
Below are details of how WeatherBug performs testing on the WeatherBug
application and how you can perform these tests yourself on the WeatherBug
application or any application to monitor CPU, Memory and Network usage over
time.
How to log application performance
To get a detailed look at the actual WeatherBug CPU and Memory usage, we can use
the performance monitor application to view how the CPU usage varies over
time. You can access the performance monitor application in windows by
choosing "Run" from the Start Menu and typeing in perfmon.msc and hitting
enter. The following window will appear on your screen:

Right click on the "Counter Logs" item that is selected in grey above enter the
name WeatherBug for the "New Log Settings" as seen in the figure below.

After clicking OK, you will see the following dialog:

Next click on "Add Counters" and add CPU Usage for the "Weather" process as seen
below:

Continue to add the %Privileged Tim and %User Time as well as the "Working Set"
(The Working Set is the related to the amount of total Memory that your
application is using). When you hit the close button, your dialog should look
like the following:

Then change to the "Log Files" tab and make sure that it looks like the
following dialog:

Now click OK, and then right click on the WeatherBug item that is now on the
list and choose "Start". This will start creating a text file that has the CPU
usage of the WeatherBug every minute for as long as you want to store data.
There will be a new text file for each hour the the performance monitor runs.
Once you have let this run for a while, import this data into an Excel
Spreadsheet and perform some analysis of the CPU and Memory Usage over time.
Below are the results from the tests I performed. These tests were run on my
main computer that I use at work. For the duration of the test, I will leave my
WeatherBug application running in the background.
A Detailed look at WeatherBug CPU Usage
I let the perfmon log file run from 7:52PM last night until 11:23 AM this
morning. Now lets take a look at the average, and Peak CPU usage. The
WeatherBug has been running the whole time in the system tray only. I have not
brought the WeatherBug to the foreground during this time period at all.
%Processor Time: 0.00323% Average CPU usage, 0.26% Maximum CPU
Usage
%User Time: 0.00114% Average %User Time, 0.13% Maximum %User
Time
%Priveledged Time: 0.00209% Average %Privledged Time.
As you can see (and you can run the tests for yourself), the WeatherBug takes
negligible CPU resources when running in the system tray.
Detailed look at WeatherBug Memory Usage
The "Working Set" values that we logged to look at WeatherBug memory usage are
not exactly the same values that you see for memory usage when you look at the
individual processes in task manager. I am not sure why Microsoft does not have
a value for memory usage in the performance monitor application that
corresponds to what you see in task manager, but I think this is the closest
value. Here is what we see in the log file for the working set for WeatherBug:
Average Working Set: 10.437MB
Minimum Working Set: 10.301MB
Maximum Working Set: 10.575MB
As you can see, the memory usage of WeatherBug is very constant. Also, as I will
show later, this amount of memory usage is very comparable to what AIM or Yahoo
Messangers use.
Detailed look at WeatherBug Network Usage
Now we will take a look at WeatherBug network/bandwidth usage. The best program
I have come accross that allows you to monitor network usage by application is
called CommView, which is developed by TamoSoft.
The following picture shows how CommView looks. I have highlighted the last 2
columns which show the process name, and the number of bytes transferred to a
certain host.

To measure the average bandwidth usage for a particular process, all you need to
do is allow CommView to capture the total number of bytes transferred over a
fixed time period and the average bandwidth usage will be equal to "Total Bytes
Transferred"/"Total Time".
For the WeatherBug, I ran the test for 24 hours and here is the data that I
gathered.
Measurement Start Time and Date: 6/1/2005 12:54PM
| Measurement Time |
Elapsed Time |
Bytes Transferred |
Avg Bandwidth Usage |
| 7:31PM 6/1 |
1980 Seconds |
7,907 bytes |
32 bits/sec |
| 7:24AM 6/2 |
44,760 Seconds |
142,626 |
25 bits/sec |
No consider that in general a modem today has a capacity of around 56,000
bits per second and a T-1 line has a capacity of 1,500,000 bits
per second.
So for a modem user, WeatherBug is taking up about 0.0004% of availabe bandwidth
and for a company on a T-1 line, a WeatherBug user is taking up 0.000016% of
the available bandwidth resources.
I invite all IT folks to take the same approach that I did above and see for
yourself that WeatherBug is very light on Bandwidth usage.
One complaint that i do get is that WeatherBug generates a TON of log entries in
my firewall logs. This is true. One thing that WeatherBug does is make an HTTP
call back to our servers every 5 minutes to check for severe weather alerts and
homeland security alerts that are issued by the National Weather Service and
the Emergency Broadcasting System. This will generate quite a few entries in
the firewall log file, but all of these requests for data or VERY VERY small
and should not be a major concern. It is definitely worth the fact that these
alert checks could literally save yours, or an employee of yours life.
WeatherBug Resource Usage compared to similar applicaitons
| Application Name |
Avg. CPU (Rank) |
Average Memory (Rank) |
Avg Bandwidth Usage (Rank) |
| WeatherBug 6.05 |
0.01423% (5) |
9,402,897 Bytes (2) |
28 bits/sec (2) |
| TWC Desktop Weather |
0.28103% (6) |
22,814,830 Bytes (4) |
37 bits/sec (4) |
| AccuWeather Desktop Alerts |
0.01169% (4) |
33,240,555 Bytes (6) |
152 bits/sec (6) |
| AOL Instant Messenger 5.9 |
0.00662% (3) |
15,099,624 Bytes (3) |
38 bits/sec (5) |
| MSN Instant Messenger
|
0.00015% (1) |
2,737,493 Bytes (1) |
31 bits/sec (3) |
| Yahoo Messenger
|
0.00610% (2) |
25,295,853 Bytes (5) |
3 bits/sec (1) |
| Average |
0.05330% |
18,098,542 Bytes |
120 bits/sec |
| MAX |
0.28103% (TWC) |
33,240,830 Bytes (AccuWeather) |
152 bits/sec (AccuWeather) |
| MIN |
0.00015% (MSN) |
2,737,493 Bytes (MSN) |
3 bits/sec (Yahoo Msgr) |
The results are in!
WeatherBug ranked 5th in terms of average CPU usage, but it was well below the
CPU usage of The Weather Channel Desktop app and is very comparable to the
AccuWeather aplication. The CPU usage of all these applications is very low and
does not take a significant amount of computer resources.
WeatherBug ranked second best in terms of memory usage, it was even well below
AOL and Yahoo Instant Messangers. As compared to the other weather
applications, it uses much less memory resources than both the Weather Channel
Desktop Weather AND AccuWeather Desktop Alerts.
WeatherBug also ranked second in terms of using the least amount of bandwidth.
Yahoo Messanger had by far the least (I will probably test this again...maybe I
was loggesd out). The AccuWeather Desktop Alerts uses the most bandwidth at 152
bits per second.
So, there you have it from a competitive standpoint, WeatherBug is definitely
not a resource hog as it compares to other applicaitons!
See for yourself. You can use the same methodology that I spell out in the
document above. Let us know if you come up with different results by emailing
our support team at support@weatherbug.com.
I re-ran all of the Resource comparison tests on another computer just to make
sure that all of the results were similar. Here is what I got the second time
around...I also added in a new desktop applicaiton called ModYa which is an RSS
aggregator.
| Application Name |
Avg. CPU (Rank) |
Average Memory (Rank) |
Avg Bandwidth Usage (Rank) |
| WeatherBug 6.05.0.15 |
0.01027% (4) |
8,556,686 Bytes (2) |
36 bits/sec (3) |
| TWC Desktop Weather 4.24.0.0 |
0.31157% (7) |
17,992,734 Bytes (4) |
37 bits/sec (4) |
| AccuWeather Desktop Alerts 2.33 |
0.01999% (5) |
18,137,102 Bytes (5) |
155 bits/sec (6) |
| AOL Instant Messenger 5.9.3702 |
0.00772% (3) |
7,644,094 Bytes (1) |
38 bits/sec (5) |
| MSN Instant Messenger 7.0
|
0.00382% (1) |
8,600,606 Bytes (3) |
16 bits/sec (2) |
| Yahoo Messenger 6.0.0.1922
|
0.00443% (2) |
27,703,072 Bytes (7) |
8 bits/sec (1) |
| ModYa 0.5.27.1 |
0.09490% (6) |
20,802,905 Bytes (6) |
603 bits/sec (7) |
| Average |
0.06467% |
15,633,885 Bytes |
127 bits/sec |
| MAX |
0.31157% (TWC) |
27,703,072 Bytes (Yahoo Messenger) |
603 bits/sec (ModYa) |
| MIN |
0.00382% (MSN) |
7,644,094 Bytes (AOL IM) |
8 bits/sec (Yahoo Msgr) |
The results did not change significantly, which validates the prior test that I
performed. The WeatherBug still ranks very well when put up against similar
applications. In this second test, it beat out all competitive weather
applicaitons in all categories.
WeatherBug will continue its efforts to maximize the efficiency of the
WeatherBug application as we come out with new products, this will always be a
driving factor in our product development to ensure that minimal resources are
used on your computer.
Chris Sloop
|