“$ .ajax”中的请求时间有时超过1秒,有时甚至超过30毫秒

时间:2012-07-16 18:09:12

标签: ajax apache xampp response delayed-execution

我在Windows 7上使用xampp 1.7.7版本。当你点击保存图片时,我会尝试这样做,它会在后台向save_record.php发送信息。我这样做

$.ajax({
      url: 'save_record.php',
      data: values.join("&"),
      success: function(data) {
            //document.write(data);
          }
    });

显然不是问题。问题是响应非常缓慢,我无法找到原因。下面我添加从chrome speed tracer收到的数据。 Firebug也显示所有响应超过1秒。它们的格式如1055ms或1035ms,这让我觉得它会被卡在某处一秒钟。如果这不够奇怪,它会在某个时间开始快速(30-50ms)发出请求,这对我来说是一个非常实用的应用程序。否则,1秒钟的延迟就是杀死它。我曾经杀死进程explorer.exe并添加为新任务,它工作。但是下次没有。我重新启动了电脑 - 它是一秒钟......当我输入这个问题时,它开始做那些快速请求。一旦它开始快速完成它们就会很好,但是当我开始xampp(或从睡眠中打开我的笔记本电脑)时它通常很慢(1秒+)。这是一段时间之后有点自我解决的问题(通常是5-10分钟),但它很烦人,并且好奇为什么会发生这种情况:)希望我对这个问题很清楚。

P.S。我测试过,从第一个php标签到最后一个标签的时间差是~20毫秒,所以我假设它不是正在运行的PHP缓存吗?

P.S.2。我会提供所需的任何其他数据,只是不确定要看什么:)只需命名即可。

enter image description here

更新:添加了Chrome的网络标签。

enter image description here

更新:重新安装xampp后问题仍然存在:

enter image description here

4 个答案:

答案 0 :(得分:7)

取消注释127.0.0.1 localhost中的行C:\Windows\System32\drivers\etc\hosts解决了问题。速度刚好不可思议地跳了起来。我在here找到了这个建议。实际上即使Chrome打开其他页面的速度也增加了很多o.O

答案 1 :(得分:0)

你能拍一张网络屏幕>请求的chrome开发人员工具的Timing选项卡需要一秒以上的时间并共享它。例如。enter image description here

您必须分析该标签中提到的每个操作所用的时间。并且还要检查速度跟踪器中的事件跟踪以获取更多信息。

答案 2 :(得分:0)

尝试将save_record.php的内容更改为<?php die(); ?>,看看会发生什么。我怀疑在服务器端处理save_record操作是一种延迟(可能是DB是瓶颈,可能是文件I / O等)。

答案 3 :(得分:0)

save_record.php, 如果你做任何数据库操作你写了什么代码可能操作花了很多时间你可以提供我的代码“save_record.php”我能够优化响应或能够解决你的查询