Scalability issues using IPFS

Hi everyone!
We use IPFS to store invoices, that are then tracked on an Ethereum smart contract.

When we want to retrieve all these invoices (imagine 10’000 2kB files), the load on the IPFS node cause many requests to timeout, even when throttling these requests.

When we want to retrieve an invoice from a random IPFS node, it takes a long time.

Is it to be expected? Or should an IPFS node be able to handle that load, and can it be expected from the IPFS network to find a file in less than a few seconds?

Thanks!

AFAIK, maybe using PubSub will allow each of the peers to subscribe to the channel “TheRelevantSmartContractForYourApp” or “MyApp’sName”. That way the will look for info among the other relevant peers only and spend less time looking for IPFS peers that have the data you want among the whole IPFS network.

If you don’t need data from IPFS other than the one from you app, you can also do a private network for all your app’s peers.

More experienced users should confirm I’m not writing non-senses.

Thanks for your answer! We’re going forward with a private network, it seems perfect for our use case