V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  reyleon  ›  全部回复第 2 页 / 共 2 页
回复总数  29
1  2  
2020-11-19 18:39:16 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@joyqi 并发量其实很低,目前日 PV 90 万不到,我之前自己做过压测,我们这个接口服务器性能其实很差,估计并发撑不过 40,但性能问题目前并不是我急需解决的。

主要是 php-fpm 进程吃内存,会慢慢往上涨,这才是我想快点解决的。
如果不设置 pm.max_requests, 它可以吃完机器所有的内存。

另:V2EX 貌似无法上图?
2020-11-19 18:30:28 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@Evilk 你可能看错了。“请求结束,进程关闭” 这是 3 楼说的,不是我说的,你搞错对象了。哈哈哈
2020-11-19 15:00:42 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@lovecy 代码是可以改的,问题是得先找到内存上涨的原因才改的动呀。

#21 楼说的"max_requests 我觉得并不是妥协,而是针对大量不可控代码的最有效方案",挺有道理。当前我也是这么做的,但是感觉不爽。反正能用就行,这要求也忒低了点吧?

# php -m
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
ereg
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mongo
mongodb
mysql
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
redis
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

版本就不知道了。
2020-11-19 14:42:51 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@Evilk 一个请求对应一个 PHP 进程,请求处理结束,这个进程才能处理下一个请求。1000 个并发如果没有那么多 php 进程处理,那么那些请求就在队列里排队等待处理。

我也是这么理解的。这有问题吗?需要更新对 PHP 哪方面的认识?
2020-11-19 14:34:48 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@sunznx 并不是没有 php 人员呀,之前写这套代码的人已经离职了;
不过不是我说,就算是自己写的代码,也不一定能轻易找出原因吧,这个问题在他在职的时候也不是没有提过
然而没卵用
2020-11-19 14:32:38 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@pigfly123 第一步的配置应该是没问题的。我现在在研究使用 xhprof 去分析代码,希望能有结果
2020-11-19 14:30:52 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@wangritian 可能如你所说,因为同样的 php 环境,只是不同业务的另外一台服务器就没有出现过内存上涨的情况,内存使用稳如狗。
2020-11-19 14:27:34 +08:00
回复了 reyleon 创建的主题 程序员 PHP -fpm 服务器内存占用陡坡式上涨,请问如何彻底解决?
@liuxu 还是不能理解 php-fpm 进程内存使用会慢慢上涨的原因。

最初启动时一个 php-fpm 进程占用大概 20M 内存,随着接受请求数的增加,内存慢慢会往上涨到 120M 左右,这个时候达到了我们设置 pm.max_requests 的值,然后进程销毁,如何周而复始。

如你所说 “引用计数释放掉的内存和 php_request_shutdown 释放掉的内存都是还给 zend,zend 不还给系统”。

那我这个内存一直往上涨,说明是 Zend 一直在向 OS 申请内存,这没错吧。
那这是不是可以说 “引用计数” 和 “php_request_shutdown” 根本就没有释放过内存?因为如果释放了内存给 Zend,那就说明 Zend 手里有空闲内存,那就不用向操作系统申请啦。

另:我现在正在研究如何使用 xhprof 分析业务代码。
我也是操碎了心。
2020-11-13 14:06:25 +08:00
回复了 zhongrs232 创建的主题 生活 我听到了让我灵魂升华的呼噜声
你在写诗吗?
1  2  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4947 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 09:34 · PVG 17:34 · LAX 01:34 · JFK 04:34
♥ Do have faith in what you're doing.