Iga lahendus tekitab uusi probleeme ehk alati võib leida veel ühe bugi.

Eesti blogid

Lingid, mida külastan

Rahvusvahelised blogid

Muud

Hetkel lugemisel:

Külastajate kaardid:

Lehe külastajate asukohad

Lugejad:

Hetkel lehel:

hit counters

Toetaja:

Tip: SQL Server 2005 Performance Dashboard

Olen avastanud enda jaoks eriti väärtusliku vahendi Live rakenduste SQL Server 2005 andmebaasiserveri jälgimiseks.

Antud vahendi kaudu on võimalik raportite abil saada erinevaid vaateid SQL Server 2005 hetke ja ajaloolisest olukorrast (alates SQL Server 2005 käivitamisest). Vahendil nimeks - SQL Server 2005 Performance Dashboard Reports. Tegu on raportitega, mille käivitamiseks ei ole vaja Reporting Service -i installimist ja töölepanek on väga lihtne, piisab vaid ühe SQL scripti käivitamisest ning seejärel raportite vaatamisest :)

Vahend pakub järgmist informatsiooni vaadete kaudu:

  • SQL Serveri koormus (prose)
  • Pikad päringud kestvuse, protsessori aja, loogilised lugemised, kirjutamised, CLR time
  • IO kasutamise statistika baaside kaupa
  • Ooteajad kategooriate ja tüüpide kaupa
  • Andmebaaside info
  • Võimalikud puuduvad indexid

Põhivaade

perf_dashboard_main_small

Üks näidisvaade - ajalooline vaade oodetele (peale klikates täisvaade).

Historical_waits_perf_dash

Juhend installimiseks:

1. Jooksuta scripti "C:\Program Files (x86)\Microsoft SQL Server\90\Tools\PerformanceDashboard\setup.sql" sellel SQL Server instantsil, millel soovid antud raporteid kasutada.

2. Seejärel ava Custom Raport SQL Server Management Studiost asukohalt "C:\Program Files (x86)\Microsoft SQL Server\90\Tools\PerformanceDashboard\".

Nõuded

  • SQL Server 2005 SP2

Lisaks vahendeid (kogusin väärtuslikud kokku ühte kohta)

RML Tools for SQL Server

Kui ma juba SQL Serveri vahenditest räägin, mis aitab teil SQL Serveri jõudlust monitoorida ja tulemusi analüüsida, siis teine nutikas vahend, millele annan ainult vihje hetkel, aitab teil SQL Profiler Trace (.trx) faile analüüsida. Vahendil nimeks RML tools for SQL Server.

SQL Server Nexus

SQL Nexus is a tool that helps you identify the root cause of SQL Server performance issues. It loads and analyzes performance data collected by SQLDiag and PSSDiag. It can dramatically reduce the amount of time you spend manually analyzing data.

PSSDIAG & SQLDiag
SQLIO Disk Subsystem Benchmark Tool

SQLIO is a tool provided by Microsoft which can also be used to determine the I/O capacity of a given configuration. SQLIO is provided ‘as is’ and there is no support offered for any problems encountered when using the tool. Please refer to the EULA.doc for the license agreement prior to using this tool.

SQL Server 2005 Best Practices Analyzer

The SQL Server 2005 Best Practices Analyzer (BPA) gathers data from Microsoft Windows and SQL Server configuration settings. BPA uses a predefined list of SQL Server 2005 recommendations and best practices to determine if there are potential issues in the database environment.

Ma tegelen väga varieeruvate teemadega seoses tarkvara lahenduste (MS platvormil), arendamise, jõudluse (.Net ja SQL), metoodikatega (Agile Dev, TFS, VSTS) keskendudes sügavamalt .Net -le ja TFS -le (ning VSTS -le laiemalt). Kuid olen tõsiselt ka SQL Server peale keerukaid lahendusi teinud ning SQL Serveri jõudlust laivis analüüsinud ning erinevaid probleeme identifitseerinud ja lahendanud. Need vahendid on mind antud tegevuste juures aidanud.

Muidugi lisaks nendele vahenditele on vaja teadmist ja kogemust infost õige tulemuse välja lugemiseks ja järelduste (lahenduste) tegemiseks :) See vast on kõige keerukam ja võti - vahendeid on alati ja nad aitavad probleemi olemust kergemini mõista, aga ei paku tavaliselt lahendust.

VS2005 SharePointi projekti VS2008 -ga toimima panek

Oletame, et teil on sarnane olukord minuga.

  • Teil ei ole enam installeeritud Visual Studio 2005 -te.
  • Teil on loodud VS2005 Sharepointi Extensionite Template -ga loodud projekt (ntx WebPart template -i kasutades) ja muidugi on teil vaja seda projekti VS2008 -ga avada.
  • Teil on olemas Visual Studio 2008 koos VS2008 v1.2 Sharepointi Extensionitega.

Kui te proovite seda VS2008 -ga avada, siis pakutakse teile konverteerimise võimalust. Kahjuks aga ei suuda VS2008, millel on SharePointi Extensionid v1.2 peal, avada seda projekti.

Lahendusena mõtlesin ma välja järgmise triki ja arvatavasti tuleb sellele ideele iga teine kogenum Visual Studio kasutaja.  Aga siit see tuleb:

Luua VS 2008 -ga uus projekt kasutades SharePoint Extensionite template -i, mis vastab VS2005 -ga (ehk siis sama tüüpi nagu ntx WebPart).

Seejärel avada projektifail kui XML ning kopeerida projekti faili viited oma Visual Studio 2005 projektifaili. Ntx mul on VS2005 -s niisugune projektiinfo:

<ProductVersion>8.0.50727</ProductVersion>
<
SchemaVersion>2.0</SchemaVersion>
<
ProjectGuid>{D8B5B705-CE2F-435B-A29B-424B5362DC6F}</ProjectGuid>
<
ProjectTypeGuids>{9E5D3E2D-E4E2-418e-8D80-2F0DA9A94F9A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Ja Visual Studio 2008 projekti failis on:

<ProductVersion>9.0.21022</ProductVersion>
<
SchemaVersion>2.0</SchemaVersion>
<
ProjectGuid>{AC668B20-D7E1-4784-B396-6E64A519AD46}</ProjectGuid>
<
ProjectTypeGuids>{593B0543-81F6-4436-BA1E-4747859CAAE2};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Asendage VS2005 failis olev osa VS2008 failis oleva infoga. Seejärel avage oma VS2005 projekt Visual Studio 2008 -s ning nüüd projekti konverteerimine peaks õnnestuma. Probleem on selles, et Visual Studio oskab avada neid projektifaile, mille Projekti tüüpe ta tunneb (need on väärtused PrtojectTypeGuids elemendis).

Tule ja küsi täna SQL -i suurimate lahenduste kohta

Eestis on kaks päeva SQL Cat tiimi mees Thomas Kejser.

SQL CAT tiim tegeleb maailma kõige suuremate SQL lahendustega.

Thomas on spetsialiseerunud BI (Business Intelligence) ja DW (Data Warehouse) lahendustele, mis on suuremad kui 10 TB.

Ürituse teema on selginemisel, aga see võiks sisaldada kogemuse jagamist seoses suurte BI and DW lahendustega ning Q&A -d :)

Kui on huvi, siis anda teada Leivo blogisse või tema kontaktidele seal.

Huvitav leid: Sharepointi koodimise parimad praktikad

Üks Microsofti Sharepointi insidentidega tegelev inimene on kirjutanud väga kasulik parimate praktikate loetelu just jõudlusest lähtudes. Soovitan kõigil Sharepointi arendajatel antud stsenaariumitele ja viidetele pilk peale visata.

Siit tuleb välja kaks väga kasulikku Sharepointi blogi:

Huvitav leid: WebTestPluginsAndRules projekt

Mõned minutid pärast seda, kui publitseerisin oma web testi urli parameetrite (querystringi) extractija leidsin CodePlexist projekti nimega Web and Load Test Plugins for Visual Studio Test Edition. Nimelt on inimesed Redmondis olnud tegusad suvel ja publitseerinud kasulikke pluginaid, rule ja ka Item Template meile kõigile kasutada ja elu mõnusam oleks.

Item Template -dest on olemas kõik vajalik:

image

  • ExtractionRule
  • ValidationRule
  • WebTestPlugin
  • WebTestRequestPlugin
  • LoadTestPlugin

Kaasas on ka üks sõltuvate requestide filtreerimise plugin, mõned extractionrule -d ja validationrule -d. Ei ole neid hetkel ise veel proovinud, alles avastasin. Aga igatahes Templated on koheselt kasutatavad :)

Kusjuures niisugust extractionrule -i seal ei ole nagu mina tegin.

Visual Studio Web Testidel QueryStringi parameetrite extractimine

Ma olen alates Visual Studio 2008 välja tulemise ajast tegelenud ka Visual Studio Web Testidega, mis on kasulikud veebilehe kasutajapoolseks usecase -i testimiseks (ehk siis minek lehele ja vaadata, kas tuleb vastu lehekülg/vastus, mis on aktsepteeritav).

Visual Studio Web Testid on HTTP kihil toimivad testid, mis võimaldavad teha päringuid (GET, POST) kindla veebisaidi vastu. Visual Studio -l on Web Testide kirjeldamise abistamiseks loodud salvestaja (WebTest Recorder), mis jookseb IE -s ja võimaldab salvestada kõik Requestid. Web Teste on võimalik peale salvestamist korduvalt jooksutada. Web Teste saab ka kasutada Visual Studio Load Testide juures ja teha koormusteste veebirakendusele, pannes Web Testid jooksma kuni 1000 kasutaja alt samaaegselt ja jälgides serveri performance countereid ning tracida SQL -i andmebaasi käitumist.

Aga mu postituse eesmärk ei ole hetkel jagada teiega detailset informatsiooni Web Testide või Load Testide kohta. Kui suurt huvi üles näidatakse, siis heameelega teen ka seda. Seni leiate aga lisainfot järgnevatelt aadressidelt:

Hetkel soovin teiega hoopis jagada ühte hästi lihtsalt lisa (ExtractionRule -i), millest kohe alguses puudust tundsin ja vajalikuks pidasin. Nimelt üks elementaarne asi, mida Web Testide kasutaja võiks soovida on see, et eelmise requesti querystringist võtta parameetrite väärtusi ja kasutada järgmistes requestides. Kujutage ette olukorda, kus teil on uue itemi lisamise vorm ja peale submit vajutamist luuakse item ning suunatakse uuele lehele, millel on urli parameetrite hulgaks ka uue Itemi ID. Te soovite ju, et uue itemi lisamist testides, teil oleks dünaamiliselt tekkinud ID -d kasutusel (te ei saa seda ette spetsifitseerida).

Selleks, et eelnevalt requestilt järgneva jaoks midagi korjata ongi olemas ExtractionRule -d, mida võib igaüks endale alati luua. Mina tegin endale QueryString -ist kindla parameetri extractija :)

ExtractionRule -i kood asub siin.

Peate antud koodi lisama oma Web Testide projekti või siis eraldi class library -sse ning peale build -imist saate lisada requestile extraction rule.

image

Antud Extraction Rule -l on olemas kaks parameetrit - üks contextis hoidmise nimetus (see millega teie järgmistes requestides väärtusele ligi lähete) ning urli parameetri nimetus.

image Kõrval järgneb siis illustreeriv näide insert ja View requesti kohta, kus Inserti requestilt extractitakse ID parameeter. Kusjuures, te ei näe seda ID parameetrit antud insert.aspx -i QueryString loetelus, kuna tegu on postitamise päringuga ja tulemusena suunatakse uuele vormile (Response.Redirect), milleks on View.aspx ja sellel on urlis parameeter ID. Meie soovime järgmisel requestil seda ära kasutada (PS! Antud näite requesti QueryString, Form Post parameetrid on fiktiivsed).

Web Testidele on võimalik luua mitmel erineval tasemel laiendusi - WebTestPlugin (testi tase), WebTestRequestPlugin (requesti tase), ExtractionRule, ValidationRule (WebTest -i tulemuse valideerimine). Nende implementeerimine ei ole tihti peale raske ja on päris võimsad vahendid oma soovide saavutamisel.

Code Snippetid XML failis - miks ka mitte ...

Kui te mõtlete Visual Studio Code Snippetite peale, siis te mõtlete, et toredad koodijupid, mida kasutada oma koodi failis (CS,VB). Ka mina mõtlesin nii. Ärge piirake end ainult koodi failiga, õigemini - ka ".xml" on koodi fail (deklaratiivne). Seega Code Snippetid töötavad väga hästi ka XML failide puhul.

Mina leidsin XML failides kasutamise väärtuse kirjutades Sharepointi sisutüüpe, liste, väljasid jne. Väga tülikas on kopeerida ja kirjutada seda XML. OK, kui WSS -i schema failid on paigutatud õigesse kohta (C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas), siis Visual Studio intellisense XML -i jaoks teeb kirjutamise mõnusaks. Aga siiski on tülikas seda XML -i niimoodi nullist kirjutada, võiks ju ainult lünki täita. Lisaks, kui tihti unustate te Field elemenfil niisugused atribuudid nagu StaticName või SourceID?

Seega tegin ma terve arsenali (umbes 10) Sharepoint 2007 Code Snippeteid, mis aitaksid tihti kasutatavaid XML -i elemente kirja panna ja ma peaks ainult lüngad täitma. Ainukene asi, milllest veel hetkel puudust tunnen on see, et Guid -d tekiksid elementidele ka automaatselt. Uurin kuidas seda saaks. Eks täieneb ka see snippetite loetelu jooksvalt.

XML -s saate snippeteid lisada kasutades lühendeid Ctrl + K + X (expansion Snippet) ja Ctrl + K + S (Surround with Snippet).

Kes soovib, võib need omale alla tõmmata ja installeerida. Mõnusamaks installikogemuseks kasutasin Visual Studio Content Installerit. Päris lihtne ja hea viis paketeerida oma addin või snippetid.

Lisa Code Snippeteid leiate ka MSDN lehelt terve laadungi.

image  Tegin endale ka parema Guid -ide generaatori, mis peale genereerimist kopeerib kohe Clipboardi ja pakub mulle sobivamatel formaatidel Guid -e. Kõik teevad oma, miks ei või siis minulgi olla. OK, tegelikult lihtsalt see Windows SDK oma hakkas häirima formaadi ja ühe lisa kliki mõttes.

 

 

 

 

 

Edu Snippetitega!

Jälle compressed folderite taastamisest

Mitte progemisspetsiifiline kirjutus, aga väärtuslik reference, kuna tundub et ikka satun samasse olukorda vahest.

Umbes aasta tagasi kirjutasin ma, kuidas taastada Vistas Compressed folderite tuge, kui see peaks ära kaduma või mõni teine tarkvara ära nullib selle (seote .zip laiendi teise programmiga) või muu olukord. Mul igatahes hakkas IZarc jamama paar päeva tagasi, ekraan ei tulnud enam ette kui proovisin midagi lahti pakkida. Uuesti install ka ei aidanud.  Igatahes, otsustasin hetkel loobuda sellest, aga IZarc -i maha lastes kahjuks ei taastunud vana olukord. Ja muidugi registris ise ringi käies ja korda proovida tehes võib asja hoopis hullemaks ajada (seekord ka õnnestus hullemaks ajada).

Ka ei toiminud vana juhend. Vaja oli suuta tagasi tekitada algseadistus, nii nagu on Vista installimise ajal.

Mina tõmbasin järgmise valmis scripti - http://www.vistax64.com/tutorials/65254-zip-file-support-restore.html ja toimis. Algseaditus jälle olemas.

Kui soovite compressed foldereid sisse/välja lülitada, siis infot leiate järgmiselt aadressilt:

Posted: okt 17 2008, 09:36 PL by melborp | with no comments
Filed under:
More Posts Next page »