FileServer needs to be synchronised to provide thread-safety. However, the synchronisation is applied at instance level. This is unnecessary for at least part of the time. The files Map is mostly read, not written, so could be protected using read/write locks. A Concurrent Map would not be sufficient here, as the updates need exclusive access. Access to a single FileEntry instance would still need to be single-threaded to prevent problems when sharing a file across multiple threads. Making such changes should improve performance by reducing lock waits.
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/2911