Возврат ajax json_encode иногда занимает слишком много времени - PullRequest
0 голосов
/ 26 февраля 2019

Я разрабатываю приложение на 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, но всегда у меня бывают такие задержки.Я не знаю, где искать решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...