NGINX / PHP-FPM:Ajax第一次请求缓慢,下一次请求很好

时间:2015-04-10 14:14:10

标签: jquery ajax nginx php

  • CMS是Elxis,来自Joomla(PHP)的变体。
    • 服务器正在使用nGinx
    • 运行PHP-FPM
    • 所有请求都被记录并执行,最终,B U T !!!

通过URL栏触发特定请求时,请求立即执行。但是,当通过ajax(通过jQuery)触发时,相同的请求会有一种非常奇怪的行为。

即:首先请求(在媒体管理器上)查看图片详细信息,将使用Ajax解雇。它记录在浏览器上,但不在服务器上...不仅仅是......经过一段时间40-50秒后,请求出现在服务器上,然后立即响应。

以下所有请求都会立即执行,没问题。只有第一个是粗糙的..

我遇到了麻烦,因为在任何地方都没有记录任何错误:除了第一个到达服务器的请求的延迟之外,一切似乎都很明智......

它不是路由(站点已经启动并且已经提供了请求),它不是解析(ip在我的/ etc / hosts文件中)。

并且在蛋糕上添加一点樱桃,尝试在服务器上捕获数据包(tcpdump)不会产生任何输出:请求还没有在这里...... 在客户端也尝试过:没有输出 - 至少40秒......

全部在浏览器上,开发者控制台显示没有错误,只显示待处理的请求。

这对任何人都响了吗?

The server:
nginx version: nginx/1.6.2
PHP 5.6.7-1 (cli)
PHP 5.6.7-1 (fpm-fcgi)

jQuery版本1.11
客户:尝试使用Firefox 39(ubuntu)和Chromium 41

1 个答案:

答案 0 :(得分:2)

我遇到了类似的问题,我最终增加了php-fpm工作人员的数量。我在www.conf(pool.d)中使用了以下设置来解决我面临的问题。我有一个跟踪浏览量的分析服务器设置,并且在记录网页浏览量的API中有15到20秒的延迟。调整以下设置解决了我的问题,也许它可能对您有帮助。

reset: function() {
  var new_defaults = _.clone(this.defaults);
  this.clear({silent: true});
  this.set(new_defaults);
}