Performance testing using SQLIO
SQLIO este de multe ori gresit inteles ca fiind un tool dedicat SQL Server. Wrong. Este un tool folosit pentru a determina performanta sistemului de stocare (IOs) si poate fi folosit inclusiv pe Windows 2008/R2 chiar daca acest lucru nu este mentionat.
De downloadat il puteti downloada de aici:
http://www.microsoft.com/download/en/details.aspx?id=20163
Iar instalarea este foarte simpla; de fapt pune doar cateva fisiere in folderul SQLIO din Program Files.
In acest folder gasim si fisierul param.txt care arata cam asa:
Si specifica locatia fisierului de test, numarul de threaduri folosite si dimensiunea acestui fisier (de exemplu vedeti ca eu la ultimele teste am folosit un fisier de 512Mb). Acest fisier trebuie specificat cu parametrul –F la utilizarea SQLIO.
Nu treceti cu vederea nici fisierele Readme.TXT sau Using SQLIO.rtf pentru ca au informatii foarte utile despre folosirea SQLIO. De exemplu in SQLIO.rtf gasim exemple de utilizare:
sqlio -kW -s10 -frandom -o8 -b8 -LS -Fparam.txt
timeout /T 60
sqlio -kW -s360 -frandom -o8 -b64 -LS -Fparam.txt
timeout /T 60
sqlio -kW -s360 -frandom -o8 -b128 -LS -Fparam.txt
timeout /T 60
sqlio -kW -s360 -frandom -o8 -b256 -LS -Fparam.txt
timeout /T 60
sqlio -kW -s360 -fsequential -o8 -b8 -LS -Fparam.txt
timeout /T 60
sqlio -kW -s360 -fsequential -o8 -b64 -LS -Fparam.txt
timeout /T 60
sqlio -kW -s360 -fsequential -o8 -b128 -LS -Fparam.txt
timeout /T 60
sqlio -kW -s360 -fsequential -o8 -b256 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -frandom -o8 -b8 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -frandom -o8 -b64 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -frandom -o8 -b128 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -frandom -o8 -b256 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -fsequential -o8 -b8 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -fsequential -o8 -b64 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -fsequential -o8 -b128 -LS -Fparam.txt
timeout /T 60
sqlio -kR -s360 -fsequential -o8 -b256 -LS -Fparam.txt
Ce pot fi puse intr-un fisier batch pentru a automatiza testul.
In mod normal output-ul arata cam asa:
Si bineinteles ca difera destul de mult in functie de parametrii selectati (read/write/random/sequential) si de performanta hardware-ului.
Exista multe alte tool-uri pentru determinarea performantelor sistemului de stocare, doar ca personal SQLIO mi se pare foarte simplu de folosit.
PS: Exista si SQLIOSIM care insa e diferit si e un tool ce simuleaza doar comportamentul SQL Server.
Active Directory over NAT
AD peste NAT nu e un scenariu foarte bun insa sunt cazuri cand mai dai de asa ceva. Ce nu stiu multi este ca suportul pentru astfel de scenarii este destul de limitat (undeva intre limitat si deloc).
The Microsoft statement regarding Active Directory over NAT is:
- Active Directory over NAT has not been tested by Microsoft.
- We do not recommend Active Directory over NAT.
- Support for issues related to Active Directory over NAT will be very limited and will reach the bounds of commercially reasonable efforts very quickly.
The only configuration with NAT that was tested by Microsoft is running client on the private side of a NAT and have all servers located on the public side of the NAT. The NAT would also function as a DNS server.
http://support.microsoft.com/kb/978772
http://support.microsoft.com/kb/186340/en-us
Parteneriat UPC si MS. Internet si Cloud Computing pentru companii.
Citeam pe Ziarul Financiar despre pachetul de Internet si Cloud Computing oferit de UPC si MS.RO. M-a cam bufnit rasul sincer.
Asta e oferta pentru companii, sa-ti dea un cont gratis pe Office 365? Si se mai intreaba de ce a fugit toata lumea la RDS.
Server Builtin Fire Extinguisher
Nu stiu cat de adevarat o fi dar pare ceva destul de realizabil:
http://www.tomshardware.com/news/ibm-patent-blade-server-fire-suppressant,14061.html
Acum ma gandesc daca nu cumva o sti IBM-ul de ceva probleme cu Blade Center-ele si vrea sa le impiedice sa arda .
Eu personal nu am auzit pana acum de servere care sa ia foc.
Windows, Large Pages, TLB & Hypervisors
Postul asta se vrea mai mult ca o colectie de resurse ce merita partajate pentru a intelege mai bine functionarea si imbunatatirea anumitor aplicatii ce ruleaza pe Windows in masini virtuale.
Din ce am observat eu, in momentul de fata exista foarte putini specialisti care stiu sa stapaneasca bine zona de performance tuning atunci cand vine vorba de mediu virtual. Cam toata lumea considera ca daca aloci mai multe vCPU unei masini virtuale sau mai multa memorie si le pui pe storage mai rapid rezolvi orice problema de performanta. Ce bine ar fi sa fie asa de simplu.
Mai intervine si marketingul companiilor ce produc platformele de virtualizare, ce se jura ca totul ruleaza la performanta apropiata de hardware nativ. Or rula, dar nu toate applicatiile si nu in configuratiile default.
Pe partea de vCPU va recomand sa cautati pe net informatii despre cum functioneaza CPU schedulerul dintr-un hypervizor. Nu o sa gasiti nimic de Hyper-V insa o sa gasiti de la Vmware si e suficient sa va faceti o idee si sa intelegeti ca alocarea de multe vCPU pe o masina virtuala nu aduce intotdeauna un plus de performanta.
Iar legat de titlul acestui post, va recomand sa incepeti cu link-ul de mai jos pentru ca este esential sa intelegeti ce inseamna TLB si de ce cateodata SLAT-ul din procesoarele mai noi poate afecta chiar negativ performanta aplicatiilor.
http://en.wikipedia.org/wiki/Translation_lookaside_buffer
Seria de articole de mai jos este una din sursele cele mai bune de informatii legate de Hyper-V si Dynamic Memory si cu toate ca este axata cumva pe pozitionarea Dynamic Memory comparativ cu celelalte feature-uri ale Vmware tot ofera o gramada de informatii legate de titul nostru (partea 3 si 4).
Dynamic Memory Coming to Hyper-V – Part 1
Dynamic Memory Coming to Hyper-V – Part 2
Dynamic Memory Coming to Hyper-V – Part 3
Dynamic Memory Coming to Hyper-V – Part 4
Dynamic Memory Coming to Hyper-V – Part 5
Dynamic Memory Coming to Hyper-V – Part 6
De la Vmware am gasit acest document Large Page Performance si bineinteles gasiti informatii bune si in seria Performance Best Practices.
Si bineinteles ca pentru a folosi Large Pages e nevoie si de suport in OS-ul guest si in aplicatie. Tocmai de aceea pun si link-urile ce tin de acest subiect si SQL Server.
SQL Server and Hyper-V Dynamic Memory – Part 1
SQL Server and Hyper-V Dynamic Memory – Part 2
SQL Server and Hyper-V Dynamic Memory – Part 3
SQL Server and Large Pages Explained
Iar de la Vmware aveti Performance and Scalability of Microsoft SQL Server on Vmware vSphere.
Sper ca aceasta colectie de informatii sa va fie de folos si sa va ajute in munca de zi cu zi.
Copy files between servers & retaining security permissions
Cu toate ca multi cred ca operatiunea din titlu e posibila doar folosind tool-uri de migrare gen FSMT, realitatea e ca operatiunea se poate efectua si de mana cu tool-urile builtin. De fapt cam tot ce face FSMT, un administrator priceput poate face si de mana.
Secretul consta in cativa parametri ai comenzilor XCOPY si ROBOCOPY. Pe care dintre ele le folositi, depinde de alegerea fiecaruia pentru ca ambele stiu sa copieze ACL-urile fisierelor.
La XCOPY parametrul este /O:
Iar la ROBOCOPY este /SEC (bineinteles ca se poate si cu /COPYALL sau /COPY:DATS).
Spor!
Hyper-V on Vmware
Ar fi misto ca de acum incolo cursurile de Hyper-V sa se tina pe Vmware .
Mai multe detalii am pus pe VMUG.
PowerShell Web Access
Incercand sa mai arunc o privire in viitor m-am mai uitat prin feature-urile din Windows 8 si am dat de PowerShell Web Access (pe scurt PSWA). Acest PSWA este de fapt o aplicatie web ce permite deschiderea unei sesiuni Powershell via PS Remoting pe o alta masina.
De testat efectiv nu am reusit pentru ca nu a prea mers si nu exista decat un singur caz in care cineva a confirmat functionarea:
http://blog.powershell.no/2011/09/14/windows-powershell-web-access/
Cum este un produs pre-beta eu am renuntat rapid. Daca voi reusiti, spuneti-mi si mie (dar nu investiti prea mult timp, mai bine asteptati o alta versiune). Pana atunci asteptam MVP-ii.
Mai jos aveti imagini de la instalarea PSWA.
In C:\Windows\Web\PowerShellWebAccess\wwwroot gasiti si un readme.txt cu toata procedura ce trebuie facuta:
To complete the installation of Windows PowerShell Web Access, please perform the
following tasks:
1) Open a Windows PowerShell console with elevated user rights.
To do this, right click on PowerShell.exe, or a Windows PowerShell shortcut,
and then click “Run as administrator.”
2) Be sure your Windows PowerShell environment is configured to run scripts.
For more information, see “Running Scripts from Within Windows PowerShell”
(http://technet.microsoft.com/en-us/library/ee176949.aspx).
3) Run the following script:
${env:\windir}\Web\PowerShellWebAccess\wwwroot\setup.ps1
This is typically C:\Windows\Web\PowerShellWebAccess\wwwroot\setup.ps1
4) Create a server certificate.
For a test server, you can create a self-signed certificate by using the
Web Server (IIS) management console:
(${env:\windir}\system32\inetsrv\InetMgr.exe)
From within the IIS management console, open the Web Servers parent node.
This is typically the node immediately under the Start Page node.
In the results pane, select “Server Certificates” on the center pane, then
select “Create Self-Signed Certificate.”
5) Create an SSL binding.
In the IIS management console, select “Default Web Site,” and then click
“Bindings” on the “Actions” menu. Click “Add,” select “https” on
the “Type” pull-down menu, and then in the “SSL certificate” list, select the
certificate that you created in step 4.
For more information about how to create a server certificate and an SSL binding,
see “How to Set Up SSL on IIS 7”
(http://learn.iis.net/page.aspx/144/how-to-set-up-ssl-on-iis-7).
Powershell v3
In caz ca vreti sa testati Powershell 3.0, acesta este disponibil pentru download ca CTP, in pachetul Windows Management Framework 3.0 CTP1.
De tinut minte ca dupa instalarea powershell 3.0, engine-ul 2.0 este in continuare disponibil si switchul se poate face foarte usor prin comanda powershell -version 2.0.
Iata si cateva detalii luate de pe Window Powershell Blog:
Windows PowerShell 3.0
Some of the new features in Windows PowerShell 3.0 include:
- Workflows
Workflows that run long-running activities (in sequence or in parallel) to perform complex, larger management tasks, such as multi-machine application provisioning. Using the Windows Workflow Foundation at the command line, Windows PowerShell workflows are repeatable, parallelizable, interruptible, and recoverable. - Robust Sessions
Robust sessions that automatically recover from network failures and interruptions and allow you to disconnect from the session, shut down the computer, and reconnect from a different computer without interrupting the task. - Scheduled Jobs
Scheduled jobs that run regularly or in response to an event. - Delegated Administration
Commands that can be executed with a delegated set of credentials so users with limited permissions can run critical jobs - Simplified Language Syntax
Simplified language syntax that make commands and scripts look a lot less like code and a lot more like natural language. - Cmdlet Discovery
Improved cmdlet discovery and automatic module loading that make it easier to find and run any of the cmdlets installed on your computer. - Show-Command
Show-Command, a cmdlet and ISE Add-On that helps users find the right cmdlet, view its parameters in a dialog box, and run it.
Scripting printers on Windows
Intotdeauna automatizarea instalarii imprimantelor si a tot ce tine de subiectul asta a fost undeva in ceata.
Nota:Oricum de cand cu Group Policy Preferences, nici eu nu mai prefer scripturile pentru managementul imprimantelor.
Interesant e ca de la Windows 2003 au existat exemple de scripturi incluse chiar in instalarea sistemului de operare:
Scripturile de mai sus sunt incluse in OS – c:\%windir%\system32 in Windows 2003/XP si C:\%windir%\System32\Printing_Admin_Scripts in Windows Vista/7/2008/2008 R2.
De exemplu cu prnmngr.vbs ne putem conecta la o imprimanta partajata de pe un print server.
Iar cu prnsrvr.vbs putem extrage informatii despre driverele instalate pe print server (cu parametrul – x se pot identifica si sterge driverele nefolosite).
Iar cu prncnfg.vbs putem extrage informatii despre o anumita imprimanta.
Celelalte scripturi importante sunt:
– prnjobs.vbs – pentru a interactiona cu print joburile (pauza, resume, cancel jobs)
– prnport.vbs – display and manage TCP/IP printer ports
Scripturile folosesc WMI si pot fi folosite si doar pentru a invata cum sa interactionezi cu imprimantele via VBS/WMI.
Iar in caz ca scripturile nu acopera tot si se doreste mai mult sunt sigur ca o sa gasiti si alte scripturi pentru managementul imprimantelor pe Technet Scriptcenter.