Questions tagged «connection-pooling»

2
连接池被重置,错误:18056,严重性:20,状态:46。&Perfmon计数器未显示
我们使用SQL身份验证(以减少连接池的数量)和.NET 4.0连接字符串连接到Windows 2008 R2 Enterprise Server上的SQL Server Enterprise Edition 2012 SP1: Microsoft SQL Server 2012(SP1)-11.0.3000.0(X64) 2012年10月19日13:38:57 版权所有(c) Windows NT 6.1(Build 7601:Service Pack 1)上的Microsoft Corporation Enterprise Edition(64位) 我们使用大约50台服务器,将其分为网站的不同部分8个不同的组。 我们的网站正在使用此SQL Server记录访问跟踪数据。在过去的几天中,它吐出了有关重置连接池的以下消息: 客户端无法重用SPID 1327的会话,该会话已被重置用于连接池。故障ID为46。此错误可能是由较早的操作失败引起的。在此错误消息之前,请检查错误日志中是否有失败的操作。 错误日志显示为: 错误:18056,严重性:20,状态:46 。客户端无法重用SPID 959的会话,该会话已被重置用于连接池。失败ID为46。此错误可能是由较早的操作失败引起的。在此错误消息之前,请检查错误日志中是否有失败的操作。 用户“ xxxx”的登录失败。原因:在重新验证连接登录时,无法打开在登录对象中配置的数据库'xxxxxxxx'。[客户:10.xx.xx.xxx] 经过一番挖掘后,我在CSS博客上找到了该文档:工作原理:错误18056 –客户端无法重用SPID ##进行会话,该会话已被重置用于连接池,Aaron Bertrand 对此进行了重置:故障排除错误18456。我知道错误号不同,但是失败ID相同,并且消息数量相同)。 故障ID 46表示登录名没有权限。我们的登录名默认为master数据库,并且数据库名称在连接字符串中指定。 我想检查连接字符串池等的数量,并检查Perfmon中所有的计数器.Net Data Provider for SqlServer。它只为我defaultdomain9675提供了实例的选项,因此我选择了那是假设它是我们的Datacentre网络的系统生成的ID名称。不幸的是,所有计数器的读数均为零。在我们的其他一台主服务器上,连接池徘徊在10个左右,这是我期望在具有这种负载的正常服务器上看到的。 我的问题是三折 …

2
具有pgpool架构的Postgres
下面是一个示例pgpool架构: 这意味着您只需要在单个服务器上安装pgpool。这是真的?当我查看配置时,我还看到您在其中配置了后端pgpool.conf。因此它进一步暗示了这一点。但是,这并不能解释为什么我也在后端服务器上看到pgpool。 查看文档时,我还会看到: 如果您使用的是PostgreSQL 8.0或更高版本,则强烈建议在所有可由pgpool-II访问的PostgreSQL上安装pgpool_regclass函数,因为它在pgpool-II内部使用。 所以我不确定该怎么想;最好的做法是在所有后端上或仅在专用服务器上都使用pgpool?

2
在Postgres中拥有成千上万的用户可行吗?
我们正在创建SAAS,最多将有50.000个客户。我们正在考虑在Postgres数据库中为每个客户创建一个用户。我们将每个登录我们服务的用户映射到数据库中的一个用户,以确保他们只能访问自己的数据。我们还希望通过此解决方案在触发器中直接在数据库中实现审计跟踪。如果每个客户都有自己的数据库用户,那么即使两个客户共享相同的数据,也很容易看到谁做了什么。 因为我们的数据库中有50.000个用户,我们是否会遇到一些意外问题?绩效方面或管理方面。也许连接池会更困难,但是我真的不知道我们是否需要它。

3
“当连接关闭并返回到池时,保留来自最后一个SET TRANSACTION ISOLATION LEVEL语句的隔离级别”?
MSDN在线文章“ SQL Server中的快照隔离 ”指出: “隔离级别具有连接范围的范围,并且一旦使用SET TRANSACTION ISOLATION LEVEL语句设置了连接,它将一直有效,直到关闭连接或设置另一个隔离级别为止。当关闭连接并返回到池中时,则保留了最后一个SET TRANSACTION ISOLATION LEVEL语句的隔离级别。后续重用池化连接的连接将使用在池化连接时生效的隔离级别。” 这是不矛盾的段落(“直到”还是“保留”)? 然后,如果在关闭连接并将其返回到池之后,“ 保留了与最后一个SET TRANSACTION ISOLATION LEVEL语句的隔离级别”,则应如何理解: 默认隔离级别将具有任意值(池中的不同连接将具有不同的隔离级别,并且其值将取决于重新打开的连接)? 还是池中所有连接的所有默认值都将更改为最后一个?但是又是未知数吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.