Sometimes it works, other times not. Right now for me, its not. It seems to go back and 4th. In my opinion, it is probably because IPFS users are increasing disproportionately to IPFS nodes. That this is creating load issues.
In my opinion, someone needs to create a software that will allow anyone to be an IPFS node, without it requiring a person to have super advanced technical skill. The most simply solution would be, create a third party application that does an easy IPFS install, and then provides a local web interface control panel for it.
This control panel would allow for the configuration of things such as, maximum upstream allowed to the local IPFS server, maximum downstream allowed to the local IPFS server, maximum space allowed for the cache for the local IPFS server, the directory or partition where the cache is stored, etc and so on.
This would also encourage more softwares to include IPFS capabilities. For example -- if softwares such as Discord could attach to this sort of API -- it would allow for Skype-style sending and caching of file transfers between people in conversations, as well as Skype-style video and audio streaming over the IPFS network. This would reduce loads and increase efficiency.
This would also allow for things such as Firefox and Chro9me plugins to be created to redirect website traffic over IPFS to avoid the usual internet traffic congestions that happen over http.
If IPFS is to remain viable and expand, then these sorts of applications are not only needed, but inevitable. Someone will eventually do this.
I'm having this issue at the moment too. Wondering if a queuing system could help mitigate this to some degree? If it can't be submitted to the blockchain right then and there, maybe at least it is stuck into a queue that ensures it gets submitted as soon as possible? Not a blockchain expert by a long shot though so I'm not aware of any obstacles to this type of functionality.
There already is such a system, supposedly. I've seen it tell me things like I am #4 in queue. I've seen it wait for its turn in queue. Even with a queue system you will still run into jam ups if there are too few nodes and too many users. Think of it like the grocery store on a larger scale. Sure you have 15 cash registers, but if each cash register has to serve 10,000+ people then it becomes a virtual impossibility.