SQL数据库连接池:

先前做的一个Sharepoint项目,在上线后的不久,最近一直出现间歇性访问缓慢问题Sharepoint特性问题,并分析了其数据库服务器,发现所耗内存已经达到了97%。

所以断定是服务器内存不够使导致的,为了让客户升级硬件配置,扩展内存。我还在官网中,找到相应的资料,利用监控性能观察了,需要扩展内存的几个参数配置,那些都说明了,我们需要扩展内存,于是乎内存就扩充了。

然后再访问网站的时候,速度果然快了,起初还很自豪的以为问题解决了,可是好景不长,后面又出现访问速度缓慢的现象,再看数据库服务器,发现其内存也没有耗费太多,故只得从另外一个角度去思考了。

后来,发现是连接池的原因导致的,因为C#程序,默认是开启连接池功能的,而允许的最大连接数是100,即Max pool size = 100,在某个时间访问缓慢的原因就是因为这一时刻,同时并发数超过了100。为了说明是连接池的原因,我在测试服务器中进行测试,在默认情况下,这个测试网站访问速度是很快的,后来我将Max Pool Size = 1,再进行访问的时候,发现速度就如同蜗牛一般;于是将max pool size 设置稍微大点,再访问速度就有恢复正常。

从这一结果可以看出,我的推断是正确的,于是我就将正式服务器的Max pool size设置为500,间歇性访问缓慢的问题就解决了。

Return关键字:

在我接触的各个程序设计语言中,都有return关键字,其功能是直接结束其所在的函数,并返回相应的值。

但在今天,我在写程序的时候,为某个方法MethodA(),在某种条件下if(false) 调用了return,但是运行的时候总是不会出现我要的结果,如我想要A,程序运行完却出现了B,开始没想清楚,为什么依然会往后执行相应的程序,调试的结果也进入了我的if语句,而结果却不尽如意。

经过仔细思考,发现是因为MethiodB()程序并没有结束,我们只是结束了MethodA(),所以就会执行MethodB()的其他程序,也不知道当时是怎么想的,认为程序调用了return,就整个程序结束。

下面写写两个方法的伪代码:

MethodB()
{
some codes;
MethodA()
{
some codes;
return;
some codes;
}
other codes;
}

发现了,这个思想误区,后面的问题就迎刃而解了。

以上,是我最近的一点认知,写上来为了更好的提醒自己,尽量少犯点错,如有不当之处,还望各位同仁给点意见和建议,我将不胜感激。

SQL数据库连接池与C#关键字return的更多相关文章

  1. Go组件学习——database/sql数据库连接池你用对了吗

    1.案例 case1: maxOpenConns > 1 func fewConns() { db, _ := db.Open("mysql", "root:roo ...

  2. JDBC编程学习笔记之数据库连接池的实现

    在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机.造成的损失将会是巨大的.再看有了数据库连接池的JDBC ...

  3. ADO.NET中SQL Server数据库连接池

    连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前 ...

  4. c3p0数据库连接池无法连接数据库—错误使用了username关键字

    一.问题描述 上篇博客说到了关于maven无法下载依赖jar包的问题,这篇博客再说一下关于在本个项目中遇到的关于使用C3P0连接池连接数据库的问题,真心很奇葩,在此,也请大家引起注意.首先看我的项目基 ...

  5. spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)

    一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...

  6. 数据库连接池与SQL工具类

    数据库连接池与SQL工具类 1.数据库连接池 依赖包 pymysql dbutils # -*- coding: utf-8 -*- ''' @Time : 2021/11/19 16:45 @Aut ...

  7. tomcat 7配置数据库连接池,使用SQL Server2005实现

    昨 天看了一些网上的tomcat数据库连接池配置的东西,但是一直没配好,主要原因是网上的文章几乎没有针对tomcat 7进行配置的,而且针对SQL SERVER的也不多,今天上午看了官方的文档,花了一 ...

  8. 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句

    参考帖子:http://www.cnblogs.com/han-1034683568/p/6730869.html Druid数据连接池简介 Druid是Java语言中最好的数据库连接池.Druid能 ...

  9. SQL面试整理(1)——数据库连接池

    在web开发中,如果JSP.Servlet或EJB使用JDBC直接访问数据库,每一次数据访问请求都必须经历建立数据库连接,打开数据库,存取数据库和关闭数据库连接等操作步骤,如果频繁发生这种数据库操作, ...

随机推荐

  1. storm 经常使用类

    弄 <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core< ...

  2. hadoop编程技巧(8)---Unit Testing (单元测试)

    所需的环境: Hadoop相关jar包裹(下载版本的官方网站上可以): 下载junit包裹(新以及). 下载mockito包裹: 下载mrunit包裹: 下载powermock-mockito包裹: ...

  3. Js跨域小总结

    教程 以下的例子包含的文件均为为http://www.a.com/a.html.http://www.a.com/c.html 与http://www.b.com/b.html ,要做的都是从a.ht ...

  4. C#6

    C#6   1. 只读自动属性(Read-only auto-properties) C# 6之前我们构建只读自动属性: 1 public string FirstName { get; privat ...

  5. java 中的两个常用命令

    这两个命令,分别为,javac 和java 实际操作如下图:

  6. javascript的回调函数 同步 异步

    后一个任务等待前一个任务结束再执行.程序执行顺序与任务排列顺序一致的,同步的. 参考: http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%B ...

  7. Linux运维完全小白入门指南

    前几天整理了一下自己入门时候搜集的资料,一边整理一边回忆. 那时候我还是个小白,用虚拟机装了个CentOS系统来玩,但是总也装不上,在论坛上求助也没人理.半天终于有个人说在某网站看过这个问题,我又找了 ...

  8. 创Python规划2

    于Milang的IDE多年的编辑后,,然后按F5关于实施.这将是在下面Output输出形式"Hello, World!"弦,例如下面的附图: watermark/2/text/aH ...

  9. hibernate validator 专题

    JSR-303 原生支持的限制有如下几种 : 限制 说明 @Null 限制只能为 null @NotNull 限制必须不为 null @AssertFalse 限制必须为 false @AssertT ...

  10. CMMI能力成熟度模型集成的过程域

    什么是CMMI CMMI全称是Capability Maturity Model Integration, 即能力成熟度模型集成,是由美国国防部(Office of the Secretary of ...