zoukankan      html  css  js  c++  java
  • sqlserver数据库连接数相关问题

    sql语句监控连接数量

      

    SELECT  ec.client_net_address ,
            es.[program_name] ,
            es.[host_name] ,
            es.login_name ,
            COUNT(ec.session_id) AS [connection count]
    FROM    sys.dm_exec_sessions AS es
            INNER JOIN sys.dm_exec_connections AS ec ON es.session_id = ec.session_id
    GROUP BY ec.client_net_address ,
            es.[program_name] ,
            es.[host_name] ,
            es.login_name
    ORDER BY [connection count] desc
    View Code
    设置最大连接池数量

     

     

    在连接字符串中加上 "max pool size=512;  ",如果不设置的话,默认为100

     

    避免数据库连接数过高

      

    1.合理使用缓存,减少数据库请求量

     2.检查慢sql并优化

    SELECT TOP 20
        total_worker_time/1000 AS [总消耗CPU 时间(ms)],execution_count [运行次数],
        qs.total_worker_time/qs.execution_count/1000 AS [平均消耗CPU 时间(ms)],
        last_execution_time AS [最后一次执行时间],max_worker_time /1000 AS [最大执行时间(ms)],
        SUBSTRING(qt.text,qs.statement_start_offset/2+1, 
            (CASE WHEN qs.statement_end_offset = -1 
            THEN DATALENGTH(qt.text) 
            ELSE qs.statement_end_offset END -qs.statement_start_offset)/2 + 1) 
        AS [使用CPU的语法], qt.text [完整语法],
        dbname=db_name(qt.dbid),
        object_name(qt.objectid,qt.dbid) ObjectName
    FROM sys.dm_exec_query_stats qs WITH(nolock)
    CROSS apply sys.dm_exec_sql_text(qs.sql_handle) AS qt
    WHERE execution_count>1
    ORDER BY  max_worker_time /1000 DESC
    View Code

     

  • 相关阅读:
    C#连接、访问MySQL数据库
    对列表遍历同时增删操作时注意事项 c
    Linux 操作命令 c
    Memcached 入门 转载与ferreousbox
    转载http://zxiaofei168.iteye.com/blog/1044843 spring事务管理
    spring mvc 学习 转载
    自定义Annotation
    Java的路径问题 转载
    设置火狐调试时间
    vi/vim 基本使用方法(转载)
  • 原文地址:https://www.cnblogs.com/Linky008/p/14134121.html
Copyright © 2011-2022 走看看