SQL数据库连接池与C#关键字return
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的更多相关文章
- Go组件学习——database/sql数据库连接池你用对了吗
1.案例 case1: maxOpenConns > 1 func fewConns() { db, _ := db.Open("mysql", "root:roo ...
- JDBC编程学习笔记之数据库连接池的实现
在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机.造成的损失将会是巨大的.再看有了数据库连接池的JDBC ...
- ADO.NET中SQL Server数据库连接池
连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前 ...
- c3p0数据库连接池无法连接数据库—错误使用了username关键字
一.问题描述 上篇博客说到了关于maven无法下载依赖jar包的问题,这篇博客再说一下关于在本个项目中遇到的关于使用C3P0连接池连接数据库的问题,真心很奇葩,在此,也请大家引起注意.首先看我的项目基 ...
- spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)
一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...
- 数据库连接池与SQL工具类
数据库连接池与SQL工具类 1.数据库连接池 依赖包 pymysql dbutils # -*- coding: utf-8 -*- ''' @Time : 2021/11/19 16:45 @Aut ...
- tomcat 7配置数据库连接池,使用SQL Server2005实现
昨 天看了一些网上的tomcat数据库连接池配置的东西,但是一直没配好,主要原因是网上的文章几乎没有针对tomcat 7进行配置的,而且针对SQL SERVER的也不多,今天上午看了官方的文档,花了一 ...
- 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句
参考帖子:http://www.cnblogs.com/han-1034683568/p/6730869.html Druid数据连接池简介 Druid是Java语言中最好的数据库连接池.Druid能 ...
- SQL面试整理(1)——数据库连接池
在web开发中,如果JSP.Servlet或EJB使用JDBC直接访问数据库,每一次数据访问请求都必须经历建立数据库连接,打开数据库,存取数据库和关闭数据库连接等操作步骤,如果频繁发生这种数据库操作, ...
随机推荐
- storm 经常使用类
弄 <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core< ...
- hadoop编程技巧(8)---Unit Testing (单元测试)
所需的环境: Hadoop相关jar包裹(下载版本的官方网站上可以): 下载junit包裹(新以及). 下载mockito包裹: 下载mrunit包裹: 下载powermock-mockito包裹: ...
- Js跨域小总结
教程 以下的例子包含的文件均为为http://www.a.com/a.html.http://www.a.com/c.html 与http://www.b.com/b.html ,要做的都是从a.ht ...
- C#6
C#6 1. 只读自动属性(Read-only auto-properties) C# 6之前我们构建只读自动属性: 1 public string FirstName { get; privat ...
- java 中的两个常用命令
这两个命令,分别为,javac 和java 实际操作如下图:
- javascript的回调函数 同步 异步
后一个任务等待前一个任务结束再执行.程序执行顺序与任务排列顺序一致的,同步的. 参考: http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%B ...
- Linux运维完全小白入门指南
前几天整理了一下自己入门时候搜集的资料,一边整理一边回忆. 那时候我还是个小白,用虚拟机装了个CentOS系统来玩,但是总也装不上,在论坛上求助也没人理.半天终于有个人说在某网站看过这个问题,我又找了 ...
- 创Python规划2
于Milang的IDE多年的编辑后,,然后按F5关于实施.这将是在下面Output输出形式"Hello, World!"弦,例如下面的附图: watermark/2/text/aH ...
- hibernate validator 专题
JSR-303 原生支持的限制有如下几种 : 限制 说明 @Null 限制只能为 null @NotNull 限制必须不为 null @AssertFalse 限制必须为 false @AssertT ...
- CMMI能力成熟度模型集成的过程域
什么是CMMI CMMI全称是Capability Maturity Model Integration, 即能力成熟度模型集成,是由美国国防部(Office of the Secretary of ...