EMA C++ Performace Tools Guide : 10 Performance Best Practices : 10.2 Enterprise Message API Best Practices : 10.2.6 Enterprise Message API Buffering : 10.2.6.3 Fragmentation
 
10.2.6.3 Fragmentation
The negotiated maximum buffer size is the maximum size that the application will send in a single buffer. In cases where an application encodes a message larger than the maximum, the requested size will be returned to the user. When the content passes to submit, the Enterprise Message API fragments the content on behalf of the application, breaking apart larger content into individual buffers whose individual sizes do not exceed the agreed upon maximum. On the receiving side, the Enterprise Message API reassembles the fragments back into a single buffer containing all relevant content.
This transport level fragmentation incurs multiple copies and potential memory allocations. To avoid such overhead, applications should ensure that the maximum buffer size specified by the MaxFragmentSize configuration parameter is large enough for commonly sent messages to fit into a single buffer.