ThingWorx Edge Java SDK > Application Details > 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. In the ClientConfigurator use the config.setBlockSize method to set the block size for file transfers 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.
* 
If you have a very fast network, you may find that increasing the block size improves performance. This is true only for the ThingWorx Edge Java SDK, not for any of the other ThingWorx Edge SDKs or for the WS EMS.
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 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. Make sure that the LogLevel is not set to TRACE. A level of ERROR is recommended.
4. 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 SDK 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 SDK block sizes to 1MB. The platform FTSS configuration table currently defaults to 128,000.
Was this helpful?