Skip to main content

Cloudike is Improving Upload Speed Performance

· 2 min read
Kirill Kuzminykh
Senior Python Engineer, Cloudike EMEA - ASDTech

Cloudike Introduces a New Upload Component#

Cloudike team has introduced a new component in backend architecture which allows increasing auto upload speed from 5 till 10 times in comparison with the previous version. Previously, the application and backend would need to generate a large number of requests for uploading one photo which took about 4 and more seconds. The uploading algorithm consisted of the following steps:

With the new Upload Proxy feature, photo upload is done in one HTTP-request. Photo upload, its partial processing and sending to S3 storage are performed simultaneously. The current photo upload scheme is below:

The upload speed performance has been improved due to the following reasons:

  • One HTTP-request instead of a large number of requests.
  • The resumable upload protocol is implemented. This protocol allows resuming an upload operation after a communication failure has interrupted the flow of data. It is especially useful if large files are uploaded and the likelihood of a network interruption or some other transmission failure is high. In the previous version, in the event of network failures the uploading restarted from the very beginning.
  • The client doesn’t need to wait until the checksum is calculated, metadata from video/photo/mp3 files (Exif, MP3 Tags, etc.) is extracted and the file is verified, the client immediately receives a response from the proxy that the file has already been added and can immediately proceed with the next upload.