Updated 8/8/2005:
Please note the information below is outdated and I would never recommend mapping messages of this size inside Biztalk 2004.  Biztalk 2006 will have support for larger messages by breaking up the message into chunks.  More information on large message support can be found on the Performance Blog.


 


Original Post:


 


Ok, I hear it all the time: “Can BizTalk handle large files?” 



But, really the question should be: “How large of a file do you want BizTalk to process?”



Large is a subjective term.  For the purposes of this post, large is a 150 MB XML Document.  I see lots of blogs with negative posts on big messages in BizTalk 2004.  My experiences have been quite the opposite.  But, I’ll let you make the determination yourself.  Here are my test results.



My Test Computer: P4 2.4 GHz with 1.25 GB Ram.


 


CRITICAL: Working with large files such as this will consume a HUGE amount of system resources.  My CPU was maxed at 100% and RAM utilization was extensive.  A better approach is to break the large file down, but that is a subject for another post coming soon…



Sample File Size: 180 MB


Schema Nodes: Around 400


All Mapping on Send Port, map size is around 1.2 MB



Test1: Straight line mapping to itself


Run Time: 7 minutes 13 seconds



Test2: Straight line mapping to itself


Functoids: Around 80 String Manipulation


Run Time: 8 minutes 26 seconds



Test3: Straight line mapping to itself


Functoids (over 250):


          Around 80 String Manipulation


          Around 50 Logical


          Around 50 Value Mapping


          Around 80 Scripting with calls to an external assembly


Run Time: 9 minutes 42 seconds



Take Away: I was surprised and impressed with the processing time of large files inside BizTalk.  But, I’ll let you make the final determination…