小编Pro*_*ter的帖子

Nginx 与 PHP FPM - 资源暂时不可用 - 502 错误

Nginx 与 PHP FPM - 资源暂时不可用 - 502 错误

\n\n

我正在使用一些代码使用curl异步发送超过160个GET请求\n到我的API,该API在Ubuntu服务器16.04上运行带有Php-fpm的Nginx。每个请求都会从数据库中获取不同的数据选择,然后将其作为 JSON 响应返回。\n这个请求数量足够小,我相信它不应达到任何各种默认限制\n(套接字连接数、文件描述符数) ETC)。然而,它们都是同时发送/接收的事实似乎引起了问题。

\n\n

绝大多数请求都会成功,但有几个请求(在连续测试中数量始终相同,但根据配置而变化)将得到“502 Bad Gateway”响应。

\n\n

如果我查看 nginx 错误日志 ( /var/log/nginx/error.log),我会看到以下错误消息:

\n\n
2017/11/21 09:46:43 [error] 29#29: *144 connect() to unix:/run/php/php7.0-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 192.168.3.7, server: , request: "GET /1.0/xxx HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "my.domain.org"\n
Run Code Online (Sandbox Code Playgroud)\n\n

日志中“502 Bad Gateway”错误消息的数量始终与我从 API 收到的消息数量完全相同。

\n\n

同时,在执行测试期间查看 fpm 日志文件(使用tail -100f /var/log/php7.0-fpm.log)时,没有任何反应。它只有以下内容:

\n\n
[21-Nov-2017 11:54:29] NOTICE: fpm is running, pid …
Run Code Online (Sandbox Code Playgroud)

nginx php-fpm

5
推荐指数
1
解决办法
1万
查看次数

是否启用 MySQL query_cache_size Innodb Lock Safe?

query_cache_size一个通常会希望能像那种环境看起来这使我迷惑不解,因为它默认为0。然后我从 MySQL 文档中阅读了有关query_cache_wlock_invalidate设置的以下内容

通常,当一个客户端在 MyISAM 表上获取 WRITE 锁时,如果查询缓存中存在查询结果,则不会阻止其他客户端发出从表中读取的语句。将此变量设置为 1 会导致获取表的 WRITE 锁,从而使查询缓存中引用该表的任何查询无效。这会强制尝试访问该表的其他客户端在锁定生效时等待。

它没有提及 InnoDB 引擎。当 Innodb 对行/表有写锁时,此设置是否也阻止从缓存读取?

mysql innodb cache

4
推荐指数
1
解决办法
8512
查看次数

virsh vcpu_period 和 vcpu_quota

我一直在寻找在 KVM 来宾之间划分 CPU 的方法,而不仅仅是设置 vCPU 访问限制。我理解 cpu_shares 的概念,它可以用 设置/显示virsh schedinfo,但我也发现vcpu_periodvcpu_quota列出了这个命令,如下所示:

在此处输入图片说明

查看手册页,我知道可接受的输入值是什么,但是有人可以简单解释一下这两个参数的实际作用吗?

vcpu cpu-usage kvm-virtualization virsh

3
推荐指数
1
解决办法
2156
查看次数

LVM RAID10“不会被同步” - 这是什么意思?

我被创建LVM RAID 10分布在4个物理卷(各3TB)当我得到了以下错误消息:

WARNING: New raid10 won't be synchronised. Don't read what you didn't write!

在此处输入图片说明

我的谷歌搜索没有想出这意味着什么。这是否意味着raid的镜像将不起作用,如果单个驱动器发生故障,所有数据都会丢失?

lvm software-raid raid10

3
推荐指数
1
解决办法
310
查看次数