I'm developing an application in PHP with many ajax call. Something like this:
$.ajax({
url: 'urltocall.php',
dataType: 'json',
cache: false,
contentType: false,
processData: false,
success: function(res) {...}
error: function(data, errorThrown) {...}
});
on the other side in urltocall.php I have simple query to mysql and return the result with the command:
echo json_encode($results,JSON_UNESCAPED_UNICODE);
Everything is very simple and fast. But I noticed some delays when values returns. So I tested all the parts of this process with microtime(), before and after ajax call, before and after query, before and after the json_encode command and the result is that this last command is the bottleneck of all ajax calls. Changed web server, changed mysql server but sometimes I always have these delayes. Queries takes a few milliseconds, but json_encode "sometimes" takes 4 or 5 seconds to execute. Tested on server with only my web server, mysql db with one account working on it with small tables and simple insert. Tried even php-fpm but always sometimes I have these delays. I don't know where to look for a solution.