kotlin - 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 免费层是否太小而无法处理这样的事情?在这里的任何帮助将不胜感激。
解决方案
推荐阅读
- typescript - 我可以限制属性装饰器只能应用于 TypeScript 中的有限类型吗?
- plantuml - 在植物中,WARNING : CROSSX 警告什么?
- c++ - 如何在 C++ 中创建线程池?
- php - 上传随机文件时出现错误
- python - ODOO 8 - 使用 XMLRPC 的调用方法
- paddle-paddle - 在 paddledetection 中没有输出的第一个 epoch 后训练停止
- javascript - 基于数据javascript在一个栏顶部添加文本和图像
- flutter - 如何在颤动中映射对象?
- azure - 如何使用 AzureML 中经过训练的工件
- android - 处理大原始文件时android studio aapt构建超时