... | ... | @@ -88,7 +88,7 @@ As it can be seen, the BLOBs implementation (with all the performance features) |
|
|
|
|
|
## 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.
|
|
|
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 for the new BLOBs resource, by using 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.
|
|
|
|
... | ... | @@ -96,5 +96,5 @@ We should see more improvements once all the server is moved to Twisted async co |
|
|
|
|
|
Next steps for work in server scalability are:
|
|
|
|
|
|
* Enable multi-core usage for the blobs backend, by either replacing the usual python interpreter with *pypy* or by making use of usual python techniques for multiprocessing by using the AMP protocol and its implementation for Twisted.
|
|
|
* Replace the pristine WSGI synchronization mechanism by Twistd resources. |
|
|
\ No newline at end of file |
|
|
* Replace the pristine WSGI synchronization mechanism by Twistd resources, thus taking full advantage of the asynchronous processing model.
|
|
|
* Enable multi-core usage for the blobs backend, by either replacing the usual python interpreter with *pypy* or by making use of usual python techniques for multiprocessing by using the AMP protocol and its implementation for Twisted. |
|
|
\ No newline at end of file |