标签: pool

用另一个文件覆盖 php-fpm 池配置值

必须自定义新服务器的 php-fpm 池配置,我想知道是否可能/允许/建议有一个新的池文件,其名称按字母顺序排列在原始文件之后,该文件仅具有覆盖初始配置的值。

原始配置在/etc/php/7.0/fpm/pool.dnamed 中www.conf

看来,根据安装相关的页面,工程师直接修改原始值(保存初始值的副本)。例如

[www]
...
user www-data
group www-data
pm.max_children 2
Run Code Online (Sandbox Code Playgroud)

修改后给出

[www]
...
user myapp         ; was www-data
group myapp        ; was www-data
pm.max_children 8  ; was 2
Run Code Online (Sandbox Code Playgroud)

但似乎这可能是 php-fpm 下次升级后要重复的任务(而且配置在7.0路径中,这令人担忧)。

而不是修改原始文件,我想保持它不变,并添加另一个,说wwwmyapp.conf将声明相同的池,并且只有已更改的值

wwwmyapp.conf

[www]        ; same pool!
user myapp
group myapp
pm.max_children 8
Run Code Online (Sandbox Code Playgroud)

in pool.d, 文件列表

www.conf
wwwmyapp.conf
Run Code Online (Sandbox Code Playgroud)

因为在php-fpm.conf所有池 conf 文件中都加载了, 的值wwwmyapp将在www(在同一个www池中)之后读取,并且应该覆盖第一个值。

  • 它似乎在一些测试中工作并且没有报告错误,但是它会一直工作吗,并且适用于所有值?
  • 我们应该直接覆盖配置文件吗?

无法在任何文档中找到答案,即使在 php.net 上也是如此。

configuration php-fpm pool

12
推荐指数
1
解决办法
7868
查看次数

是否可以使用不同的池选项设置 PHP-FPM(启用 xdebug /禁用 xdebug)

我有一个 LEMP 环境,需要选择将所有开发子域与暂存区分开(使用 xdebug 暂存开发而不使用)。

  • dev.projectX.mydomain.tld
  • staging.projectX.mydomain.tld

因此我设置了两个池php-dev和php-stage,但似乎只能在php.ini中启用扩展!?

这是我的 pool.conf (dev)

[php-dev]
listen = 127.0.0.1:9101
listen = /var/run/php-fpm/a1-php-dev.socket
listen.backlog = -1
listen.allowed_clients = 127.0.0.1

user = nginx
group = nginx

request_slowlog_timeout = 3s
slowlog = /var/log/php-fpm/slowlog-php-dev.log

pm = dynamic
pm.max_children = 20
pm.start_servers = 10
pm.min_spare_servers = 4
pm.max_spare_servers = 16
pm.max_requests = 500
pm.status_path = /status

request_terminate_timeout = 120s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes

env[HOSTNAME] = $HOSTNAME
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = …
Run Code Online (Sandbox Code Playgroud)

php-fpm xdebug pool

8
推荐指数
1
解决办法
4167
查看次数

使用 Nginx 和 PHP-FPM 后,请求永远不会在 pm.max_children 之后排队

一旦池达到 pm.max_children,Nginx 就会在尝试向 PHP-FPM 发送新请求时开始超时。“最大侦听队列”在 php-status 页面中始终为 0。

  • PHP-FPM 5.5.16
  • nginx 1.6.1

以下是 php-fpm 池的示例:

[example]

catch_workers_output = no

; Configure listener
listen = /var/run/php-fpm/example.sock
listen.backlog = 65535
listen.owner = nginx
listen.group = nginx

; Unix user/group of processes
user = nginx
group = nginx

; Choose how the process manager will control the number of child processes.
pm = ondemand
pm.max_children = 10
pm.max_requests = 200
pm.process_idle_timeout = 30s
pm.status_path = /status

; Pass environment variables
env[HOSTNAME] = $HOSTNAME …
Run Code Online (Sandbox Code Playgroud)

php nginx php-fpm max-requests pool

8
推荐指数
1
解决办法
2190
查看次数

哪个版本的 ZFS 允许收缩池?

我找到了一个版本列表及其 Solaris 发行版编号http://download.oracle.com/docs/cd/E19253-01/819-5461/appendixa-1/index.html

我知道您可以通过用更大的驱动器替换驱动器或向池中添加新驱动器或镜像来扩展池。我听说 ZFS 尚不支持通过删除驱动器/镜像来缩小池。但这可能已经改变了。

哪个版本(如果有)释放了收缩池的能力?

zfs shrink pool

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

在 shell 中运行进程池

我正在寻找一种简单的方法来N使用一个命令同时运行选定的进程。它应该将所有输出放在我的终端上,并在我退出时关闭所有输出ctrl+c。是否有任何现有的应用程序可以做到这一点?

我在想一些事情exec_many 10 foo- 它应该保持 10foo秒的运行并重生任何死亡的人。

linux process pool

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

ZFS 池配置 - 需要建议

我们有 20 个 2TB SATA 驱动器用于 ZFS 池。我对获得良好 I/O 性能的最佳方法提出了一些建议,同时能够提供一些冗余(我们希望实现的目标是在数据丢失之前发生 3 次磁盘故障)。

我对是否需要使用镜像或raidz 感到有些困惑。

这 20 个驱动器将插入 2 个 16 端口的 raid 控制器(每个控制器上 10 个)。也许我为每批 10 个磁盘创建硬件 raid 卷,然后在 zfs 中,然后镜像两个可用的 raid 卷,从而创建一个超级卷?

任何建议都会很棒。

performance zfs pool

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

如何找到我的ISP的IP池?

我最终可以通过重新启动我的路由器并写下我得到的 ip 来获得我的 ISP 正在使用的所有 ip,但这非常耗时,那么有什么方法可以获得我的 ISP 的 ip 池吗?

ip isp pool

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

标签 统计

pool ×7

php-fpm ×3

zfs ×2

configuration ×1

ip ×1

isp ×1

linux ×1

max-requests ×1

nginx ×1

performance ×1

php ×1

process ×1

shrink ×1

xdebug ×1