<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Just do I(nformation)T(echnology) : Portal Server 2003</title><link>http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx</link><description>Tags: Portal Server 2003</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>401.1 Authentication failed bij browsen naar lokale IIS5 en IIS6 websites</title><link>http://blogs.technet.com/mpriem/archive/2009/04/17/401-1-authentication-failed-bij-browsen-naar-lokale-iis5-en-iis6-websites.aspx</link><pubDate>Fri, 17 Apr 2009 10:33:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3227532</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3227532.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3227532</wfw:commentRss><description>&lt;P&gt;Sinds kort komen er steeds meer incidenten binnen van problemen bij het browsen naar websites op de lokale machine waar gebruik gemaakt wordt van windows integrated authenticatio. Dit komt door wijzigingen in het NTLM Authenticatie mechanisme binnen HTTPWebRequest. In voorgaande versies was het mogelijk om een reflection attack uit te voeren, waarbij het mogelijk was een systeem zijn eigen challenge via een tweede connectie voor te schotelen, waardoor de aanvaller een geauthenticeerde connectie overhoudt . Dit is verholpen door standaard niet meer toe te staan een challenge die door zichzelf is verstuurd is te authenticeren behalve als het om een challenge voor het loopback adres is (127.0.0.1). &lt;/P&gt;
&lt;P&gt;Als je nu dus browsed naar een pagina, gebruik makend van een hostheader, krijg je een mooie &lt;STRONG&gt;HTTP 401.1 - Unauthorized: Logon Failed&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;Er zijn twee manieren om dit te omzeilen.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Specifieer hostnames die gekoppeld zijn aan het loopback adres&lt;/STRONG&gt;: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Start de registry editor en browse naar de volgende key: &lt;STRONG&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;Maak een nieuw &lt;STRONG&gt;Multi-String Value&lt;/STRONG&gt; aan met de naam &lt;STRONG&gt;BackConnectionHostNames&lt;/STRONG&gt;. &lt;/LI&gt;
&lt;LI&gt;Specifieer alle hostnames die gekoppeld moeten worden aan het loopback adres. &lt;/LI&gt;
&lt;LI&gt;Stop de registry editor en herstart IISAdmin service. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Disable de loopback check &lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Start de registry editor en browse naar de volgende key: &lt;STRONG&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa&lt;/STRONG&gt; &lt;/LI&gt;
&lt;LI&gt;Maak een nieuw &lt;STRONG&gt;DWORD Value&lt;/STRONG&gt; aan met de naam &lt;STRONG&gt;DisableLoopbackCheck&lt;/STRONG&gt;. &lt;/LI&gt;
&lt;LI&gt;Geef het DWORD een waarde van 1. &lt;/LI&gt;
&lt;LI&gt;Stop de registry editor en herstart de machine. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Het moge duidelijk zijn dat de eerste optie de voorkeur geniet. &lt;/P&gt;
&lt;P&gt;Voor meer informatie: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/kb/896861" mce_href="http://support.microsoft.com/kb/896861"&gt;http://support.microsoft.com/kb/896861&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc982052.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc982052.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc982052.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Dit probleem komt vaak voor in Sharepoint omgevingen waar de indexer gebruikt wordt om de lokale machine te crawlen. Ook wanneer beheerders beheer doen op de lokale machine treedt dit op.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3227532" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.technet.com/mpriem/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx">Portal Server 2003</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Ontwikkelen voor Sharepoint zonder Visual Studio op Windows Server</title><link>http://blogs.technet.com/mpriem/archive/2009/03/17/ontwikkelen-voor-sharepoint-zonder-visual-studio-op-windows-server.aspx</link><pubDate>Tue, 17 Mar 2009 13:18:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3213891</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3213891.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3213891</wfw:commentRss><description>&lt;P&gt;Ik programmeer wel eens wat voor Sharepoint om mij te ondersteunen bij het oplossen van incidenten of voor rapportage. Het vervelende is dat ik altijd binnen een Virtual PC VM zat te kloppen, wat nu net even wat minder presteert (wat een understatement) dan de fysieke machine. Nu blijkt dat het ook prima mogelijk is voor Sharepoint te ontwikkelen op een client OS. Dit door gebruik te maken van de mogelijkheden binnen Visual Studio voor remote debugging en development. Deze post gaat daar verder op in. &lt;/P&gt;
&lt;H2&gt;Installatie Visual Studio &lt;/H2&gt;
&lt;P&gt;Voor het ontwikkelen maken we uiteraard gebruik van Visual Studio. Ik gebruik in dit document de Team Suite editie. Je kunt echter ook de Professional editie gebruiken. Alle andere versies ondersteunen geen remote debugging/development dus kunnen in het scenario in deze post niet gebruikt worden. &lt;/P&gt;
&lt;P&gt;Het installeren van Visual Studio spreekt voor zich. Ik kies voor de volgende installatie, maar je kunt uiteraard zelf bepalen welke componenten je wel of niet wilt gebruiken, als je maar minimaal 1 van de language tools installeert zodat je de IDE hebt: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen1.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen1.png"&gt; &lt;/P&gt;
&lt;P&gt;Na de installatie is het aan te raden Service Pack 1 te installeren (&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=27673C47-B3B5-4C67-BD99-84E525B5CE61&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=27673C47-B3B5-4C67-BD99-84E525B5CE61&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=27673C47-B3B5-4C67-BD99-84E525B5CE61&amp;amp;displaylang=en&lt;/A&gt; ), en Windows Update te configureren om de laatste updates te downloaden (SP1 kan ook via Windows update binnengehaald worden). Voordat je SP1 installeert moet je echter eerst de Service Pack Preparation tool (&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&amp;amp;displaylang=en&lt;/A&gt; ) uitvoeren. &lt;/P&gt;
&lt;P&gt;Vervolgens installeer je de Visual Studio 2008 extensions for Windows SharePoint Services 3.0 v1.2 &lt;A href="http://www.microsoft.com/downloadS/info.aspx?na=40&amp;amp;p=2&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=b2c0b628-5cab-48c1-8cae-c34c1ccbdc0a&amp;amp;u=http%3a%2f%2fwww.microsoft.com%2fdownloads%2fdetails.aspx%3ffamilyid%3d7BF65B28-06E2-4E87-9BAD-086E32185E68%26displaylang%3den" mce_href="http://www.microsoft.com/downloadS/info.aspx?na=40&amp;amp;p=2&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=b2c0b628-5cab-48c1-8cae-c34c1ccbdc0a&amp;amp;u=http%3a%2f%2fwww.microsoft.com%2fdownloads%2fdetails.aspx%3ffamilyid%3d7BF65B28-06E2-4E87-9BAD-086E32185E68%26displaylang%3den"&gt;http://www.microsoft.com/downloadS/info.aspx?na=40&amp;amp;p=2&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=b2c0b628-5cab-48c1-8cae-c34c1ccbdc0a&amp;amp;u=http%3a%2f%2fwww.microsoft.com%2fdownloads%2fdetails.aspx%3ffamilyid%3d7BF65B28-06E2-4E87-9BAD-086E32185E68%26displaylang%3den&lt;/A&gt; (of de CTP van 1.3 als je het aandurft, of X64 draait &lt;A href="http://www.microsoft.com/downloadS/details.aspx?familyid=B2C0B628-5CAB-48C1-8CAE-C34C1CCBDC0A&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloadS/details.aspx?familyid=B2C0B628-5CAB-48C1-8CAE-C34C1CCBDC0A&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloadS/details.aspx?familyid=B2C0B628-5CAB-48C1-8CAE-C34C1CCBDC0A&amp;amp;displaylang=en&lt;/A&gt; ). Het is niet vereist, maar biedt Sharepoint project- en item templates. Deze extensions draaien alleen op Server Operating Systemen, maar daar is een truc voor. Draai gewoon het volgende commando om een registry key aan te maken om de MSI te misleiden: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;REG ADD 'HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0' /v Sharepoint /t REG_SZ /d Installed&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings 3"&gt;8&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Nu kan je de extensions ook installeren op Vista of Windows 7. De installatie spreekt voor zich (Let wel… v1.2 draait alleen op x86). &lt;/P&gt;
&lt;H2&gt;Installeren Virtual PC &lt;/H2&gt;
&lt;P&gt;Installeer nu Virtual PC 2007 SP1 en een Sharepoint VM. We gaan code kloppen op onze lokale machine maar de project bestanden komen in de VM te staan. Verder gaan we de code draaien en debuggen op de VM via remote debugging. Hiervoor moeten we een netwerk verbinding hebben met de VM. Je wilt echter niet dat een VM contact kan leggen met het netwerk waar je developer PC inhangt. In Hyper-V en Virtual Server hebben we zoiets als een host only network, waar de VM's contact hadden met de host, maar niet met andere netwerken waar de host een verbinding mee kan leggen. In Virtual PC moet je echter wat meer doen om dit voor elkaar te krijgen.&lt;BR&gt;Om een host only netwerk op te zetten tussen je VM host en je VMs in Virtual PC kan je gebruik maken van de loopback adapter. Om deze te kunnen installeren onder Vista of Windows 7 moet je even zoeken. Je kan gebruik maken van devcon.exe (&lt;SPAN style="FONT-FAMILY: Consolas"&gt;devcon.exe install %windir%\inf\netloop.inf *msloop&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings 3"&gt;8&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;) of je kan hem toevoegen gebruik makend van Device Manager. Hiervoor moet je echter de 'Add Legacy Hardware' optie gebruiken: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen2.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen2.png"&gt; &lt;/P&gt;
&lt;P&gt;Configureer vervolgens ip settings voor de loopback adapter en configureer de VM in Virtual PC om gebruik te maken van de loopback adapter: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen3.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen3.png"&gt; &lt;/P&gt;
&lt;P&gt;Stel het ip adres van de VM in op hetzelfde subnet als je hostip van de loopback adapter en pingen maar!&lt;BR&gt;Maak vervolgens een share aan voor '%Program Files%\Common Files\Microsoft Shared\web server extensions\12\ISAPI' in de VM, en maak daarnaast nog een project folder aan waar vanuit je de debug builds wilt gaan draaien, en share deze ook. Map de share voor de ISAPI folder op de developer PC.&lt;BR&gt;De ISAPI folder bevat de objectmodel dlls, die je nodig hebt om als REFERENCE te dienen in je Sharepoint VS projecten. &lt;/P&gt;
&lt;H2&gt;Configuratie remote debugging &lt;/H2&gt;
&lt;P&gt;Nu de verbindingen gelegd zijn en de shares zijn aangemaakt is het tijd om remote debugging te configureren. Dit gaat als volgt: &lt;/P&gt;
&lt;P&gt;Installeer de remote debugger &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=440ec902-3260-4cdc-b11a-6a9070a2aaab&amp;amp;displaylang=en#filelist" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=440ec902-3260-4cdc-b11a-6a9070a2aaab&amp;amp;displaylang=en#filelist"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=440ec902-3260-4cdc-b11a-6a9070a2aaab&amp;amp;displaylang=en#filelist&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Na de installatie start automatisch het debugger configuratie venster, waarin je eigenlijk alleen maar hoeft aan te geven of je de debugger als Service of als Windows applicatie wilt draaien. Ik draai het als windows applicatie, maar je kan hem ook als Windows Service draaien. &lt;/P&gt;
&lt;P&gt;Ik had met de debugger als Service wel wat problemen met het verbinden met de debugger. Hier kom ik later op terug. Ook heb je als Windows Service geen console output als je een console applicatie debugged. Het window is hidden, omdat de Service in de background draait, en elk childprocess ook als backgroundprocess wordt opgestart. Nu moet je voor een Windows Service een service account opgeven. Nu kan je kiezen voor Local System, echter werkt dit niet als je developer PC in een ander Domain hangt dan de VM, wat meestal zo is. Het service account wat je opgeeft heeft administrator rechten nodig en het 'Logon as Service' user right. Nu moet er een wederzijds vertrouwen zijn tussen de developer pc en vm. De remote debugger moet zich kunnen authenticeren met de developer pc en vice versa. Als je developer pc of laptop (in mijn geval) dus lid is van het ene domein en de VM van het andere, heb je een uitdaging. Een trust aanmaken gaat vaak niet. Zeker niet als je laptop of pc lid is van het bedrijfsdomein en de VM van een eigen testdomeintje. Nu is er een oplossing voor. Je zorgt er gewoon voor dat er in het testdomein op de VM een account bestaat met dezelfde accountnaam en hetzelfde wachtwoord als het account waarmee je jezelf aanmeldt op de laptop of pc. NTLM zal ervoor zorgen dat er geauthenticeerd kan worden (&lt;A href="http://support.microsoft.com/kb/102716" mce_href="http://support.microsoft.com/kb/102716"&gt;http://support.microsoft.com/kb/102716&lt;/A&gt;) &lt;/P&gt;
&lt;P&gt;Ik start de debugger dus als Windows applicatie. De vereisten voor authenticatie zijn hetzelfde. De gebruiker die de debugger start, moet zich kunnen authenticeren bij de developer pc en de gebruiker die visual studio start, moet zich kunnen authenticeren bij de VM. Ik gebruik bijna altijd PSEXEC van SysInternals, om de debugger bij het aanmelden op te starten (&lt;A href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx"&gt;http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx&lt;/A&gt;) &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;PSEXEC /d /u &amp;lt;domain&amp;gt;/&amp;lt;user&amp;gt; /p &amp;lt;password&amp;gt; "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings 3"&gt;8&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Je kan ook Secondary Logon gebruiken om de debugger te starten: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;Runas /noprofile /user:&amp;lt;domain&amp;gt;/&amp;lt;user&amp;gt; "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings 3"&gt;8&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Nu de debugger draait, moet de firewall nog geconfigureerd worden op zowel de client als de server. Je krijgt dan vervolgens vanzelf de firewall meldingen en UAC meldingen. Dit gaat het makkelijkst door in Visual Studio te kiezen voor &lt;STRONG&gt;Debug &amp;gt; Attach to Process&lt;/STRONG&gt; Geef in het venster de VM server naam op en als het goed is krijg je dan de benodigde firewall waarschuwing op de client. Mocht je nog problemen hebben; de porten die geopend moeten worden zijn: DCOM (TCP Port 135) en IPSEC (UDP 4500 / UDP 500) &lt;A href="http://msdn.microsoft.com/en-us/library/h0d7tte4(VS.80).aspx" mce_href="http://msdn.microsoft.com/en-us/library/h0d7tte4(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/h0d7tte4(VS.80).aspx&lt;/A&gt; ) &lt;BR&gt;Hierbij is het belangrijk de echte servernaam te gebruiken, want je kan de debugger niet benaderen op IP. Je moet er dus ook voor zorgen dat name resolutie plaats kan vinden. Zet de VM dus bijvoorbeeld in je HOSTS file. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen4.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen4.png"&gt; &lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen5.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen5.png"&gt; &lt;/P&gt;
&lt;P&gt;Voor de server zal je de vereiste firewall instellingen moeten zetten, maar aangezien het een afgeschermde development VM is, schakel ik de firewall gewoon altijd uit. Maar mocht je het aan willen laten staan, is de File and Printersharing firewall rule genoeg. Als de firewalls zijn geconfigureerd moeten we alleen nog de .NET code access security (&lt;A href="http://msdn.microsoft.com/en-us/library/930b76w0(VS.71).aspx)" mce_href="http://msdn.microsoft.com/en-us/library/930b76w0(VS.71).aspx)"&gt;http://msdn.microsoft.com/en-us/library/930b76w0(VS.71).aspx)&lt;/A&gt; op de VM bijwerken. .NET heeft een mechanisme het uitvoeren van code te beveiligen. Dit heeft veel weg van de manier hoe Internet Explorer werkt met security zones. Het uitvoeren van .NET code van een fileshare heeft te maken met andere policies als het uitvoeren van code op de lokale machine. Met remote debugging zal de debugger de code starten vanaf de locatie die aangegeven staat in de projecteigenschappen. Je zult zo zien dat dat een fileshare op de VM is, namelijk de share die we in een eerder stadium hebben aangemaakt voor de VS build bestanden. Deze share valt in een andere security zone, waardoor .NET een SecurityException zal genereren als er code gestart wordt die een hoger trustlevel vereist (wat met sharepoint assemblies vaak zo is) dan de zone waarvandaan het gestart wordt heeft toegewezen gekregen. &lt;/P&gt;
&lt;P&gt;Een voorbeeld daarvan is: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;System.Security.SecurityException was unhandled &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;Message: Request for the permission of type 'Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' failed. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Om dit te verhelpen moet je de caspolicy aanpassen, zodat jouw locatie wel het juiste trustlevel heeft. Dit doe je door caspol.exe te gebruiken. Deze tool is te vinden in de directory van het .NET framework 2.0 (%Windir%\Microsoft.NET\Framework64\v2.0.50727 bijv.) &lt;BR&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Let op… Je gaat op de VM dus een share trusten van de VM zelf. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Het commando wat je op de VM uit moet voeren is als volgt: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;CasPol.exe -m -ag 1. -url "\\&amp;lt;vm&amp;gt;\&amp;lt;visual studio debugshare&amp;gt;\*" FullTrust&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings 3"&gt;8&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;In mijn geval was dat: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt;CasPol.exe -m -ag 1. -url "\\192.168.0.100\Visual Studio\*" FullTrust&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Wingdings 3"&gt;8&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;Nu kun je jouw eerste applicatie gaan debuggen!! &lt;SPAN style="FONT-FAMILY: Wingdings"&gt;J&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Maak eerst een project aan voor bijvoorbeeld een console application. Als je dit project hebt aangemaakt, vraag je de properties van het project op in de solution explorer. Stel vervolgens in de &lt;STRONG&gt;Build&lt;/STRONG&gt; sectie in dat je de build output wilt wegschrijven naar de share waarvoor je zojuist de CAS policy hebt gewijzigd: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen6.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen6.png"&gt; &lt;/P&gt;
&lt;P&gt;Stel vervolgens in de &lt;STRONG&gt;Debug&lt;/STRONG&gt; sectie de remote debugger in. De remote debugger registreert zich als pipe server. Normaal gesproken, als je hem als windows applicatie opstart, wordt de server gestart met de qualifier &amp;lt;username&amp;gt;/&amp;lt;domain&amp;gt;. Ik verwachte hetzelfde gedrag te zien met het starten als Windows service. Je zou de debugger moeten kunnen benaderen onder &amp;lt;username&amp;gt;/&amp;lt;domain&amp;gt;@&amp;lt;server&amp;gt;. Echter met de remote debugger als Windows Service, werkt het echter niet. Een snelle kijk in de named pipes lijst via Sysinternals pipelist liet mij gelukkig zien hoe deze dan wel geregistreerd stond (Gek genoeg niet in de utilities index, maar de functionaliteit zal wel overgenomen zijn door een andere tool. Ik weet alleen niet welke. Pipelist is iig te vinden op &lt;A href="http://technet.microsoft.com/en-us/sysinternals/bb897446.aspx" mce_href="http://technet.microsoft.com/en-us/sysinternals/bb897446.aspx"&gt;http://technet.microsoft.com/en-us/sysinternals/bb897446.aspx&lt;/A&gt; ): &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen7.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen7.png"&gt; &lt;/P&gt;
&lt;P&gt;De debugger stel je vervolgens in de &lt;STRONG&gt;Debug&lt;/STRONG&gt; sectie in de project properties in&amp;nbsp;als &amp;lt;domain&amp;gt;\&amp;lt;user&amp;gt;@&amp;lt;servernaam&amp;gt; (of svc=msvsmon90@&amp;lt;servernaam&amp;gt; als je als Windows Service draait). &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen8.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen8.png"&gt; &lt;/P&gt;
&lt;P&gt;Vervolgens moet je uiteraard als je sharepoint code wilt gaan kloppen de juiste References leggen. Dus ga naar &lt;STRONG&gt;References &amp;gt; Add reference&lt;/STRONG&gt; in de solution explorer en kies voor &lt;STRONG&gt;Browse&lt;/STRONG&gt; tab. Browse naar de Drive Mapping die je in een eerder stadium had aangemaakt voor de ISAPI folder op de VM. Hier kan je vervolgens de binaries kiezen die de juiste namespaces bevatten. Voor WSS 3.0 kan je die vinden in het volgende overzicht: &lt;A href="http://msdn.microsoft.com/en-us/library/ms453225.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms453225.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms453225.aspx&lt;/A&gt; &lt;BR&gt;De meest gebruikte zijn te vinden in Microsoft.Sharepoint.dll: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen9.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen9.png"&gt; &lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen10.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen10.png"&gt; &lt;/P&gt;
&lt;P&gt;Schrijf nu een stukje voorbeeldcode met een breakpoint en druk op F5… VOILA… remote development en debugging werkt! Zo bewijzen de volgende screens.. &lt;/P&gt;
&lt;P&gt;Een breakpoint in VS: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen11.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen11.png"&gt; &lt;/P&gt;
&lt;P&gt;En de Output op de VM: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen12.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031709_1013_Ontwikkelen12.png"&gt; &lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3213891" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx">Portal Server 2003</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Virtualization/default.aspx">Virtualization</category></item><item><title>Load Testen van Sharepoint met VSTS 2008 en VSTT Load Agents – Deel 2</title><link>http://blogs.technet.com/mpriem/archive/2009/03/14/load-testen-van-sharepoint-met-vsts-2008-en-vstt-load-agents-deel-2.aspx</link><pubDate>Sun, 15 Mar 2009 01:49:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3212944</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3212944.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3212944</wfw:commentRss><description>&lt;P&gt;Deze post gaat over het installeren van je testrig en (slechts beknopt) over het vullen van de testomgeving met data. &lt;/P&gt;
&lt;P&gt;Voor een testrig heb je in principe drie componenten nodig. Dat zijn de Test Controller, de Test Agent en de machine waar je Visual Studio Team System 2008 Test Edition draait. Nu kan uiteraard alles op 1 machine worden geïnstalleerd, dus voor deze reeks posts gebruik ik een enkele machine. Normaal gesproken werk je in ieder geval met een losse controller en losse agents. Visual studio voor het aansturen van de tests wordt nog wel regelmatig op de controller geïnstalleerd. De vereisten voor de componenten zijn als volgt: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Software: &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV&gt;
&lt;TABLE style="BORDER-COLLAPSE: collapse" border=0&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 117px"&gt;
&lt;COL style="WIDTH: 125px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY vAlign=top&gt;
&lt;TR style="BACKGROUND: #4bacc6"&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: #4bacc6 1pt solid" colSpan=2&gt;
&lt;P&gt;&lt;SPAN style="COLOR: white"&gt;&lt;STRONG&gt;Component &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: #4bacc6 1pt solid; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: white"&gt;&lt;STRONG&gt;Software&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none" colSpan=2&gt;
&lt;P&gt;&lt;STRONG&gt;Test agent &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;Windows Server 2003 RTM*, Vista, XP Sp2 &lt;/P&gt;
&lt;P&gt;Visual Studio Team System 2008 Load Agent &lt;/P&gt;
&lt;P&gt;SQL 2008 Express edition&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px" colSpan=2&gt;
&lt;P&gt;&lt;STRONG&gt;Test Controller &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;Windows Server 2003 RTM*, Vista, XP Sp2 &lt;/P&gt;
&lt;P&gt;Visual Studio Team System 2008 Load Controller &lt;/P&gt;
&lt;P&gt;(SQL Server 2008 optioneel. SQL vereist Windows Server 2003 SP2)&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 37px"&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none" colSpan=2&gt;
&lt;P&gt;&lt;STRONG&gt;Tester PC&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;Visual Studio Team System 2008 Test Edition SP1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;P&gt;* Test Agents en Controllers vereisen Windows Server 2003 RTM of hoger service pack. Windows Server 2008 wordt officieel niet ondersteund. Windows Vista echter wel, dus het zal waarschijnlijk ook wel werken op Server 2008, maar waarom zou je je niet aan de prerequisites houden? &lt;/P&gt;
&lt;P&gt;Mocht je voor de Tester PC Windows Server kiezen, dien je de 'Internet Explorer Enhanced Security' uit te zetten. Dit voorkomt dat je problemen krijgt bij het recorden van de test scenario's. &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Hardware: &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Bij het kiezen van de hardware moet je er rekening mee houden dat de Load Agents voornamelijk de zwaarste last leggen op de machines. Ze zijn zeer hongerig naar CPU cycles en geheugen; dus het is aan te raden gewoon hele dikke bakken te nemen, met minimaal een moderne dual core, draaiend op 64 bits architectuur met 8GB aan geheugen. Verder is het testen op een Gigabit verbinding eigenlijk ook wel vereist, daar zware tests een flinke hoeveelheid bandbreedte kunnen verbruiken. Dit ligt uiteraard aan het type test en de test scenario's, maar houd er rekening mee. Vaak moet hardware ruime tijd van tevoren worden aangevraagd en je wilt niet tegen beperkingen aanlopen als het testplan toch anders wordt dan vooraf gedacht. Je zou er ook aan kunnen denken om hardware te huren. Met virtuele machines is geen ervaring, waardoor het lastig is in te schatten of dit een goede optie is. Dit zou getest moeten worden. &lt;/P&gt;
&lt;DIV&gt;
&lt;TABLE style="BORDER-COLLAPSE: collapse" border=0&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 97px"&gt;
&lt;COL style="WIDTH: 86px"&gt;
&lt;COL style="WIDTH: 79px"&gt;
&lt;COL style="WIDTH: 64px"&gt;
&lt;COL style="WIDTH: 67px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY vAlign=top&gt;
&lt;TR style="BACKGROUND: #4bacc6"&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: #4bacc6 1pt solid"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: white"&gt;&lt;STRONG&gt;Configuratie&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: #4bacc6 1pt solid"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: white"&gt;&lt;STRONG&gt;Component &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: #4bacc6 1pt solid"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: white"&gt;&lt;STRONG&gt;CPU &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: #4bacc6 1pt solid"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: white"&gt;&lt;STRONG&gt;HD &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: #4bacc6 1pt solid; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: white"&gt;&lt;STRONG&gt;Memory &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;lt; 1000 virtual users &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;Test agent &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;2.6 GHz &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;10 GB &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;4 GB &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;lt; 2000 virtual users &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;Test agent &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;Dual proc 2.6 GHz &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;10 GB &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;8 GB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;&lt;STRONG&gt;N* 2000 virtual users &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;Test agent &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;Scale out N agents elk met Dual 2.6 Ghz &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;10 GB &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;8 GB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;lt; 30 servers in test (test agents en te testen servers). &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;Test Controller &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;2.6 GHz &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;Met SQL : (N* 24 uur testdata * 10GB) + 10GB &lt;/P&gt;
&lt;P&gt;Zonder SQL : &amp;lt; 1 GB&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;Met SQL : 4 GB &lt;/P&gt;
&lt;P&gt;Zonder SQL : 2 GB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;&lt;STRONG&gt;N* 30 computers in the test environment. This includes agents and servers under test. &lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;Test Controller &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;N* 2.6 GHz processors &lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none"&gt;
&lt;P&gt;Met SQL : (N* 24 uur testdata * 10GB) + 10GB &lt;/P&gt;
&lt;P&gt;Zonder SQL : &amp;lt; 1 GB&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: medium none; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;Met SQL : 4 GB &lt;/P&gt;
&lt;P&gt;Zonder SQL : 2 GB &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 37px"&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; BORDER-LEFT: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;Tester PC&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;2.0 GHz&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;3GB&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #4bacc6 1pt solid; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: #4bacc6 1pt solid"&gt;
&lt;P&gt;1 GB&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;P&gt;In principe geeft deze tabel aan dat je dus een extra Test Agent moet bijschalen voor elke 2000 actieve users&lt;STRONG&gt;. &lt;/STRONG&gt;Voor elke 30 agents heb je een controller nodig. &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Netwerk &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Voor de simulaties heb je in ieder geval een tweetal accounts nodig voor de agents en de controller (we gaan even uit van een Domain installatie. Workgroup is ook mogelijk). Maak dus twee service accounts aan voor de controller en voor de agents. Het controller account moet minimaal toegevoegd zijn aan de Performance Log Users op de machines die getest gaan worden (dus de sharepoint farm servers). Houd er ook rekening mee dat de Windows Firewall in de weg kan zitten. Voor Windows Server 2008 en Vista zal je meer stappen moeten verrichten zoals beschreven in &lt;A href="http://blogs.msdn.com/edglas/pages/load-agent-and-load-controller-installation-and-configuration-guide.aspx" mce_href="http://blogs.msdn.com/edglas/pages/load-agent-and-load-controller-installation-and-configuration-guide.aspx"&gt;http://blogs.msdn.com/edglas/pages/load-agent-and-load-controller-installation-and-configuration-guide.aspx&lt;/A&gt; Daar staat de Firewall standaard aan en de services die nodig zijn om de counters te loggen standaard uit. &lt;/P&gt;
&lt;P&gt;Als je een testscenario met NTLM of Kerberos authenticatie providers wilt maken, zal je ook test users moeten aanmaken. Een voorbeeld is te vinden op : &lt;A href="http://www.petri.co.il/create_users_for_testing_purposes.htm" mce_href="http://www.petri.co.il/create_users_for_testing_purposes.htm"&gt;http://www.petri.co.il/create_users_for_testing_purposes.htm&lt;/A&gt; Nu hoef je niet voor elke virtual user een testuser aan te maken, maar voor elke 25 users zou ik toch wel een account willen hebben, met een minimum van 10. Dus 10.000 virtual users maakt 400 user accounts. Dit om toch enigszins het effect van authenticatie op de Sharepoint omgeving te kunnen benaderen, MySites en ook om het effect van audiencing mee te kunnen nemen in de tests. &lt;/P&gt;
&lt;H2&gt;Installatie Visual Studio&lt;/H2&gt;
&lt;P&gt;De installatie van Visual Studio spreekt redelijk voor zich. Alle prerequisites worden door de installer zelf geïnstalleerd. Visual studio is een zeer uitgebreid product, maar voor onze tests heb je in principe alleen de testing tools en 1 van de language tools nodig. Deze laatste is om de VS IDE te verkrijgen. Kies daarom alleen de Team System Test Tools categorie en een taal naar keuze (in mijn geval C#). De rest van de installatie spreekt voor zich. Installeer verder SP1 en de laatste fixes. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv1.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv1.png"&gt; &lt;/P&gt;
&lt;H2&gt;Installatie Load Agents en Load Controller &lt;/H2&gt;
&lt;P&gt;Voor de installatie van de Load Agents en de Load controller zijn de twee service accounts vereist die eerder zijn aangemaakt. Bij het starten van de installatie zal je de keuze krijgen een Agent of Controller te installeren. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv3.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv3.png"&gt; &lt;/P&gt;
&lt;P&gt;Eerst installeer je de Test Controller. Deze zal meteen ook SQL Express installeren, maar die heb ik niet nodig aangezien ik de volledige versie&amp;nbsp;van SQL ga installeren. Bij het starten van de controller installatie vraagt de installer alleen om de credentials van het controller service account. De rest van de installatie spreekt voor zich. Na installatie is de Controller als windows service geïnstalleerd en kan je hem configureren via Visual Studio. &lt;/P&gt;
&lt;P&gt;Vervolgens installeer je de Agent software. Tijdens deze installatie wordt enkel gevraagd naar het agent service account en de naam van de agent controller. Geef dus de servernaam op waar de controller draait, in dit geval de lokale machine.&lt;/P&gt;
&lt;H2&gt;Installatie Visual Studio Service Pack 1&lt;/H2&gt;
&lt;P&gt;Na het installeren van de agents en controllers, moet Service Pack 1 voor Visual Studio geinstalleerd worden. Dit omdat anders SQL Server 2008 niet zal installeren. Deze vereist namelijk SP1 voor Visual Studio. SP1 update zowel de IDE als de controller en agents.&lt;/P&gt;
&lt;P&gt;Voor het installeren van Service Pack 1 heb je echter ook de Visual Studio 2008 Service Pack Preparation tool nodig. Deze is te vinden op &lt;A href="http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=A494B0E0-EB07-4FF1-A21C-A4663E456D9D&amp;amp;displaylang=en&lt;/A&gt; . Service Pack 1 (ISO) op &lt;A href="http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=27673C47-B3B5-4C67-BD99-84E525B5CE61&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=27673C47-B3B5-4C67-BD99-84E525B5CE61&amp;amp;displaylang=en"&gt;http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=27673C47-B3B5-4C67-BD99-84E525B5CE61&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Installatie SQL Server&amp;nbsp;&lt;/H2&gt;
&lt;P&gt;Net zo makkelijk als de installatie voor Visual Studio&amp;nbsp;is de installatie van SQL Server 2008, mocht je daarvoor kiezen. De installer installeert zelf de prerequisites, en bij het kiezen van de componenten draait het alleen om de Database Engine en de management tools. Verder kan je de SQL Server Agent gewoon onder NETWORK SERVICE en de SQL Server Service onder LOCAL SYSTEM laten draaien. De rest van de installatie spreekt voor zich. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv2.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv2.png"&gt; &lt;/P&gt;
&lt;H2&gt;Configuratie Controller&lt;/H2&gt;
&lt;P&gt;Na installatie van de software dient de controller via Visual Studio geconfigureerd te worden. Maar maak eerst een LoadTest database aan op de SQL server instance door &lt;STRONG&gt;loadtestresultsrepository.sql&lt;/STRONG&gt; uit te voeren op de SQL server (gebruik SQLCMD of dubbelklik en execute via de SQL Management Studio). &lt;STRONG&gt;Pas wel op… Als er reeds een LoadTest database bestaat, wordt deze gedropped&lt;/STRONG&gt;. Na het aanmaken van de database dien je nog het Controller service account db_datawriter of db_owner rechten te geven op deze database. &lt;/P&gt;
&lt;P&gt;Vervolgens start je Visual Studio en configureer je de IDE en de test controller voor de webtests. Kies bij het opstarten voor de Team Test Settings om de IDE voor testprojecten te optimaliseren. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv4.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv4.png"&gt; &lt;/P&gt;
&lt;P&gt;Ga vervolgens naar &lt;STRONG&gt;Tools &amp;gt; Options &amp;gt; Test Tools &amp;gt; Test Project&lt;/STRONG&gt; in de menubalk en configureer het standaard project template: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv5.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv5.png"&gt; &lt;/P&gt;
&lt;P&gt;Creëer daarna een nieuw project via &lt;STRONG&gt;File &amp;gt; New &amp;gt; Project &lt;/STRONG&gt;in de menubalk en kies voor een test project. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv6.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv6.png"&gt; &lt;/P&gt;
&lt;P&gt;Het project wordt aangemaakt en je krijgt een wizard voor je kiezen. Negeer deze even en configureer eerst de controller agent door te kiezen voor &lt;STRONG&gt;Test &amp;gt; Administer Test Controllers&lt;/STRONG&gt; in de menubalk. Voer de naam van de server in het &lt;STRONG&gt;controller&lt;/STRONG&gt; veld. Een enter zou het scherm moeten refreshen. Als je problemen hebt met het benaderen van de controller service, probeer deze dan een keer te herstarten. Controlleer ook of je dezelfde versies van de controller en agent gebruikt door de versie van Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll te controleren. Een mismatch kan ervoor zorgen dat de agent als disconnected in de agent lijst komt: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv7.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv7.png"&gt; &lt;/P&gt;
&lt;P&gt;Zoals je in het venster hierboven kan zien, zal de controller standaard de SQL EXPRESS installatie gebruiken als datastore. Als je de stappen voor het aanmaken van de LoadTest database in SQL goed hebt uitgevoerd kan je deze nu veranderen. Gebruik dus de … knop om deze te veranderen naar de juiste SQL instance: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv8.png" mce_src="http://blogs.technet.com/blogfiles/mpriem/031409_2249_LoadTestenv8.png"&gt; &lt;/P&gt;
&lt;H2&gt;Datapopulatie &lt;/H2&gt;
&lt;P&gt;Ik ga in deze post niet geheel uit de doeken doen hoe je een testomgeving voorziet van de juiste testdata, maar ga er nu wel kort bij stil staan. &lt;BR&gt;Om goed te kunnen testen moet je een goed gevulde testomgeving hebben. Ik kies er zelf voor om minimaal 25% van de uiteindelijke datagrootte te verkrijgen. Dus voor 1TB aan uiteindelijke data, wil ik minimaal testen op 250GB testdata. Ik vul de omgeving volgens de capaciteitsplanning die vastgelegd is voor de omgeving. Als er in de Architectuur gekozen wordt voor sites van maximaal 500MB, ga ik daar niet overeen. Idem voor de grootte van de contentdatabases. Probeer zo goed mogelijk de uiteindelijke structuur van de omgeving na te bootsen. Hierbij wat tips voor het vullen van de data: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Gebruik &lt;A href="http://www.codeplex.com/sptdatapop" mce_href="http://www.codeplex.com/sptdatapop"&gt;http://www.codeplex.com/sptdatapop&lt;/A&gt; om sites aan te maken, en lists te vullen. Op deze site staan eveneens veel voorbeelden. &lt;/LI&gt;
&lt;LI&gt;Gebruik powershell om scripts te maken om makkelijk documenten te uploaden naar document libraries. (ik zal binnenkort wat scripts delen) &lt;/LI&gt;
&lt;LI&gt;Gebruik powershell om mysites te genereren.&lt;/LI&gt;
&lt;LI&gt;Gebruik echte data. Probeer van de klant data van fileservers te verkrijgen. &lt;/LI&gt;
&lt;LI&gt;Probeer zoveel mogelijk unieke data te gebruiken. Als het even kan alle data. Het hergebruiken van data op meerdere plekken heeft een negatieve invloed op de testresultaten bij Search tests, daar een duplicate niet zorgt voor een groeiende index, slechts voor extra pointers voor de geïndexeerde chunks. Toch kan het soms niet anders, en moet je een dataset meerdere keren gebruiken. Voor search zou je er nog voor kunnen kiezen om een externe datasource te indexeren als het mogelijk is, om toch een redelijke index te hebben voor wat search tests. Toch is dat niet helemaal hetzelfde omdat security trimming daar niet plaats vindt. &lt;/LI&gt;
&lt;LI&gt;Zorg voor goed gevulde sites, maar hou je aan de capaciteits adviezen in &lt;A href="http://technet.microsoft.com/en-us/library/cc262787.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc262787.aspx"&gt;http://technet.microsoft.com/en-us/library/cc262787.aspx&lt;/A&gt; . Dus geen lists van meer dan 5000 items. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Dit is het einde van deel 2. In de volgende post zal ik laten zien hoe je test scenarios aanmaakt. Tot dan!&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3212944" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.technet.com/mpriem/archive/tags/WSS/default.aspx">WSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx">Portal Server 2003</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Development/default.aspx">Development</category></item><item><title>Load Testen van Sharepoint met VSTS 2008 en VSTT Load Agents – Deel 1</title><link>http://blogs.technet.com/mpriem/archive/2009/03/14/load-testen-van-sharepoint-met-vsts-2008-en-vstt-load-agents-deel-1.aspx</link><pubDate>Sat, 14 Mar 2009 22:19:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3212897</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3212897.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3212897</wfw:commentRss><description>&lt;P&gt;Het load testen van een Sharepoint omgeving is niet iets waar makkelijk over gedacht moet worden. Voor een test moet je toch al gauw 6 tot 8 weken uittrekken om het gedegen voor te bereiden. Dit is uiteraard allemaal afhankelijk van wat je precies wilt testen en hoeveel tests je uit wilt voeren. Een voorbeeldplanning voor een doorsnee test zou er als volgt uitzien: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV&gt;Opstellen van een Testplan (5 dagen) &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;Bepalen testscenarios &lt;/LI&gt;
&lt;LI&gt;Bepalen verwachte resultaten &lt;/LI&gt;
&lt;LI&gt;Planning en resources vaststellen &lt;/LI&gt;
&lt;LI&gt;Uitwerken testplan &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Configureren testomgeving en test rig (5 dagen) &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;Installeren testcontroller en agents &lt;/LI&gt;
&lt;LI&gt;Configureren testomgeving (sharepoint configuratie, aanmaken test accounts, dns etc) &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Vullen testomgeving met testdata (5 dagen) &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;Ontwikkelen data populatiescripts &lt;/LI&gt;
&lt;LI&gt;Verzamelen testdata van fileshares of andere media &lt;/LI&gt;
&lt;LI&gt;Vullen van de data &lt;/LI&gt;
&lt;LI&gt;Vullen van de Index &lt;/LI&gt;
&lt;LI&gt;Profile Import &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Ontwikkelen webtests en load tests (10 dagen) &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;Maken van de test scenario's &lt;/LI&gt;
&lt;LI&gt;Databindings maken voor webtests &lt;/LI&gt;
&lt;LI&gt;Testen van webtests &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Uitvoeren van de loadtests (2 - 10 dagen) &lt;/DIV&gt;
&lt;OL&gt;
&lt;LI&gt;Uitvoering van verschillende tests &lt;/LI&gt;
&lt;LI&gt;Opnieuw uitvoeren van tests als verwachte resultaten uitblijven en aanpassing in infrastructuur vereist is. &lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Analyse van testresultaten (2 – 5 dagen) &lt;/LI&gt;
&lt;LI&gt;Opschonen testdata (1 dag) &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Zoals je ziet komt er veel bij kijken. Voornamelijk het ontwikkelen van de testscenario's en het vullen van de testomgeving met testdata is een zware taak. Webtests aanmaken in Visual Studio is namelijk niet zo gemakkelijk als het lijkt. Hier zal ik verder op ingaan in het 4&lt;SUP&gt;e&lt;/SUP&gt; deel van deze serie posts. &lt;/P&gt;
&lt;P&gt;Voordat je ook maar begint met het uitvoeren van tests, moet je duidelijk zien te krijgen wat je precies wilt gaan testen en wat je verwacht te gaan scoren op elke test. Nu gaat deze reeks posts over Load testing, maar naast het testen van je applicaties en infrastructuur, moet je ook nadenken over het eventueel testen van procedures, processen en functionaliteit. Denk bijvoorbeeld aan het testen van een Disaster Recovery plan, het testen van High Availability mogelijkheden en het testen van je custom workflows. Puur en alleen load testen is niet voldoende om te bepalen of de architectuur die gekozen is, voldoet aan de verwachtingen van de business en de vastgestelde service levels, en goed aansluit op de structuur van de beheerorganisatie. &lt;/P&gt;
&lt;P&gt;Goed… Er is dus besloten Load Tests uit te voeren, maar wat gaan we precies testen en wat verwachten we van de tests? Je kan voor verschillende doeleinden een load test uitvoeren. Je kan een smoketest uitvoeren om te zien of je applicatie werkt. Je zet deze onder lichte druk en controleert de responses, de logs en systeemcounters om te zien of er iets stuk is in de applicatie en deze doet wat je ervan verwacht. Je kan een stresstest uitvoeren waarmee je de applicatie onder zware druk zet om te bepalen waar de bottlenecks in de omgeving zitten en hoe ver je kan gaan voordat de omgeving omvalt. Tenslotte kan je nog performance of capacity tests uitvoeren waarmee je in stappen de omgeving onder druk zet om te bepalen hoe een omgeving zich houdt onder verschillende loads. Deze gegevens kunnen eveneens gebruikt worden om een stuk capaciteitsplanning te doen in de aanloopfase van een project of later in het project als de applicaties al op de uiteindelijke hardware geland zijn. &lt;/P&gt;
&lt;P&gt;Wat voor type test je ook kiest, je zult van te voren moeten bepalen wat de verwachte resultaten zijn. Wil je de throughput van je omgeving (Requests per Second, ofwel RPS) of de gebruikerservaring meten ( Page Time, of ook wel Time To Last Byte)? Wil je het maximaal aantal geïndexeerde documenten per seconde, of Publishing Cache hit ratio meten? Er zijn zoveel verschillende redenen waarom je een Load Test zou willen uitvoeren. Hoe dan ook, het is belangrijk van te voren te bepalen wat je precies wilt gaan meten en wat de verwachte resultaten zijn. Verreweg de meest gekozen reden van een Load Test is om de throughput van de farm te bepalen of valideren; dus het aantal RPS. Laten we er voor het gemak van uit gaan dat we willen verifiëren of een omgeving gaat voldoen aan de throughput requirements van onze klant. Verder wil deze klant dat de requests voor de homepage en teamsites gemiddeld binnen 5 seconden zijn afgehandeld. In dit geval gaan we dus een performance test uitvoeren en zijn zowel Page Time als RPS van belang. &lt;/P&gt;
&lt;P&gt;Maar hoe bepaal je nu de gewenste RPS… Laten we dit voorbeeld verder uitwerken, want dit is vaak een groot vraagteken en je moet op z'n minst een weloverwogen schatting kunnen maken, om een zinnige test te kunnen doen. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;DUS STEL… &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Deze klant had, zoals zoveel klanten, geen duidelijk beeld van het gebruikersprofiel van hun gebruikers. &lt;BR&gt;Ze gebruiken Windows Sharepoint Services voor basic collaboration en ze hebben 100.000 medewerkers. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Van deze gebruikers verwachten ze dat maximaal 50.000 medewerkers gedurende de dag gebruik gaan maken van de omgeving. Maximale concurrency wordt geschat op 5%, wat uitkomt op&amp;nbsp;2500 gebruikers. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Dit cursief gemarkeerde gedeelte is ongeveer het meest belangrijke gegeven dat een klant kan geven over hun gebruikers, want onthoudt het volgende: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 14pt; TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Aantal gebruikers zegt helemaal niets! &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Ik kan namelijk prima 100.000 gebruikers ondersteunen op mijn Virtual PC VM met 512 RAM op mijn 4 jaar oude laptop, als deze gemiddeld elke 12 uur een request doen. 100.000 request over 12 uur is namelijk slechts 2RPS. &lt;/P&gt;
&lt;P&gt;Wat belangrijk is, is het gebruikersprofiel en de user concurrency. &lt;/P&gt;
&lt;P&gt;Concurrency weten we nu dus, maar zoals ik al aangaf heeft de klant dus geen duidelijk beeld van het gebruikersprofiel van hun gebruikers. We kunnen hiervoor echter de voorbeeld profielen gebruiken die op technet te vinden zijn onder: &lt;A href="http://technet.microsoft.com/en-us/library/cc261716.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc261716.aspx"&gt;http://technet.microsoft.com/en-us/library/cc261716.aspx&lt;/A&gt; Deze zijn opgesteld op basis van uitvoerige interne tests en tests met TAP en andere Enterprise klanten. &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Dus, stel we gebruiken het volgende profiel: &lt;/P&gt;
&lt;DIV style="MARGIN-LEFT: 3pt"&gt;
&lt;TABLE style="BORDER-BOTTOM: #dddddd 1pt solid; BORDER-LEFT: #dddddd 1pt solid; MARGIN: auto auto auto 3.75pt; WIDTH: 31.32%; BORDER-TOP: #dddddd 1pt solid; BORDER-RIGHT: #dddddd 1pt solid; mso-cellspacing: 1.5pt; mso-border-alt: solid #DDDDDD .75pt; mso-yfti-tbllook: 1184" class=MsoNormalTable border=1 cellPadding=0 width="31%" class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: #cccccc; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .25pt; mso-border-bottom-alt: solid #C8CDDE .75pt" vAlign=bottom width="64%"&gt;
&lt;P style="MARGIN: 3.75pt 0cm" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Operation &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: #cccccc; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .25pt; mso-border-bottom-alt: solid #C8CDDE .75pt" vAlign=bottom width="34%"&gt;
&lt;P style="MARGIN: 3.75pt 0cm" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Percentage of throughput &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Get home page &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;15.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Get cached document &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;15.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Get static document &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;15.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Get list page (HTML) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;10.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Get list page (grid) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;10.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Get list form &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;7.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;404 errors &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;5.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 8"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Insert list item &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;2.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 9"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Edit list item &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;2.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 10"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Delete list item &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;2.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 11"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Insert document &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;2.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 12"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Synchronize with Outlook&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;2.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 13"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Delete document &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;2.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 14"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;List URLs &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;2.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 15"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;DAV&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US" lang=EN-US&gt; (Distributed Authoring and Versioning) open document for edit &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 16"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;DAV save document &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 17"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;FPRPC&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US" lang=EN-US&gt; (FrontPage Server Extensions Remote Procedure Call) open document for edit &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 18"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;FPRPC Save document &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 19"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Short-term check-out &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 20"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Incoming e-mail&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 21"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;RSS&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt; (Really Simple Syndication)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;1.00&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 22"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Start workflow&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;0.75&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 23"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Workflow task completion&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;0.75&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 24; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 64.48%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="64%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Add/remove user&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 34.36%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="34%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;0.50&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;BR&gt;Dit profiel is een typisch profiel voor WSS collaboration scenarios: &lt;A href="http://technet.microsoft.com/en-us/library/cc261795.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc261795.aspx"&gt;http://technet.microsoft.com/en-us/library/cc261795.aspx&lt;/A&gt; &lt;BR&gt;Laten we verder stellen dat we de volgende gebruikerscategorieën hebben: &lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="BORDER-BOTTOM: #dddddd 1pt solid; BORDER-LEFT: #dddddd 1pt solid; MARGIN: auto auto auto 3.75pt; WIDTH: 31.32%; BORDER-TOP: #dddddd 1pt solid; BORDER-RIGHT: #dddddd 1pt solid; mso-cellspacing: 1.5pt; mso-border-alt: solid #DDDDDD .75pt; mso-yfti-tbllook: 1184" class=MsoNormalTable border=1 cellPadding=0 width="31%" class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: #cccccc; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .25pt; mso-border-bottom-alt: solid #C8CDDE .75pt" vAlign=bottom&gt;
&lt;P style="MARGIN: 3.75pt 0cm" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;User load &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #c8cdde 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 79.28%; PADDING-RIGHT: 3.75pt; BACKGROUND: #cccccc; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #cccccc 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .25pt; mso-border-bottom-alt: solid #C8CDDE .75pt" vAlign=bottom width="79%"&gt;
&lt;P style="MARGIN: 3.75pt 0cm" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: #000066; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Request rate &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Light&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 79.28%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="79%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US" lang=EN-US&gt;20 requests per hour. An active user will generate a request (operation)&amp;nbsp;every 180 seconds. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Typical&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 79.28%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="79%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US" lang=EN-US&gt;36 requests per hour. An active user will generate a request (operation) every 100 seconds. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Heavy&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 79.28%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="79%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US" lang=EN-US&gt;60 requests per hour. An active user will generate a request (operation)&amp;nbsp;every 60 seconds. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'"&gt;Extreme&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: #cccccc 1pt solid; BORDER-LEFT: #cccccc 1pt solid; PADDING-BOTTOM: 3.75pt; PADDING-LEFT: 3.75pt; WIDTH: 79.28%; PADDING-RIGHT: 3.75pt; BACKGROUND: white; BORDER-TOP: #cccccc 1pt solid; BORDER-RIGHT: #d5d5d3 1pt solid; PADDING-TOP: 3.75pt; mso-border-alt: solid #CCCCCC .75pt; mso-border-right-alt: solid #D5D5D3 .75pt" vAlign=top width="79%"&gt;
&lt;P style="MARGIN: 0cm 0.75pt 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'; COLOR: black; FONT-SIZE: 8.5pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US" lang=EN-US&gt;120 requests per hour. An active user will generate a request (operation) every 30 seconds. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Wanneer we de klant de gebruikers laten indelen in deze categorieën kwamen we tot de volgende resultaten: 
&lt;TABLE style="BORDER-COLLAPSE: collapse" border=0&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 86px"&gt;
&lt;COL style="WIDTH: 56px"&gt;
&lt;COL style="WIDTH: 76px"&gt;
&lt;COL style="WIDTH: 69px"&gt;
&lt;COL style="WIDTH: 63px"&gt;
&lt;COL style="WIDTH: 66px"&gt;
&lt;COL style="WIDTH: 97px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY vAlign=top&gt;
&lt;TR style="HEIGHT: 76px"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1pt solid; BORDER-RIGHT: medium none"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1pt solid; BORDER-RIGHT: medium none"&gt;
&lt;P style="MARGIN-LEFT: 5pt"&gt;&lt;SPAN style="COLOR: black"&gt;% users&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1pt solid; BORDER-RIGHT: medium none"&gt;
&lt;P style="MARGIN-LEFT: 5pt"&gt;&lt;SPAN style="COLOR: black"&gt;Users&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1pt solid; BORDER-RIGHT: medium none"&gt;
&lt;P style="MARGIN-LEFT: 5pt"&gt;&lt;SPAN style="COLOR: black"&gt;Active users&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1pt solid; BORDER-RIGHT: medium none"&gt;
&lt;P style="MARGIN-LEFT: 5pt"&gt;&lt;SPAN style="COLOR: black"&gt;Concurrent Users&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1pt solid; BORDER-RIGHT: medium none"&gt;
&lt;P style="MARGIN-LEFT: 5pt"&gt;&lt;SPAN style="COLOR: black"&gt;OPS per Users&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-TOP: black 1pt solid; BORDER-RIGHT: medium none"&gt;
&lt;P style="MARGIN-LEFT: 5pt"&gt;&lt;SPAN style="COLOR: black"&gt;Total OPS&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND: silver"&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;Light&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;50%&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;50.000 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;25.000 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;1.250&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;0,0056 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;7&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;Typical&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;25%&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;25.000 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;12.500 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;750&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;0,0100 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;7,5&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND: silver"&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;Heavy&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;20%&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;20.000 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;10.000&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;500&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;0,0167 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;8,35&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;Extreme&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;5%&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;5.000 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;2.500&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;125&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;0,0333 &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="PADDING-LEFT: 7px; PADDING-RIGHT: 7px"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;5,15&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND: silver"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;&lt;STRONG&gt;Total&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;&lt;STRONG&gt;100%&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;&lt;STRONG&gt;100.000 &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;&lt;STRONG&gt;50.000 &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;&lt;STRONG&gt;2.500&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;&lt;STRONG&gt;0,0112&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: medium none; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; BORDER-RIGHT: medium none"&gt;
&lt;P&gt;&lt;SPAN style="COLOR: black"&gt;&lt;STRONG&gt;28&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Het blijkt dus dat met het huidige gebruikersprofiel en de maximale geplande concurrency, de omgeving geschaald moet zijn om&amp;nbsp;28&amp;nbsp;Operaties&amp;nbsp;te ondersteunen en dat de pageloads binnen de 5 seconden moeten blijven. Operaties zijn echter nog geen RPS. Om dit te bepalen heb je ook weer een schatting nodig, want dit is sterk afhankelijk van de usageprofielen die je gaat simuleren in je webtests en de applicatie waartegen je gaat testen. Een redelijk normaal getal om te onthouden is 5 - 10 requests per operatie. Dus je verwacht tussen de 140 en 280 RPS te halen met pageloads binnen de 5 seconden.&lt;/P&gt;
&lt;P&gt;Nogmaals: &lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Onthoud dat je altijd uitgaat van de maximale concurrency, en dat aantallen gebruikers niets zeggen. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Nu je de tests in het vizier hebt, is het tijd om het complete testplan uit te werken. Zie dit testplan als een plan van aanpak. Hier hoort dus alles in te staan, wat je normaal gesproken in een plan van aanpak zou vinden, inclusief een complete beschrijving van de uit te voeren tests en de configuratie van de testomgeving en testrig. &lt;/P&gt;
&lt;P&gt;Als het complete plan klaar is, en er overeenstemming over is bereikt, kan er begonnen worden met het prepareren van de testomgeving en de testrig. Meer hierover in deel 2 van deze serie. &lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3212897" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.technet.com/mpriem/archive/tags/WSS/default.aspx">WSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx">Portal Server 2003</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Development/default.aspx">Development</category></item><item><title>Load Testen van Sharepoint met VSTS 2008 en VSTT Load Agents – Proloog</title><link>http://blogs.technet.com/mpriem/archive/2009/03/13/load-testen-van-sharepoint-met-vsts-2008-en-vstt-load-agents-proloog.aspx</link><pubDate>Fri, 13 Mar 2009 12:15:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3212397</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3212397.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3212397</wfw:commentRss><description>&lt;p&gt;Onlangs ben ik gevraagd voor een grote klant een testplan te ontwikkelen voor een nieuwe omgeving in ontwikkeling. Daar ik in het verleden wel wat testplannen had geschreven voor Exchange en ook wel wat IIS testen had gedaan, dacht ik dat wel even te doen. Op dat moment stond ik net op het punt te vertrekken naar Amerika voor een intern event, waar een van de senior architecten van ons Sharepoint Online platform een presentatie zou houden over het load testen van Sharepoint. Na deze sessie stond ik weer met beide benen op de grond. Het "Dat doe ik wel even" gevoel had plaatsgemaakt voor "HELP, dat is ingewikkelder dan ik dacht". Nu schuw ik een uitdaging nooit, dus vol goede moed ben ik aan de slag gegaan, en uiteindelijk pakte het zeer goed uit. De komende reeks posts zal ingaan op hoe een test voor te bereiden en uit te voeren, gebruik makend van Visual Studio Team System 2008 Test Edition en de Visual Studio Team System 2008 Load Agents.
&lt;/p&gt;&lt;p&gt;Het eerste deel zal gaan over de vereisten voor een gedegen test en opstellen van een basisplanning. Het tweede deel zal vervolgens ingaan op de installatie van de test machines (de controller en load agents). Het derde deel zal ingaan op het ontwikkelen van de test scenario's en het bundelen van deze scenario's tot een load test. In het laatste deel behandel ik het uitvoeren van een load test.
&lt;/p&gt;&lt;p&gt;Hou daarom de komende weken deze blog in de gaten…&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3212397" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.technet.com/mpriem/archive/tags/WSS/default.aspx">WSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx">Portal Server 2003</category></item><item><title>Virtualisatie support voor Sharepoint Server en SQL server producten</title><link>http://blogs.technet.com/mpriem/archive/2008/11/08/virtualisatie-support-voor-sharepoint-server-en-sql-server-producten.aspx</link><pubDate>Sat, 08 Nov 2008 16:11:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3149599</guid><dc:creator>mpriem</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3149599.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3149599</wfw:commentRss><description>&lt;P&gt;Gisteren ben ik terug gekomen van een 60+ uur durende critsit bij een klant in Oostenrijk, waar zij MOSS in single-server configuratie op VMWare Server (dus de gratis versie… In productie &lt;SPAN style="FONT-FAMILY: Wingdings"&gt;J&lt;/SPAN&gt; ) draaien op 40+ locaties. &lt;BR&gt;&lt;BR&gt;Gedurende deze critsit kwam ik, zoals vele malen eerder, in de discussie terecht over het support van Microsoft op VMWare producten. Dit is de aanleiding dat ik het nu luid en duidelijk probeer neer te zetten in deze post. &lt;/P&gt;
&lt;P&gt;Microsoft heeft beperkte support op niet-microsoft hardware virtualisatie producten voor onze Windows Server besturingssystemen. Dit houdt in dat wij &lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;FULL&lt;/STRONG&gt;&lt;/SPAN&gt; support leveren op onze eigen producten en alle producten die onder het &lt;A href="http://go.microsoft.com/fwlink/?LinkId=125649&amp;amp;clcid=0x409" mce_href="http://go.microsoft.com/fwlink/?LinkId=125649&amp;amp;clcid=0x409"&gt;Server Virtualization Validation Program (SVVP)&lt;/A&gt; (&lt;A&gt;http://go.microsoft.com/fwlink/?LinkId=125649&amp;amp;clcid=0x409&lt;/A&gt;). &lt;/P&gt;
&lt;P&gt;Op dit moment zijn dat: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Cisco WAAS Virtual Blades 4.1.1 &lt;/LI&gt;
&lt;LI&gt;Citrix XenServer 5 Embedded Edition &lt;/LI&gt;
&lt;LI&gt;SUSE Linux Enterprise Server 10 SP2 &lt;/LI&gt;
&lt;LI&gt;VMware ESX 3.5 Update 2 &lt;/LI&gt;
&lt;LI&gt;XenServer 5 &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Naast het FULL support leveren wij &lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;BEST EFFORT &lt;/STRONG&gt;&lt;/SPAN&gt;support voor &lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;PREMIER &lt;/STRONG&gt;&lt;/SPAN&gt;klanten voor producten die niet onder het SVVP vallen. Let wel, dit is dus best effort, en alleen voor klanten met een premier contract, en alleen voor Windows Server besturingssystemen. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/kb/897615" mce_href="http://support.microsoft.com/kb/897615"&gt;http://support.microsoft.com/kb/897615&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Voor onze Server applicaties gelden aparte regels. Elk product team kan zelf bepalen wat deze regels inhouden. &lt;/P&gt;
&lt;P&gt;Voor Sharepoint en voor SQL server zijn deze&amp;nbsp;als volgt&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/909840" mce_href="http://support.microsoft.com/kb/909840"&gt;http://support.microsoft.com/kb/909840&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/KB/956893" mce_href="http://support.microsoft.com/KB/956893"&gt;http://support.microsoft.com/KB/956893&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Uiteindelijk bleek het probleem dus ook mede veroorzaakt te worden doordat SQL gevirtualiseerd was en de VM problemen had met de hardware klok en 461 identieke items aanmaakte in de database wanneer er een workflow gestart werd.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3149599" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.technet.com/mpriem/archive/tags/WSS/default.aspx">WSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx">Portal Server 2003</category><category domain="http://blogs.technet.com/mpriem/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Search results worden niet juist weergegeven door limiet op ACL grootte</title><link>http://blogs.technet.com/mpriem/archive/2008/10/22/search-results-worden-niet-juist-weergegeven-door-limiet-op-acl-grootte.aspx</link><pubDate>Wed, 22 Oct 2008 21:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3140461</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3140461.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3140461</wfw:commentRss><description>&lt;P&gt;Onlangs ben ik voor de tweede keer een probleem tegen gekomen bij een klant waar de resultaten van Sharepoint Enterprise Search niet juist worden weergegeven door een limitatie van de buffer van de WIN32 API &lt;STRONG&gt;InitializeAcl &lt;/STRONG&gt;functie, welke gebruikt wordt door de indexer wanneer deze de wijzingen bepaald voor de index.&lt;BR&gt;Deze buffer is 64KB groot, wat inhoudt dat de ACL's op objecten in sharepoint niet meer entries mogen bevatten dan in de buffer opgeslagen kan worden. &lt;/P&gt;
&lt;P&gt;Hoeveel entries zijn dat dan??? … Nou dat hangt er bijvoorbeeld vanaf hoeveel groepen een userobject lid van is, en wat het SIDhistory property op zijn/haar AD object voor waardes bevat. Daarnaast zijn er nog enkele andere eigenschappen van een security object wat de grootte van een enkele ACE bepaald.&lt;BR&gt;Om het makkelijk te maken zou ik zeggen dat +-1000 entries teveel is. &lt;/P&gt;
&lt;P&gt;Het maakt hier niets uit of je de gebruikers los hebt toegekent of eerst lid hebt gemaakt van een Sharepoint Group. De enige manier om te zorgen dat de indexer niet tegen het limiet aanloopt, is de gebruikers te organiseren in AD Groups en deze in de ACLs op te nemen. &lt;/P&gt;
&lt;P&gt;Dit probleem geldt voor zowel Office &lt;A href="http://support.microsoft.com/kb/944299" mce_href="http://support.microsoft.com/kb/944299"&gt;Sharepoint Server 2007&lt;/A&gt; als &lt;A href="http://support.microsoft.com/kb/885482" mce_href="http://support.microsoft.com/kb/885482"&gt;Sharepoint Portal Server 2003&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;De foutcode die de indexer geeft bij het crawlen van een item is &lt;A href="http://msdn.microsoft.com/en-us/library/aa981067.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa981067.aspx"&gt;PRTH_E_ACL_TOO_BIG (0x80041211L)&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;....&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3140461" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/MOSS/default.aspx">MOSS</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/mpriem/archive/tags/Portal+Server+2003/default.aspx">Portal Server 2003</category></item></channel></rss>