Pull to refresh

Multithreaded FTP client

Level of difficultyMedium
Reading time1 min
Views1K

Task: To provide automation for transfer of large number of files.

Source - computer with autotest codebase.

Receiver - gateway for industrial data processing.

Test receiver - second PC with installed vsftpd service.

The implemented tool allows you to transfer grouped files in different threads supported by operating system.

First, specified number of threads is initialized. Then dividing input set of files into equal groups. The rest is distributed to first threads, one file at time. After that, threads are launched and files to sent.

Transfer time measurements were made for old implementation of FTP client and new one with an increase in number of threads. See chart. Measurements were made on 1.1 Mb files.

As result we got function of time dependence on number of threads and number of files.

t = f(cf, ct), f = cf / (ct * С)

С - transfer rate (const, C > 0)
t - time transfer (t >= 0)
cf - count files (cf >= 0)
ct - count threads (ct > 0)

Bounded surface equation

Tags:
Hubs:
Total votes 3: ↑0 and ↓3-3
Comments6

Articles