java - Netty 和最大并发连接大小

标签 java netty

我正在开发一个基于 Netty 的服务器,其中并发连接数应约为 100000。但是,当我将该数字设置为 100 时,我不会耗尽内存,但当我将数字增加到 10000 时,我遇到了 outmoemory 缓冲区异常。知道 Netty 可以处理的内容甚至超出了我的预期,我想知道如何设置 serverbootstrap 来满足如此大的数量。

谢谢。

最佳答案

您运行该程序有多少内存?由于抛出的是 OutOfMemoryException ,因此看起来您可以将 -Xmx 设置更改为 -Xmx2048m 之类的内容,然后看看它是否有效。这可能与 netty 本身没有任何关系。

如果您确信存在泄漏,请使用 visualvm 等工具(顺便说一句,这是免费的!)即使在 requests/gc 完成后,也可以分析堆上是否有任何 netty 对象。

在 Linux 中,当运行如此多的并发连接时,通常会出现打开文件过多异常,有大量文档介绍如何解决该问题。

关于java - Netty 和最大并发连接大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915132/

相关文章:

java - 如何从 shell 或 windows 命令行以内联方式执行 java jshell 命令

java - 项目监听器错误

java - Netty 与 Apache MINA

java - Netty TCP 示例 : how do I send/receive objects?

java - 我的自定义 netty 解码器中的 IllegalReferenceCount

java - 如何使用 JUnit 的 ErrorCollector 来检查发生了多少次失败?

Java/Maven/Tomcat : bootstrap class path not set in conjunction with -source 1. 6

java - 为什么我的应用程序在启动时崩溃?

java - 使用 Netty 访问 MySql 数据库

java - 当发送到服务器的消息数量较多时,Netty 中客户端收不到消息