Deploying TMG Reporter on Virtual Machines and Monitoring Server Performance
Determining the system requirements you need to run TMG Reporter depends largely on the Forefront TMG configuration that you have, the logging method and the volume of log records being generated. There are recommended minimum requirements for TMG Reporter, but larger enterprises may need to allocate more resources to process their larger log volumes in a timely manner.

One thing that makes TMG Reporter so useful is that it monitors Forefront TMG’s log files in real time to generate its live interactive dashboard.  As long as TMG Reporter can process logs at the same rate as they are generated, everything will function properly without lag. You can tell if it is starting to lag behind when the TEMP folder starts to grow. By default this will be C:\ProgramData\Fastvue\TMG Reporter\Temp.

Benefits of Virtualization

Installing TMG Reporter on a Hyper-V VM has a number of advantages over physical servers.  Daily Internet usage generally follows a very predictable pattern that matches work hours as you can see by the “typical” usage graph below. Forefront TMG’s log file volume varies accordingly throughout the day, and therefore so does the TMG Reporter workload. Installing TMG Reporter on a virtual machine on shared hosts makes sense, as system resources can be dynamically allocated and deallocated as required.

Forefront TMG Deployment Example

As a reference this article will cover the system configuration and performance for a site that contains 2 Forefront TMG servers in an array used as a forward proxy that transfers about 150GB of data each day.

TMG Reporter’s average day time record import rate is around 20 000 to 25 00 records per second aggregated across the two Forefront TMG array members.  The Forefront TMG servers are logging to Native SQL Express on each member server.

Fastvue TMG Reporter VM Configuration

TMG Reporter is an x64 process and as such requires an x64 OS to run. Windows Server 2008 R2 is the recommended platform but it is also possible to run it on the x64 versions of Windows Server 2008 or Windows 7.

Since the virtual machine’s performance is linked to the physical hosts performance, use the below statistics as a guideline and not a hard configuration benchmark. The reference virtual machine has been configured as follows:

  • Windows Server 2008 R2 Standard
  • 4 x Virtual CPUs
  • Memory is set to dynamic starting with 2GB with a maximum of 8GB
  • 1 x 120GB Dynamic HDD
  • Single network

The VM has been configured with Dynamic RAM so if the amount of available RAM drops below the buffer threshold it will be allocated more RAM by the host. A feature here is that the VM can call on more RAM if it needs it, such as during the generating of reports. Conversely it will also release it once it is no longer required.

Monitoring the TMG Reporter Process

TMG Reporter runs as a single service identified as ‘Fastvue TMG Reporter’ in Services.msc, but the actual executable is called Fastvue.Dashboard.Service.exe (a hangover from v1.0 when the product was called the Fastvue Dashboard). If we open up resource manager and isolate the Fastvue.Dashboard.Service.exe we can see the following.

CPU

The service runs 30 + active threads that spread nicely across your CPUs. The average CPU% usage is around 30% but spikes and drops as records are polled. The amount of threads is determined by the amount of CPUs and or Cores.

Memory

The service uses about 600MB committed memory that fluctuates up and down marginally. Coupled with a normal OS and system usage it will generally consume 3GB of RAM from the host.

The numbers above can be considered the baseline usage.  When reports are being generated the CPU and memory usage increases.  In this configuration the increase and decrease of resource allocation is automatic.

Network

There are two line items, one for each Forefront TMG server being accessed.  You can also see that the active amount of data being received from each server is only around 100KB/sec.

Storage

Virtual machines also need storage and this is where the largest variance between deployments will come in. Depending on what your data retention period is, you will need a suitable amount of storage. On this configuration the amount of storage required per day is about 3GB.  So to keep enough data to always report on the past month, you would need a retention policy of at least 96GB.

You can set the data retention period in Settings | Data Storage.

Here you can specify which limit you would like to enforce. You can choose either the number of days or a size limit.

A nice feature that virtual machines afford is that they can grow or shrink the virtual drive size. Thin provisioning allows you to only use as much space as needed, despite what the configured partitions size is. Windows Server 2008 R2 allows you to also grow or shrink partitions accordingly.

You can also choose to move your data location on this screen. You might for instance prefer to use a second virtual disk to keep application data separate from system data. A nice feature here is that you can move the location at any time.  Just be aware that when moving the data location, new log records will not be imported during the move. Therefore if you have a large amount of data already imported, the TMG Reporter dashboard may appear unresponsive during this time. You will also need to manually delete the original files once the transfer is complete.

I/O Operations

We can add additional columns to Task Manager to monitor the amount of I/O read writes and the I/O Byte values.  If you monitor this for a while you will notice that it is a very linear and predictable increase over time.  In this particular screenshot you will also notice the peak Working Memory Set is around the 2GB mark. This would be a stage when additional RAM is used from the host and then released again.

Additional Tracing

If you would like to get even more information about the Fastvue.Dashboard.Service.exe you can use two excellent tools from Microsoft SysInternals. Process Monitor and Process Explorer. They are available from http://technet.microsoft.com/en-us/sysinternals/bb545027

Shared Configurations

TMG Reporter can be installed on a shared IIS role enabled server. During the installation wizard you have the option to select an existing website. The site must exist before the wizard is started otherwise it will not be available for selection.

At this stage you cannot run more than one instance of TMG Reporter per server. If multiple instances of TMG Reporter are required, they need to be installed on discreet servers.

Conclusion

Specifying an optimal system can be difficult as requirements vary with deployment variations.  TMG Reporter has no physical server dependencies, so it will work on physical servers as well virtual servers hosted on hypervisors such as Hyper-V, VMware and XenServer. Using virtual servers allows you to dynamically provide resources if and when they are needed. It is also be possible to use hosted virtual machines such as Virtual Box, VMware player and Parallels, however performance is generally not as good as a proper hypervisor.

For more insight as to why the system requirements are what they are check out our blog entry: Fastvue TMG Reporter’s System Requirements Explained.