我正在为我的网站准备一个网络服务器(gentoo linux,nginx,php-fpm,php)。在配置期间,我来到fpm config中的pm.max_children值。默认值为50.如果我打算用php提供一些大文件,那么每个客户端在下载过程中是否会阻塞整个线程?尝试打开网站/开始下载的第51位客户会怎样?
根据我所读到的 - 一个孩子=一个线程。如果我运行我的服务器让我们说四核最新系列xeon cpu与32GB ddr3 - cpu /系统可以存活多少个客户端或线程?
Linux的最大开放套接字/线程/进程有限制吗? Os是gentoo amd64(全新安装),nginx 1.4.0,php-5.4
感谢您的帮助。
答案 0 :(得分:1)
如果您通过php流式传输文件,那么是的,每次下载都将是一个php进程。这也是为什么这样做的一个坏主意。 Php应该用于将数据处理成可理解的网页。服务文件用于Web服务器。也许您可以重写您的应用程序以生成唯一文件,然后重定向到该位置并让Web服务器处理它。
打开套接字的数量是基于每个进程通过limits
配置的。套接字计入打开文件的数量。