If you're comparing standalone solution, vs one accessing the server it's "normal" that using the server is slower.
Performance wise, server processing = standalone processing + sharing computation time + network transfer/lantecy.
The worst is the network latency.
With server running a server side processing script, I'd say you get 85% of the standalone performance
With server / client in a wired LAN you get at best 1/4 of standalone performance
If Client is on the same machine as server your get 1/2 of the standalone performance.
Yes that's bad. Of course all those metrics are very rough estimate it can be better or much much worse, depending on the solution.
as for acceleration sorts, try to avoid unstirred fields. Or maybe do a sort whose first criteria is stored, then the other (that's pure theory, I didn't test this).