База дадзеных для маніторынгу прадукцыйнасці Microsoft SQL Server:
Для развіцця рашэння дасылайце ([email protected]) уласныя методыкі па аналізе і аптымізацыі прадукцыйнасці і спосабы прымянення дадзенага рашэння на практыцы.
Аптымізацыя працы сервера
, базы дадзеных і выканання запытаў - гэта складаная і працаёмкая праца, якая павінна выконвацца пастаянна.
Гэта вобласць, у якой цесна пераплятаюцца вобласці кампетэнцый і адказнасці адміністратара і распрацоўніка баз дадзеных. Часцяком толькі іх сумесная праца дазваляе дамагчыся выніку.
У першую чаргу, неабходна вызначыць прыярытэты і мэтавыя паказчыкі ў працы базы дадзеных: любая аптымізацыя з'яўляецца аднабаковай, і дазваляе ўзмацніць пэўнай аспект працы сістэмы за кошт дэградацыі іншых аспектаў і ўскладнення самой сістэмы.
Калі мы будзем займацца "кропкавай" аптымізацыяй, г.зн. не будзем аналізаваць працу сервера базы дадзеных у цэлым, то можам атрымаць сітуацыю, калі пры аптымізацыі адной задачы ў нас зніжаецца ўзровень прадукцыйнасці для іншых задач.
Відавочным паказчыкам прадукцыйнасці з'яўляецца час выканання запыту. Але гэта, на самой справе, умоўны крытэрый, паколькі на яго ўплываюць мноства фактараў, якія складана кантраляваць. Простым і аб'ектыўным паказчыкам з'яўляецца тое, якая праца выконваецца сістэмай пры выкананні запыту: перш за ўсё аб'ём апрацаваных дадзеных (увод-выснова). І асноўнай задачай аптымізацыі з'яўляецца менавіта мінімізацыя нагрузкі на сістэму і яе балансіроўка - раўнамерная нагрузка на апаратныя рэсурсы.
Часта праблемы з прадукцыйнасцю маюць эфект «даміно» - важна знайсці першапрычыну і ліквідаваць менавіта яе, а не сімптомы.
Microsoft SQL Server мае мноства сродкаў дыягностыкі , Якія могуць генераваць вялікія аб'ёмы інфармацыі. З дапамогай дынамічных адміністрацыйных аб'ектаў (DMV / DMF) можна досыць проста атрымаць карцінку ў цэлым, альбо вельмі дэталёвую, што датычыцца канкрэтнага запыту або аб'екта базы дадзеных.
Складанасць заключаецца ў тым, што немагчыма толькі па адным паказчыку зрабіць дакладную ацэнку і выпрацаваць эфектыўнае рашэнне праблемы: неабходна пастаянна адсочваць ўзаемнае ўплыў розных знешніх і ўнутраных фактараў прадукцыйнасці.
Таксама важна разумець, што кожны асобнік СКБД мае свае асаблівасці па канфігурацыі і нагрузцы, і просты перанос паспяховых практык з адной сістэмы на іншую не дае гарантаванага выніку.
Для гэтага мы ствараем службовую базу дадзеных, у якой назапашваем фактычныя і статыстычныя дадзеныя аб працы нашай сістэмы, і таксама захоўваем нашы практыкі па дыягностыцы і аптымізацыі ў выглядзе уяўленняў і захоўваемых працэдур.
На аснове прафесійных ведаў супольнасці, даступных на форумах, блогах і ў прафесійнай літаратуры, я распрацоўваю рашэнне для даследавання канфігурацыі і нагрузкі на Microsoft SQL Server (Database Engine). Гэта рашэнне рэалізавана ў выглядзе базы дадзеных, якая змяшчае ў сабе табліцы, запыты і захоўваемыя працэдуры для збору і захоўвання дыягнастычнай інфармацыі (гл. Наступны малюнак), а таксама сродкі для выяўлення і рашэнні стандартных праблем.
Таксама гэта рашэнне выкарыстоўваецца для навучання, таму ў ім маюцца дадзеныя, якія прадстаўляюць веды аб Microsoft SQL Server ў фармалізаваным выглядзе. Гэтыя веды дапамагаюць атрымліваць больш «багатае» ўяўленне аб нашай сістэме, звязваючы паміж сабой асобныя паказчыкі і фармуючы крытэры для іх якаснай ацэнкі.
Распрацоўваецца спецыялізаванае прыкладанне для візуалізацыі дыягнастычных дадзеных.
На аснове фармалізаваных ведаў забяспечваецца іх інтэлектуальны аналіз і тлумачэнне атрыманай інфармацыі.
Гэта рашэнне мае адкрытую архітэктуру і дазваляе дадаваць новыя метады па дыягностыцы і наладзе працы СКБД.
дарожная карта
Вебинар Архітэктура і прадукцыйнасць Microsoft SQL Server
бібліяграфія
- SQL Server Performance Survival Guide
- Expert performance indexing for SQL Server 2012. Jason Strate, Ted Krueger.
- Inside the SQL Server Query Optimizer. Benjamin Nevarez.
- Microsoft SQL Server 2012 Performance Tuning Cookbook. Ritesh Shah, Bihag Thaker.
- Optimizing Fill-factors for SQL Server. Ken Lassesen.
- Performance Tuning with SQL Server Dynamic Management Views. Louis Davidson, Tim Ford.
- Plan Caching and Recompilation in SQL Server 2012. Greg Low.
- Pro SQL Server internals. Dmitri Korotkevitch
- Pro SQL Server Wait Statistics. Enrico van de Laar.
- SQL Server DMVs in Action. Better queries with dynamic management views. Ian W. Stirk.
- SQL Server Statistics. Holger Schmeling.
- SQL Server Query Performance Tuning. Grant Fritchey.
- SQL Server Concurrency. Locking, Blocking and Row Versioning. Kalen Delaney.