SQLSERVER 성능 테스트 및 최적화 도구 및 자세한 성능 테스트 SQLSERVER 최적화에 대한 자세한 사항을 사용하여

원본 : SQLSERVER 성능 테스트 및 최적화 도구 정보

 

도구 요약    

    데이터베이스 응용 프로그램 시스템의 경우, 많은 수의 테이블이 있습니다, 뷰, 인덱스, 트리거, 함수, 저장 프로 시저 등 SQL 문을, 그리고 성능 저하, 하드 당신이, 당신은 어떻게 할 수 그것을 최적화해야 강제로 ? 형제 먼저 문제가 어디 알아야 할, 당신을 가르 칠? 당신이 그를 어디에 문제가 알고 찾으려면, 우리는 성능 테스트 도구 --sql 서버 프로파일 러에게이 문서를 사용할 수 있습니다 (SQL 설치 파일에 - 성능 도구 --sql 서버 프로파일)

    이 문제는,하지만 당신은 비할 마스터 물론, 제거하는 처리하는 코드의 섹션을 쓰기의 핵심 직선있을 수 있지만, 경우에 경우에 당신이 할 수없는, 당신은, 다음이 문제가, 당신은 당신 동생의 힘을 사용할 수 없습니다 수없는 경우 당신이 알고있는 경우 이 문제를 해결합니다. 동생에게 마음이 비밀 무술을 부여 --- 데이터베이스 (SQL 설치 파일 - 성능 도구 - 데이터베이스 엔진 튜닝 관리자) 엔진 튜닝 관리자

SQL 서버 프로파일 기능 

    그는 당신이 그를 움직이지 않는 경우에도, 데이터베이스마다 움직임을 감지 할 수 있기 때문에, 그 사람도 당신을 지켜보고이 도구 자전거 할머니도 코난, 그는 매우 저렴했다. 그는 단지 모니터링뿐만 아니라, 훌륭한 세부 사항, 또한 내용이 데이터베이스 나 파일에 기록 모니터링하는 방법을 자세히 말할 것이다 하나, 당신이 얼마나 나쁜의 데이터베이스 성능을 넣어 아내의 말에 불평을 모니터링뿐만 아니라, 그가하지 당신은 물론 좋은 기록, 좋고 나쁜을 줄 것이다, 당신이 분석 할 필요가, 사실, 그는 매우 코난 2도이다.

데이터베이스 엔진 튜닝 관리자 기능 

    이 무술, 뛰어난 무술이다. 키안 군 다 Nuo의 장 Wuji처럼 그의 팔에 두 개의 바퀴, 느낌 차례 야,주고 먼저 SQL 서버 프로파일 러 등 SQL, 뷰, 저장 프로 시저, 데이터 구조를 감지 동의 한 후 그는 자신을 분석하고, 전원은 정력, 더 나은 인덱싱, 통계 등을 권장 파티션 정보를 던져. 당신이 부담 happly 죽음을 보자. . 당신이 우리의 첫 2 코난 이야기에 동생 아래들을 수 있습니다.

SQL 서버 프로파일의 사용

--- --- >> SQL 서버 프로파일 여러 성능 도구 --sqlserver 메인 메뉴를 열고, 바보 이방인, 찾지 못 하셨나요? 당신을 기다리는 동안 형제, 당신에게 그가 당신이 볼 수 있도록 한 후 장을 열 수있는지도를 제공합니다. .

그런 다음 파일 - 새 추적 - 추적 속성 창 표시

즉, 우선은 textData % 필터 모니터링을 선택할 수있다. 그건 %는 자신의 개방 문을 선별 선택하는 것이 수단 와일드 카드입니다. 물론, 이것은 쉽게 업데이트 % 삭제 %로, 자신을 정의 할 수 있습니다 .....

즉에 넣어 될 값을 포함하는 행을 제외하고 실행을 결정하지 않습니다. 그리고 데이터베이스의 선택을 실행합니다. 당신은 그가 그것을 발견 찾을 수 있습니다.

시작 EventClass에서이 권리의 각 열은, 난 당신에 대해 무엇을 말씀 드릴.

성명을 신청 이벤트 분류, 응용 프로그램 이름은 시스템 사용자, 데이터베이스 사용자의 CPU 점유율을 운영, 데이터베이스의 수를 읽고 응용 프로그램 프로세스 ID로 스크립트를 실행할 때 쓰기 데이터베이스는 한 번, 종료 시간을 시간을 시작했다.

이벤트를 선택하고, 마우스가 올려 넣어, 그는 중국 아래 말한다. 자신의 좋은 모습은 다음 이벤트를 확인하기 위해 자신의 필요에 따라.

그런 다음 파일 - >> 다른 이름으로 저장, 파일이나 데이터 테이블에 대한 모니터링 데이터를 저장할 수 있습니다.

분석 :

가장 긴 쿼리를 찾기 1

정상적인 상황에서는이 가장 긴 시간 쿼리 쿼리에 대한 이유가 가장 영향을 미치는 성능이다. 그것은 시간 데이터베이스 엔진의 많은뿐만 아니라 시스템 자원의 낭비를 취하지 만 대화 형 데이터베이스 응용 프로그램 시스템의 속도에 영향을 미칠뿐만 아닙니다. 저장 프로 시저-RPC와 BatchCompleted :. 완료 : 트랙을 만들 때하는 동안 데이터가 먼저 그를 찾아 최적화 응용 시스템에 사용할 수 있습니다, 자신의 최적화, TSQL-SQL 후크. 그래서 당신은 시간 쿼리의 최대 양을 찾아 최적화를 분석 할 수 있습니다.

<추적 테이블>에서은 textData, 지속 시간, CPU 선택 
(12)와 동일한 BatchCompleted 이벤트 대표 - EventClass = (12) 
와 CPU를 <(0.4 * 시간) - 주 CPU 인 시간, 40 % 미만 SQL 문 실행 시간의 경우, 문 대기 너무 오래

2. 대부분의 시스템 자원 쿼리

就是占用cpu时间,跟读写IO的次数。建议事件包含Connect、Disconnect、ExistingConnection、SQL:BatchCompleted、RPC:completed,列包含writes,reads,cpu。

3.检测死锁

在访问量,并发量都很大的数据库中,如果设计稍不合理,就有可能造成死锁,给系统性能带来影响。事件包含:RPC:Starting、SQL:BatchStarting、Lock:DeadLock(死锁事件)、Lock:DeadLockChaining(死锁的事件序列)。

使用数据库引擎优化顾问分析解决数据库性能

打开系统主菜单--sqlserver几---性能工具--->>数据库引擎优化顾问,界面如下

 

 

打开之后,你在上一个工具中保存的的文件,你就在这里的工作负荷中选文件,表就选表。选后别急。

把要分析的数据库跟数据库的表选上,也就是下面的用于工作负荷分析的数据库选择,跟下面的要优化的数据库和表,慢慢扣,把他选对。

然后选则你想要的优化选项

根据需要,选上,高级选项里面通常可以默认。确定。。

然后点左上角有一个开始分析。

分析完成

工具概要    

    如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler)

    如果知道啦问题出现在哪里,如果你又是绝世高手,当然可以直中要害,写段代码给处理解决掉,但是如果你不行,你做不到,那么也无所谓,可以借助哥的力量给你解决问题。哥给你的武功的秘诀心法是---数据库引擎优化顾问(处在sql安装文件--性能工具--数据库引擎优化顾问)

sql server profiler功能 

    此工具比柯南还柯南,因为他能检测到数据库中的一举一动,即便你不动他,他也在监视你,他很贱的。他不但监视,还监视的很详细,有多详细一会再说,还把监视的内容记录到数据库或者是文件中,给你媳妇告状说你把数据库哪里的性能搞的多么不好,不过他也会把好的给你记录下来,好与不好这当然需要你来分析,其实他也是个很2的柯南。

数据库引擎优化顾问功能 

    此武功,乃上乘武功。像张无忌的乾坤大挪移,先是接受sql server profiler检测出来的sql,视图,存储过程,数据结构等等,然后他再自己分析,然后再在怀中转两圈,感觉自己转的差不多啦,就给抛出来个威力更炫,更好的索引,统计,分区等等建议信息。让你承受不住,happly致死。。下面听哥给你先讲讲咱们的很2柯南。

sql server profiler的使用

打开系统主菜单--sqlserver几---性能工具--->>sql server profiler;笨样儿,找到没?哥等你会儿,给你上张打开他后的图,让你看看。。

然后文件--新建跟踪--显示跟踪属性窗口

首先那个select%是个筛选监测的TextData。那个%是个通配符,他的意思就是筛选select开口的语句。当然这你自己可以随便定义,如update%,delete%....。

把那个排除不包含值的行也给带上,然后确定,运行。然后在数据库中运行一句select。你会发现他检测到啦。

每列以此向右,从EventClass开始,我给你讲讲都是什么。

事件分类,申请了语句,应用程序名称,操作系统用户,数据库用户,cpu占用率,读数据库次数,写数据库次说,执行脚本用时,应用程序进程号,开始时间,结束时间等。

事件选择,你就把鼠标放上去,他下面有中文的注释。自己好好看看,然后根据你自己的需要把事件勾选上来。

然后文件-->>另存为,可以把这些监测到的数据保存为文件,或数据表。

分析:

1.查找持续时间最长的查询

一般情况下,最长查询时间的查询语句就是最影响性能的原因存在。它不仅占用数据库引擎大量的时间,还浪费系统资源,还影响数据库应用系统的交互速度。再对数据用应用系统进行优化时,先找出他,对其优化,在创建跟踪时,勾上TSQL-SQL:BatchCompleted.跟Stored Procedures-RPC:completed。这样就能找出来这个最长时间查询然后对其进行分析优化。

select TextData,Duration,CPU from <跟踪的表>
where EventClass=12 -- 等于12表示BatchCompleted事件
and CPU<(0.4*Duration)  --如果cpu的占用时间,小于执行sql语句时间的40%,说明该语句等待时间过长

2.最占用系统资源的查询

就是占用cpu时间,跟读写IO的次数。建议事件包含Connect、Disconnect、ExistingConnection、SQL:BatchCompleted、RPC:completed,列包含writes,reads,cpu。

3.检测死锁

在访问量,并发量都很大的数据库中,如果设计稍不合理,就有可能造成死锁,给系统性能带来影响。事件包含:RPC:Starting、SQL:BatchStarting、Lock:DeadLock(死锁事件)、Lock:DeadLockChaining(死锁的事件序列)。

使用数据库引擎优化顾问分析解决数据库性能

打开系统主菜单--sqlserver几---性能工具--->>数据库引擎优化顾问,界面如下

 

 

打开之后,你在上一个工具中保存的的文件,你就在这里的工作负荷中选文件,表就选表。选后别急。

把要分析的数据库跟数据库的表选上,也就是下面的用于工作负荷分析的数据库选择,跟下面的要优化的数据库和表,慢慢扣,把他选对。

然后选则你想要的优化选项

根据需要,选上,高级选项里面通常可以默认。确定。。

然后点左上角有一个开始分析。

分析完成

추천

출처www.cnblogs.com/zhang1f/p/11953695.html