My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
MINT_Performance_Testing  
When using Windows, ensure HTTP is handled by the HTTP.sys kernel driver.
Updated Sep 29, 2010 by adamjwei...@gmail.com

Contact information:

Adam J. Weigold
Software Engineer
Vital Images, Inc
aweigold@vitalimages.com


MINT Performance Testing

Summary

When running MINT on Windows ensure that HTTP requests are handled by the HTTP.sys kernel driver. Serving HTTP without HTTP.sys causes significant latency due to user/kernel mode switching1.

Testing environment

Server:

  • Dual Intel Xeon E5620 (2.40GHz, 2400Mhz, 4 Cores, 8 Logical Processors)
  • 12 GB Physical RAM
  • Intel 82574L Gigabit Network Interface.
Client system was running Red Hat Enterprise Linux 5.5 (RHEL) and connected via crossover Ethernet directly to the server. Curl was used to measure transport. Curl redirected output to /dev/null to ensure client disk latency was not a factor.

Ex:
curl -o /dev/null http://{ip}/MINT/studies/{uuid}/DICOM/binaryitems/all

To configure the IIS AJP ISAPI redirector:

Testing methodology

Server was loaded with Windows 2003 Standard R2 x64 SP2, Windows 2008 Enterprise R2 SP1, and Red Hat Enterprise Linux 5.5 (RHEL).

For each test, 6 runs were performed, with the first one always being thrown out to ensure the data was cached in memory by the OS.

The same study was used for all test runs, with a request of http://{ip}/MINT/studies/{uuid}/DICOM/binaryitems/all. The study used represented 1090M of binary data. For testing throughput on non-MINT transfers, the binary items were concatenated into a single file and served out.

For Windows operating systems four tests were run:

  • MINT get all binary items request served directly by Tomcat.
  • Binaryitems file served by Apache httpd.
  • Binaryitems file served by ftp via IIS.
  • MINT get all binary items request served by IIS with an AJP ISAPI redirect to Tomcat.
Windows 2003 tests ran IIS 6.0. Windows 2008 tests ran IIS 7.0. For IIS 6.0, there is a known performance issue with ISAPI redirects (http://support.microsoft.com/kb/906977/). The testing was run with the change to MaxBufferedSendBytes as instructed by the kb article.

For the RHEL operating system three tests were run:
  • MINT get all binary items request served directly by Tomcat.
  • Binaryitems file served by Apache httpd.
  • Binaryitems file served by vsftp.

Test Results

The tests results show that when using MINT on a Windows operating system, you must ensure that HTTP is handled by HTTP.sys for maximum performance.



The tests also show that MINT does not add a significant amount of overhead to the transfer of binary items.

Data Table

Test data results are available below for reference. All values for runs represent average MB/sec over the entire transfer, except for the Average column which represents the average value of all runs.

Average Run 1 Run 2 Run 3 Run 4 Run 5
Windows 2003-MINT served directly by Tomcat 66.7467.767.565.967.165.5
Windows 2003-Binaryitems file served by Apache httpd 70.7872.970.371.269.270.3
Windows 2003-Binaryitems file served by IIS over FTP 111.8111112112112112
Windows 2003-MINT AJP ISAPI redirect from IIS 111111111111111111
Windows 2008-MINT served directly by Tomcat 35.6235.435.835.735.635.6
Windows 2008-Binaryitems file served by Apache httpd 50.1650.149.850.549.650.8
Windows 2008-Binaryitems file served by IIS over FTP 112112112112112112
Windows 2008-MINT AJP ISAPI redirect from IIS 111111111111111111
RHEL-Binaryitems file served by Apache httpd 112112112112112112
RHEL-Binaryitems file served by vsftp 112112112112112112
RHEL-MINT served directly by Tomcat 111111111111111111


1 For more details on user/kernel mode switching performance problems: HTTP Protocol Stack (IIS 6.0)


Sign in to add a comment
Powered by Google Project Hosting