Я разрабатываю приложение на PHP с множеством вызовов ajax.Примерно так:
$.ajax({
url: 'urltocall.php',
dataType: 'json',
cache: false,
contentType: false,
processData: false,
success: function(res) {...}
error: function(data, errorThrown) {...}
});
с другой стороны в urltocall.php У меня есть простой запрос к mysql и возвращаю результат с помощью команды:
echo json_encode($results,JSON_UNESCAPED_UNICODE);
Все очень просто и быстро,Но я заметил некоторые задержки, когда значения возвращаются.Поэтому я протестировал все части этого процесса с помощью microtime (), до и после вызова ajax, до и после запроса, до и после команды json_encode, и в результате эта последняя команда является узким местом всех вызовов ajax.Измененный веб-сервер, измененный сервер MySQL, но иногда у меня всегда есть эти задержки.Запросы занимают несколько миллисекунд, но json_encode "иногда" занимает 4 или 5 секунд для выполнения.Протестировано на сервере только с моим веб-сервером, mysql db с одной учетной записью, работающей на нем, с небольшими таблицами и простой вставкой.Пробовал даже php-fpm, но всегда у меня бывают такие задержки.Я не знаю, где искать решение.