... | ... | @@ -87,4 +87,9 @@ The implementations compared in the figure above are: |
|
|
As it can be seen, the BLOBs implementation (with all the performance features) outperforms the legacy implementation for the same amount of data as the number of messages decrease and the size of each message increases. This is expected, as BLOBs implementation is targetted to have a better performance with larget documents. Also, BLOBs only looses to the legacy implementation because legacy includes batched upload/download using the same HTTP request, while BLOBs still doesn't. Once that feature is implemented, we should see better results for BLOBs even for larger amounts of emails with smaller sizes.
|
|
|
|
|
|
## Server-side backend storage optimization.
|
|
|
|
|
|
On the server side, aside from authentication data caching as described in the last section, the main improvement so far has been to move away from the old WSGI-based implementation, to use twisted-based resources that can take full advantage of the asynchronous reactor. The old JSON documents synchronization code is still running using the WSGI machinery, but all of BLOBs has been implemented using Twisted's API.
|
|
|
|
|
|
We should see more improvements once all the server is moved to Twisted async code, and when new endpoints are added to allow for batched upload/download of BLOBs.
|
|
|
|
|
|
## Server scalability. |
|
|
\ No newline at end of file |