首页 > 解决方案 > Heroku 上的 Ktor Websockets - OutOfMemoryError:无法创建本机线程

问题描述

我创建了一个简单的 Ktor Websocket 应用程序,该应用程序有一个加入房间的路径,并且向端点发出一系列获取请求,然后将数据返回给连接到套接字的人。

websocket 应用程序是使用 Ktor 和 Netty 引擎在 Kotlin 中编写的,托管在免费层 Heroku dyno 上。

该应用程序本身可以正常工作,但我发现当只有 5 个以上的活跃用户时,我很快就会收到以下错误:

"java.lang.OutOfMemoryError : unable to create new native Thread".

我一般是 websockets 和服务器端编程的新手(传统上来自前端和移动背景)。我该如何调试这个问题?显而易见的地方在哪里?get 请求是否应该在某个协程上下文中完成?是否有分析应用程序可以用来监控 intellij 的内存使用情况?Heroku 免费层是否太小而无法处理这样的事情?在这里的任何帮助将不胜感激。

标签: kotlinherokuwebsocketnettyktor

解决方案


推荐阅读