Introduction
I would like to know how Tor hidden services can be optimized to handle high traffic. I know that vertical scaling is possible with Onionshare by adding more backend instances.
Current Stats of High Traffic Tor Onion Services
How much traffic can a hidden Tor server based on KVM handle? What throughput can be achieved? How many client connections can be handled? What will most likely be the bottleneck?
KVM Optimization
What can be done to optimize a single KVM-based Tor hidden server setup? I’m pretty sure this can all be configured in the KVM XML config files.
Is there something like a GitHub repository with optimized KVM configuration settings? I’m thinking about adding more virtual cores to the gateway or workstation, adding more RAM and all the other things that would help to get better performance. Are there other things I can configure to increase performance? Are there anonymity drawbacks?
Virtualization Optimization
Because I’m pretty sure the Tor implementation is the bottleneck, I’d like to know if it’s possible to run multiple Tor instances across multiple Whonix gateway instances pointing to the same (or different) Workstation with the web application running (on the same physical server). This could enable more efficient utilization of hardware, especially since many servers today are designed for 1 Gbit/s connections.
Whonix Workstation Database Connection Optimization
How can I configure a bypass of the Whonix Gateway Tor proxy so that only certain connections from Whonix workstations are not anonymized by Tor? I want to have my Whonix Workstation application protected by the Whonix Gateway, but have the database backend connections bypass the gateway to improve performance.
More Optimization
Are there other Whonix KVM optimizations to improve performance or make efficient use of server hardware? Finally, my questions can be summarized like this: At which points can I optimize before I can only scale vertically with Onionshare?