首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
写文件时不释放内存?
用swoole_http_server弄了一个收集日志的服务,收到请求后将url,cookie和post过来的数据写入文件,压测了一会儿就出现Allowed memory size。如果我是直接用脚本写入不用server写文件就没事。附server代码 {{{php $http = new swoole_http_server("127.0.0.1", 9501); $http->on('request', function ($request, $response) { $x = '组织好的数据'; $fd = fopen('./app.log', 'a'); fwrite($fd, $x . "\n"); fclose($fd); $response->end(''); }); $http->start(); }}} 追加: 我在fwite之后又加了一个fflush,之后再压测,出现了两种提示, [2015-03-18 23:16:24 #22348.0] WARN swArray_extend: max page_num is 1024 [2015-03-18 23:16:54 #22346.0] WARN swArray_fetch: fetch index[1049100] out of array
发布于8年前 · 7 次浏览 · 来自
提问
徐
徐泽
用swoole_http_server弄了一个收集日志的服务,收到请求后将url,cookie和post过来的数据写入文件,压测了一会儿就出现Allowed memory size。如果我是直接用脚本写入不用server写文件就没事。附server代码 {{{php $http = new swoole_http_server("127.0.0.1", 9501); $http->on('request', function ($request, $response) { $x = '组织好的数据'; $fd = fopen('./app.log', 'a'); fwrite($fd, $x . "\n"); fclose($fd); $response->end(''); }); $http->start(); }}} 追加: 我在fwite之后又加了一个fflush,之后再压测,出现了两种提示, [2015-03-18 23:16:24 #22348.0] WARN swArray_extend: max page_num is 1024 [2015-03-18 23:16:54 #22346.0] WARN swArray_fetch: fetch index[1049100] out of array
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2016-09-25
黑
黑眼诗人
你这样写可能有问题吧,request 响应里面只处理消息,写入的东西放到 task 里面看看
赞
0
回复
2017-01-14
d
djm
其实你应该在onworkerstart的时候,去open这个文件,并且用append方式。 onworkerstop或error的时候,close掉。
赞
0
回复
2017-01-15
爱
爱客资源网
`WARN swArray_fetch: fetch index[1049100] out of array` 这是老版本swoole中发现的问题,请升级到`swoole-1.7.19-stable`
赞
0
回复
微信公众号
热门内容
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。