ThingSpeak has an operational metric to respond to requests to update a channel within a few hundred milleseconds of receiving the request. We monitor this metric daily. However, the connectivity to ThingSpeak servers is outside of our control. So, if you have a slow internet connection, or a general lack of network bandwidth on account of use by other processes, it is possible it takes a while for your request to make its way from you device to the ThingSpeak server.
One suggestion I can make is to try the MQTT API to update your ThingSpeak channel. MQTT is a more efficient protocol for machine-to-machine data. Take a look at the API and examples if you need a starting point.