Employ asynchronous processing when possible


When the interaction with the user results in long and heavy processing by the server, employ asynchronous processing when possible. The idea is to encourage the user to trigger the processing and then reconnect once it is complete e.g. by receiving an email with a link.
This method allows processing to be done in batches, often more efficient in terms of resources than on-the-fly synchronous processing. This frees up the presentation servers so that they can handle other users while the processing is handled asynchronously server-side.

In the example of an online service for converting desktop documents, encourage the user to upload all their files at the same time, then send an email notification once the process is complete. To optimize the process, all the files may be grouped together and compressed into one archive file.