ThingWorx Edge MicroServer (EMS) > Best Practices for Transferring Large Files
Best Practices for Transferring Large Files
When transferring large files, following these best practices is critical to ensuring optimal performance:
1. Set the block_size parameter to 1MB (1,024,000 bytes) for maximum bit rate on average. The proper setting of this parameter is essential to improving file transfer performance.
2. File transfer times depend on Internet bandwidth, which varies and increases in load at certain times of the day. Choose a time of day when network traffic is low to transfer large files from edge devices to a ThingWorx Platform. When possible, improve the quality of your network. Testing has shown that results vary by both time of day and the network being used. When network performance degrades, the performance of large file transfers can be negatively affected very quickly.
3. Removing any socket read timeouts also increases performance. Make sure to set the socket_read_timeout to zero (0).
4. Make sure that log_level is not set to TRACE. A level of ERROR is recommended.
5. Set up the File Transfer Subsystem (FTSS) on your ThingWorx Platform as shown in the following screen shot. These settings have been tested and shown to be optimal when transferring large files:
* 
The lower of the two block size values, namely for the EMS and the FTSS of the ThingWorx Platform, is used at runtime. The platform is hard-coded with a maximum block size of 1MB. To be safe, set both the FTSS and EMS block sizes to 1MB. The platform FTSS configuration table currently defaults to 128,000.
For information about file transfers between Edge SDKs and ThingWorx Platform, refer to File Transfers.
Was this helpful?