I know that I am not answering your exact question, might be unrelated to your problem, and others might disagree with me on this, but I had the same problem about extensions time-out, and ended up using a reverse approach. Instead of going out to the network to ask for information, it is our restapi server which goes to the ACS, using a web page as middle man, which in turn creates a JSON text file on filesystem using the serial number as filename and the content passed by the post as is. Each time our extension is executed, it simply loads the file and sends it back to the provision.
All of this was the result of having hundred of CPE going to the ACS at the same time during blackouts (Argentina here) which in turn created hundred of CPE faults on ACS side. So after a research I ended up discovering the real bottleneck was the network access, the software limit of 100 connections on MySQL and the number of workers set by NodeJS at ACS side (based on number of cores assigned to the virtual machine).
(I’m just saying all of this to put some context on why I did what I did).
I hope it helps.