- 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 上试过
最佳答案
我遇到了类似的问题,我最终增加了 php-fpm 工作人员的数量。我在 www.conf (pool.d) 中使用了以下设置来解决我面临的问题。我有一个跟踪综合浏览量的分析服务器设置,API 记录综合浏览量有 15-20 秒的延迟。调整以下设置解决了我的问题,也许它可以帮助你。
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
关于jquery - NGINX/PHP-FPM : Ajax slow first request, 好的下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29563734/