首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Starman使用Dancer REST api吃掉所有内存

Starman使用Dancer REST api吃掉所有内存
EN

Stack Overflow用户
提问于 2014-01-08 21:15:21
回答 1查看 950关注 0票数 2

我已经用perl framework Dancer开发了一个RESTful应用程序。这个应用程序几乎需要1 GB的内存,并且需要30秒才能加载。这个应用程序在使用./bin/app.pl的本地测试中对单个用户工作得很好,然后我尝试使用Starman (单独或使用plackup,使用和不使用keep-alive)以几种不同的方式部署多租户使用:

代码语言:javascript
复制
plackup -E production -s Starman --workers=10 -p 3000 -a bin/app.pl 
plackup -E production -s Starman --workers=10 -p 3000 -a bin/app.pl --disable-keepalive
plackup -E production -s Starman --workers=10 -p 3000 -a bin/app.pl --disable-keepalive --preload-app
starman --workers=10 -p 3000 -a bin/app.pl

部署成功,但Starman为每个查询分配了一些内存,这些内存永远不会再释放,因此应用程序很快就会耗尽内存。

我阅读了Starman,PSGI和Dancer部署的所有文档,其中包括对NGINX/Starman/DancerStarman and memory的类似错误的非常好的解释,但它不能解决这个问题,因为我禁用了keep-alive,而Starman仍然保留内存。

知道为什么Starman会吃掉我的记忆吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-01-26 00:19:19

最后,我找到了内存泄漏的地方,很抱歉Starman责怪你:)

在程序中,我们使用了一个绑定库,它在常规执行中工作得很好,但由于某种原因,我无法理解,在多进程的情况下,它会消耗掉所有的内存。此错误已发送给perl库的作者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20996749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档