小编bra*_*287的帖子

"java.net.BindException:已经在使用的地址",当尝试快速创建Socket并进行负载测试时进行销毁

我正在尝试通过打开大量与服务器的套接字连接来加载测试Java服务器,验证,关闭连接,然后重复.我的应用程序运行了一段时间,但最终我得到:

java.net.BindException:地址已在使用中:connect

根据我读过的文档,其原因是在调用close()之后的一段时间内,关闭的套接字仍占用分配给它们的本地地址.这取决于操作系统,但可以是几分钟.我试着调用setReuseAddress(true)socket,希望它的地址在close()被调用后可以立即重用.不幸的是,情况似乎并非如此.

我的套接字创建代码是:

Socket socket = new Socket();
socket.setReuseAddress(true);
socket.connect(new InetSocketAddress(m_host, m_port));
Run Code Online (Sandbox Code Playgroud)

但我仍然得到这个错误:

java.net.BindException:已经在使用的地址:一段时间后连接.

有没有其他方法可以完成我想要做的事情?我想举个例子:打开100个插座,关闭它们,打开200个插座,全部关闭,打开300个等,最多可达200​​0个左右的插座.

任何帮助将不胜感激!

java sockets networking tcp

27
推荐指数
1
解决办法
6万
查看次数

弹性搜索 - 一个索引与多个索引?

我正在研究一种解决方案,将应用程序日志存储在Elastic Search中,用于许多开发团队中的许多应用程序.每个日志条目的结构与"app"字段相同,以指示应用程序.

第一个目标是支持在单个"应用程序"中进行有效查询.查询所有应用程序虽然仍然很重要,但仍然是次要的.

我正在努力确定什么是最好的:

编辑:在这两种情况下,我将使用基于时间的索引.

多指数系列

每个"app"都有一系列基于时间的索引(app1-2017-04-01,app1-2017-04-02,...等).用户可以直接对这些较小的索引执行搜索.这里的想法是,由于索引的大小较小,可能查询它们更快?

单指数系列

使用一个巨大的索引系列来表示所有应用程序日志(例如logs-2017-04-01,logs-2017-04-02,...等)用户将查询"app"字段以缩小搜索结果范围.

在这种情况下哪个更快?我很好奇其他索引的开销成本

elasticsearch

18
推荐指数
4
解决办法
9336
查看次数

IDENTITY_INSERT ON失败,错误"...不是用户表.无法执行SET操作"

我不小心删除了数据库中的一行,我想重新插入该行.问题是主键设置为自动增量,IDENTITY INSERT并设置OFF为表.我想暂时启用标识插入,这样我就可以插入已删除的行,然后禁用标识插入.

在SQL Server Management Studio中,我尝试了以下操作:

SET IDENTITY_INSERT myTable ON

INSERT INTO myTable (id, name, value)
VALUES (241, 'hello', 'hello2')

SET IDENTITY_INSERT myTable OFF
Run Code Online (Sandbox Code Playgroud)

第一行失败了:

消息8105,级别16,状态1,行
2'myTable'不是用户表.无法执行SET操作.

知道为什么吗?

sql sql-server

5
推荐指数
1
解决办法
5167
查看次数

标签 统计

elasticsearch ×1

java ×1

networking ×1

sockets ×1

sql ×1

sql-server ×1

tcp ×1