由于ASYNC_NETWORK_IO,在Java代码中出现DB IO问题

时间:2018-12-04 05:28:02

标签: java sql-server async-network-io

我们应用程序的

DB团队报告了ASYNC_NETWORK_IO问题以及一个大型但经过优化的查询,该查询在36Sec内执行,并带来了6,44,000行。

其背后的主要原因可能是以下原因之一:

A。客户端应用程序出现问题

B。网络问题–(但我们的以太网速度为1 GB)

因此,这可能是代码方面的问题,因为会话必须等待客户端应用程序处理从SQL Server接收的数据,才能向SQL Server发送信号,使其可以接受新数据进行处理。 这是一种常见情况,可能反映了不良的应用程序设计,并且最常见的原因是过多的ASYNC_NETWORK_IO等待类型值

这是我们如何从代码中从DB获取数据的方法。

try {
            queue.setTickets(jdbcTemplate.query(sql, params, new QueueMapper()));
        } catch (DataAccessException e) {
            logger.error("get(QueueType queueType, long ticketId)", e);
        }

有人可以建议我吗? 提前致谢。

0 个答案:

没有答案