我确实想知道为什么连接的创建太昂贵了,所以 连接正在维持池中。它回来了。
答案 0 :(得分:3)
为什么创建连接在java中很昂贵
因为创建与(例如)远程数据库的连接涉及执行数百万台机器指令。你需要:
每次网络数据包交换都会增加几微秒......或更多......
如果数据库位于同一台计算机上,并且通过环回连接或域套接字进行通信,则网络交互将更快,但不会立即进行。你仍然有系统调用开销,上下文切换/处理或线程调度的成本等等。而这只是"传输"层。
如果您可以免除SSL / TLS和加密,您可以节省更多时间。
但是,如果建立机上非加密数据库连接的平均时间超过5毫秒,我会感到惊讶。
现在乘以"每分钟大量的新数据库连接"以及不回收连接的开销可能是一个主要问题。
但是,值得在自己的机器上使用自己的数据库进行测量...