分片映射管理器是否创建单个连接池来管理所有sql连接,或者在每个客户场景一个db的情况下是否为每个唯一的连接字符串/分片/数据库生成一个新池?
连接到许多数据库的应用程序将导致池碎片并占用服务器中的大量内存。微软建议记住这一点,甚至在下面的链接中提出一个解决方案,但我不确定他们是否在他们的分片地图管理器中使用这种做法:
https://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx
答案 0 :(得分:1)
每个唯一的连接字符串都会产生不同的连接池。这意味着您连接到的每个分片将有一个单独的连接池。未使用https://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx处的解决方案,因为它不适用于Azure SQL DB(不支持USE
语句)。
如果这成为您的问题,推荐的解决方案是端到端架构方法,其中应用实例与某些分片键范围相关联。这样每个应用程序只会连接到一个碎片子集,这将减少碎片。