that's a multidimensional analysis
at a global level, how many shares can your system process at a fixed unit of time?
that's a function of:
1. how much resources are available on your system
2. how many downstreams are being served
3. each downstream's hashrate
- assuming 1 is fixed, more downstreams means each of them must send shares less often
- assuming 2+3 are fixed, more resources means shares can arrive from each downstream more often
so your modeling should start with a single downstream so you can measure your system's max capacity
start with a high difficulty target and gradually decrease the difficulty so you get shares more often, until you find your max capacity
if you get to difficulty 0 without hitting bottlenecks, either add more downstreams or switch to a more powerful one
once you find your max capacity, then for each production downstream, adjust their difficulty targets so your system is operating below this ceiling