我正在使用许多ajax调用在PHP中开发应用程序。 像这样:
$.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);
一切都很简单,快捷。但是我注意到值返回时有些延迟。因此,我在调用ajax之前和之后,在查询之前和之后,在json_encode命令之前和之后使用microtime()测试了该过程的所有部分,结果是最后一个命令是所有ajax调用的瓶颈。 更改了Web服务器,更改了mysql服务器,但有时我总是遇到这些延迟。 查询需要几毫秒,但是json_encode“有时”需要4到5秒钟才能执行。 在只有我的Web服务器的服务器上测试了mysql db,该数据库具有一个使用小表和简单插入功能的帐户。甚至尝试了php-fpm,但有时我总是遇到这些延迟。 我不知道在哪里寻找解决方案。