惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 一个春天

用ASP.NET 2.0实现AJAX风格的Web开发 Web2.0时代,RSS你会用了吗? web2.0开源代码 - 一个春天 Web 2.0 编程思想:16条法则 Web2.0简介 解读Web 2.0流行词 什么是RSS? Web 2.0学习指南 什么是Web 2.0 biztalk中调用.NET类 C#创建快捷方式 获得Windows中系统特殊文件夹的位置 NET Framework的安装 DataGrid常见问题 DataGrid列宽度设置 User Control事件无法触发? ASP.NET中动态创建DataGrid的模板列 Dispose模式 关于ASP.NET程序的发布
ADO.NET中连接池状态的跟踪
一个春天 · 2004-07-10 · via 博客园 - 一个春天

因为测试的时候用的都是小数据量数据,程序运行正常,但是到了客户那里,碰到才100多条的数据,居然提示我连接超时,让我百思不得其解。一时间不知道怎么跟踪好。
寻寻觅觅,终于找到了一个跟踪数据连接池状态的方法:
http://www.yesky.com/SoftChannel/72342380484755456/20020930/1633376_2.shtml
顺便在这里抄录一下:
监视链接池化   要监视应用程序对链接池化的应用情况,可以使用随SQL Server发行的Profiler工具,或随微软Windows 2000发行的性能监视器。

  要利用SQL Server Profiler 监视链接池化,操作如下:

  1. 单击开始,指向程序,指向Microsoft SQL Server,然后单击Profiler运行Profiler。
  2. 文件菜单中,指向新建,然后单击跟踪
  3. 提供链接内容,然后单击确定
  4. 跟踪属性对话框中,单击事件标签。
  5. 已选事件类别列表中,确保审核登录审核登出事件显示在安全审核下面。
  6. 单击运行开始跟踪。在链接建立时,将会看到审核登录事件;在链接关闭时看到审核登出事件。

  要通过性能监视器监视链接池化,操作如下:

  1. 单击开始,指向程序,指向管理工具,然后单击性能运行性能监视器。
  2. 在图表背景中右击,然后单击增加计数器。
  3. 在性能对象下拉列表框中,单击SQL Server:通用统计。
  4. 在出现的列表中,单击用户链接。
  5. 单击增加,然后单击关闭。

  注意 .NET框架的RTM版本将另外包含一组ADO .NET性能计数器(这些计数器能与性能监视器结合起来使用),这些计数器用于为SQL Server .NET数据供应器监视并积累链接池化状态。

一跟踪,吓了一大跳,程序在显示DataGrid的时候,连接数从1猛增到100。然后保持这个连接数,然后连接超时的错误出现了。查询了一下这段代码。原来是因为在DataGrid的ItemDataBound事件中动态去读数据用来显示,读数据的时候打开的Connection没有及时关闭!!!
得出两点教训:
1.Connection一定要及时关闭。可以用using语法。
2.DataGrid的ItemDataBound最好不要去动态执行Select语句,这样会影响显示的性能。最好用left outer join的方法。