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