当使用C#OPEN语句打开数据库的连接,这是否影响Web服务器性能或只有数据库? 那么,如何在数据库连接的反复开启和关闭冲击力的Web服务器和数据库。 有人可以给我一些这方面的见解。 谢谢。
Answer 1:
打开一个数据库连接是一个相对昂贵的操作。 打开数据库连接可以是如此昂贵,ADO.NET默认启用连接池 。 如果你不使用连接池,然后你的应用程序可能会运行速度变慢(减少响应时间),甚至可以打与可扩展性问题。
如果您在使用连接池,然后重复一个SqlConnection不会产生大的开销,建立一个网络连接,使用SQL Server验证的开启和关闭,设置出现的任何连接特定的数据(等),而池(除了在初始物理连接创建)。 当打开被调用时,现有的连接从池中获取(如果可用)和关闭时被调用,然后连接返回到池中。
启用连接池,我希望看到在保持开放连接的Web服务器和数据库服务器都在增加内存。 如果你不使用连接池,那么你可以做一些测试来衡量性能的影响是两个服务器的内容。
通常,这是不是你需要担心的东西 - 如果需要使用连接池和调整池参数。
Answer 2:
这不仅会影响最终的端到端响应时间,因为东西在数据库和web服务器都正在进行。 总之,您的网页都会加载比较慢,即使在轻负载。
吞吐量的角度来看,它可能会伤害更多的数据库,因为它做的所有工作的认证,但是这只是胡乱猜测。
文章来源: Overhead of opening connection