很多做架构设计、程序开发、运维、技术管理的朋友可能或多或少有这样的困惑:
  1. SQLServer到底支持多少连接数的并发?
  2. SQLServer是否可以满足现有的应用吗?
  3. 现有的技术架构支持多少连接数的并发?
  4. 在硬件性能与网络性能足够理想的情况下理论上可以支持多少并发连接?
  5. 生产环境中的数据库现在的并发量是多少?
  6. 如何监控现有数据库并发的数量?
  7. 生产环境中的并发量距离理论上的最大并量发还差多少?

为此,我专门写程序做了下测试,利用循环不断的打开连接并保持连接打开不关闭,测试代码如下:

using System;

using System.Collections.Generic;

namespace SQLServerMaxConnectionTest

{

    class Program

    {

        static void Main(string[] args)

        {

            int maxCount = ;

            List<HotSpotEntities> collection = new List<HotSpotEntities>();

            for (int i = ; i < maxCount; i++)

            {

                Console.WriteLine(string.Format("成功创建连接对象{0}",i));

                var db = new HotSpotEntities();

                db.Connection.Open();

                collection.Add(db);

            }

        }

    }

}

第一轮的测试结果令我比较吃惊。

当创建到101个连接的时候,就无法再创建新连接了。也就是说,如果连接字符串不做任何处理,我们的程序只能够跟SQLServer建立101个连接。测试结果截图如下:

第二轮测试,启用连接池。

在连接字符串中加入代码:

Pooling=true;Max Pool Size=40000;Min Pool Size=0;

连续若干次内存都被耗尽了,不过结果还算欣慰。

最高记录是29299,很显然不是最高记录,只因为我的笔记本内存有限,所以很难突破。

微软对最大连接数的定义

微软在MSDN上对最大连接数的定义是:“默认是0,代表不限制,但最大连接数是32767”。 如下图所示:

有兴趣的朋友可以自己编写代码测试、分享一下。

如何监测SQLServer的连接数

SP_WHO 'loginName'
loginName 是当然登陆Sql的用户名,一般程序里面都会使用一个username来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。
如果不写loginName,那么返回的就是所有的连接。

既然连接数是可预测、可监测的,那么它就是可度量的,那么我们就可以根据实际情况来评估或测试程序的并发放量了。

有了这些,相信以上的困惑应该可以解开了吧。

转自:http://www.cnblogs.com/wlb/archive/2012/04/08/2437617.html

SQLServer的最大连接数 超时时间已到 但是尚未从池中获取连接的更多相关文章

  1. 连接字符串中Min Pool Size的理解是错误,超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

    Min Pool Size的理解是错误的 假设我们在一个ASP.NET应用程序的连接字符串中将Min Pool Size设置为30: <add name="cnblogs" ...

  2. System.Data.Entity.Core.EntityException: The underlying provider failed on Open. ---> System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

    2017/8/15 20:55:21 [AgentPayQuery_205506102_1BBBB]系统异常:System.Data.Entity.Core.EntityException: The ...

  3. [bug]超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

    引言 自己弄了一个小项目——日程管理系统,在初始化日期时,查询了数据库,每个日期就会查询一次数据库,就导致了这个问题. 问题 出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小. Desc ...

  4. Timeout expired超时时间已到. 达到了最大池大小 错误及Max Pool Size设置

    此文章非原创,仅为分享.学习!!! 参考数据库链接串: <add key="data" value="server=192.168.1.123; port=3306 ...

  5. Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置

    参考数据库链接串: <add key="data" value="server=192.168.1.123; Port=3306; uid=root; pwd=ro ...

  6. error connecting: Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置

    [参考]Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置 [参考][数据库-MySql] MySqlConnection error connec ...

  7. EFCore 调试远程SqlServer数据库提示信号灯超时时间已到

    背景 最近在使用EFCore去连接阿里云上面的数据库进行开发的时候,当自己在Debug模式下总是提示下面的报错信息,然后找了好久都没有解决,报错信息如下: an exception has been ...

  8. 备忘-Sql server Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置

    select * from sysprocesses where dbid= db_id('数据库名') 通过此语句可查看目前所有的连接进程 不够了就必须设置Max Pool Size,理论最大值为3 ...

  9. sqlserver Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应

      随着数据库数据的不断增大,查询时间也随之增长.今天在之前一个项目中执行数据库查询超过30秒就报“Timeout 时间已到.在操作完成之前超时时间已过或服务器未响应.”了,网上找了些文章,是在.co ...

随机推荐

  1. POJ 1845 Sumdiv (求某个数的所有正因子的和)

    题意: 求A^B的所有正因子的和,最后模9901的结果. 思路: 若对一个数n进行素数分解,n=p1^a1*p2^a2*p3^a3*...*pk^ak那么n的所有正因子之和sum=(1+p1+...+ ...

  2. ios图片拉伸两种方法

    UIImage *image = [UIImage imageNamed:@"qq"]; 第一种: // 左端盖宽度 NSInteger leftCapWidth = image. ...

  3. el中保留字empty与null的区别

    先看例子: <%@page pageEncoding="utf-8" %><BR>name:${param.name }<br /> empty ...

  4. session原理总结

    session原理总结 session多服务器共享的方案梳理 session原理 session的工作原理 客户端禁用cookie时session解决方案[转]

  5. Python概述_软件安装_常见问题

    1.  Python安装 目前python有2个大版本,2和3,由于2和3语法有差别,现有的许多库都是基于python2开发,本系列文章以python2为主. 1.1  重要概念 1. 动态语言 运行 ...

  6. Linux之proc详解

    1. /proc目录    Linux内核提供了一种通过/proc文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以 ...

  7. JavaWeb项目开发案例精粹-第4章博客网站系统-004Service层

    1. package com.sanqing.service; import java.util.List; import com.sanqing.fenye.Page; import com.san ...

  8. JavaWeb项目开发案例精粹-第4章博客网站系统-002辅助类及配置文件

    1. <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5&qu ...

  9. 1.BOM学习

    1.bom.html <html> <head> <title>bom演示</title> <script type="text/jav ...

  10. MongoDB驱动特性检查列表

    http://docs.mongodb.org/meta-driver/latest/legacy/feature-checklist-for-mongodb-drivers/ 1. 基本(Essen ...