java - 测试大约 20k 客户端与服务器的连接

标签 java windows memory nio ram

我在 java nio 包中有一个聊天应用程序。我想测试服务器的容量。我运行服务器应用程序,客户端程序通过批处理文件运行。这样我就可以运行任意数量的客户端。当 268 客户端应用程序运行时,RAM 会停止该进程。 Ram 没有足够的内存来执行下一个客户端。

当 RAM 已满时,处理器有什么方法可以使用硬盘内存吗?不是java堆空间

我使用 Windows 7 Prof 32 位、4 gp 内存、i5 处理器

最佳答案

我最近尝试了一个更简单的实验,使用 2000 个 MySQL 线程客户端。
我担心你会碰壁。
首先,java 堆大小有 2GB 限制。您应该考虑使用 64 位 JVM。请参阅Maximum Java heap size of a 32-bit JVM on a 64-bit OS
然后,Windows 7 32 位无法处理超过 3.12GB 的 RAM。您应该考虑 64 位操作系统
而且,操作系统一开始不会让你打开 20k 套接字。检查注册表中的 MaxUserPort。
如果您完成了所有这些,可能是时候考虑 CPU 分配了,在 2k 线程和 i5 下,这应该不是问题。但我不知道20k...

关于java - 测试大约 20k 客户端与服务器的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624864/

相关文章:

c++ - 使用内存映射文件时如何释放物理内存?

java - 如何使 Wicket 口链接显示为图像?

java - 过滤并使用 txt 文件中的文本

java - 如何解析格式中带有可选字符的日期

.net - 从 C# 应用程序控制其他窗口

Python:用于运行 Excel VBA 脚本的脚本未运行

windows - QT 应用程序的运行时错误?

c++ - 使用 vector 时 sysmalloc 断言失败

java - 使用基本设计模式模拟 Java 中的事件驱动编程模型

c - 什么时候函数会加载到内存中?