<?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) : WSS</title><link>http://blogs.technet.com/mpriem/archive/tags/WSS/default.aspx</link><description>Tags: WSS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Load Testen van Sharepoint met VSTS 2008 en VSTT Load Agents – Deel 3</title><link>http://blogs.technet.com/mpriem/archive/2009/05/19/load-testen-van-sharepoint-met-vsts-2008-en-vstt-load-agents-deel-3.aspx</link><pubDate>Tue, 19 May 2009 18:34:24 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3243222</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3243222.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3243222</wfw:commentRss><description>&lt;p&gt;Het is al weer enige weken geleden dat ik mijn laatste post heb gedaan over het loadtesten van Sharepoint met Visual Studio Team Test. Deze post zal ik wijden aan het maken van webtests en het bundelen daarvan tot een loadtest.
&lt;/p&gt;&lt;p&gt;De webtests zijn de losse acties die je wilt uitvoeren. Een simpele webtest is aan te maken door deze te recorden vanuit Visual studio en verder te bewerken via de GUI. Een geadvanceerde webtest zal veelal geprogrammeerd moeten worden. In deze post ga ik niet in op gecodeerde webtests. Het is met deze blogserie de bedoeling eenvoudig een loadtest uit te voeren op Sharepoint. Met de GUI kan je al aardig wat goede loadtests uitvoeren op basis collaboratie of web content management omgevingen, zonder ook maar een regel code te kloppen.
&lt;/p&gt;&lt;h2&gt;Het Test project
&lt;/h2&gt;&lt;p&gt;Begin met het aanmaken van een test project:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv1.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Als de configuratie gevolgd is uit mijn vorige blogpost zal er meteen een venster verschijnen voor het aanmaken van een loadtest. Selecteer &lt;strong&gt;Finish&lt;/strong&gt; om de default instellingen te behouden. Selecteer in de Solution Explorer de properties van &lt;strong&gt;LocalTestRun.testrunconfig&lt;/strong&gt;.&lt;br/&gt;In de Web Test kies je bij Number of run iterations voor &lt;strong&gt;One run per data source row&lt;/strong&gt;. Verder kan ervoor gekozen worden de default Browser type veranderen.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv2.png" alt=""/&gt;
	&lt;/p&gt;&lt;h2&gt;De WebTest
&lt;/h2&gt;&lt;p&gt;Om een webtest aan te maken kies je in het Visual Studio menu voor &lt;strong&gt;Test &amp;gt; New Test&lt;/strong&gt;. Selecteer vervolgens de &lt;strong&gt;Web Test&lt;/strong&gt; en geef de test een naam. Wanneer je er nu voor kiest de test aan te maken zal Internet Explorer openen om de test te recorden. Ik zal niet elke actie uit de testmix uit eerdere posts uitleggen, omdat deze post anders veel te groot wordt &lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt; (ok, ik ben gewoon te lui). Ik zal echter een redelijk complexe actie stap voor stap uitwerken, welke je kunt gebruiken als referentie voor de overige acties. De actie die ik ga gebruiken als voorbeeld is het Uploaden van een document.
&lt;/p&gt;&lt;p&gt;Browse naar een teamsite en selecteer een document library. Upload vervolgens een document. Je zult nu in de linkerkolom alle opgenomen acties zien:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv3.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Stop vervolgens de recording door in de linkerkolom voor &lt;strong&gt;Stop&lt;/strong&gt; te kiezen. Er vindt een analyse plaats van de output en je zult in de webtest de recording terugvinden. Als we nu de webtest opnieuw zouden uitvoeren, dan zouden we elke keer hetzelfde document uploaden naar dezelfde document library op dezelfde site. Dit is uiteraard niet wenselijk. We zullen dus een stukje databinding moeten doen. Voordat we dat doen, controleren we eerst onze recording. Als we hem draaien zou hij moeten werken.
&lt;/p&gt;&lt;p&gt;Echter als we de test draaien&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv4.png" alt=""/&gt; krijgen we meteen een error:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv5.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Als we de requests bekijken, zie je een AccessDenied.aspx request. Sharepoint geeft dus aan dat je geen rechten hebt op de pagina. Dit komt omdat je vanuit gebruikers context de Visual Studio test uitvoert. Je kunt dit echter aanpassen door in het WebTest tabblad de security aan te passen:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv6.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Zou dit genoeg zijn???
&lt;/p&gt;&lt;p&gt;Helaas, de volgende melding die we krijgen is als volgt:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv7.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Dit betekent dat Visual Studio het bestand niet kan vinden dat geupload moet worden. Om dit voor nu even op te lossen passen we de File Upload Parameter van het Upload.aspx request aan om het volledige pad naar het bestand te gebruiken:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv8.png" alt=""/&gt;&lt;br/&gt;LoadAgentKnownIssues.rtf wordt in mijn geval dus C:\Temp\LoadAgentKnownIssues.rtf
&lt;/p&gt;&lt;p&gt;Als we de test nu draaien, gaat alles goed:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv9.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Op naar het Data Binden!!
&lt;/p&gt;&lt;h3&gt;Databinding
&lt;/h3&gt;&lt;p&gt;Ik maak gebruik van CSV bestanden maar je kunt ook een database of xml bestand gebruiken. Maak dus een CSV bestand aan en geef op de eerste regel headers op. In dit geval gebruik ik een enkele kolom met als header DocumentPath. Op de volgende regels zet ik de namen van de bestanden. Daarnaast heb ik nog een CSV bestand nodig met de verschillende sites die ik wil gebruiken. Geef het bestand de SiteName header en voeg de namen van de sites toe. Als laatste heb ik een bestand nodig met alle gebruikers en de wachtwoorden. We willen natuurlijk met meerdere accounts testen. Dit resulteert in de volgende drie bestanden:
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv10.png" alt=""/&gt;
		&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv11.png" alt=""/&gt;
		&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv12.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Zoals je ziet vervang ik slechts delen van de padnaam en de URL. Dit doe ik omdat door het minimale tekstdeel te vinden dat variabel gemaakt kan worden, de kans groter is dat het CSV bestand voor meerdere parameters gebruikt kan worden. Ik loop hierdoor ook minder tegen problemen aan met het URL encoden van parameters, maar dat merk je vanzelf als je vaker dit soort tests ontwikkelt.
&lt;/p&gt;&lt;p&gt;Nu is het belangrijk om te onthouden dat je bij het uploaden van files de uploadbestanden beschikbaar moet hebben op de loadagent machines. Nu kan dat op de volgende 2 manieren:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;De bestanden kunnen toegevoegd worden aan de solution. Je hoeft dan niet het volledige pad te gebruiken. Bij het uitvoeren van de test worden de bestanden gekopieerd naar de load agents (als de &lt;strong&gt;Copy to Output directory&lt;/strong&gt; properies van de bestanden juist ingesteld staan).
&lt;/li&gt;&lt;li&gt;De bestanden moeten handmatig op de loadmachines gezet worden. Je dient dan het volledige pad te gebruiken als waarde. Ik gebruik deze manier.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Kopieer dus de bestanden naar de gewenste directory op de loadagent(s) en kies vanuit de WebTest tab van het project voor &lt;strong&gt;Add Data Source&lt;/strong&gt;:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv13.png" alt=""/&gt;"
&lt;/p&gt;&lt;p&gt;Kies voor CSV en selecteer het eerder aangemaakte bestand. Je kunt nu nog bepaalde kolomen selecteren, maar we hebben er maar 1. Kies ervoor het bestand toe te voegen aan het project. Doe dit ook voor het tweede bestand. Nu ze toegevoegd zijn, kun je de waarden gebruiken in de webtest. 
&lt;/p&gt;&lt;p&gt;Om een waarde te gebruiken, kan je in de properties van de test kiezen voor een datasource, maar vaak wil je slechts een gedeelte van een property vervangen door een variable waarde. Dit kan ook; je dient dan de volgende syntax te gebruiken:
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas"&gt;{{&amp;lt;datasourcenaam&amp;gt;.&amp;lt;table&amp;gt;.&amp;lt;kolom&amp;gt;}} &lt;/span&gt;&lt;span style="font-family:Wingdings"&gt;à&lt;/span&gt;&lt;span style="font-family:Consolas"&gt; {{Sites.sites#csv.SiteName}}&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv14.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Als we nu in elk request de &lt;strong&gt;Url&lt;/strong&gt; en &lt;strong&gt;Expected Response Url &lt;/strong&gt;properties parametriseren hebben we de webtest bijna zover aangepast dat we hem kunnen draaien voor alle sites in ons CSV bestand. Voor en na is als volgt:
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv15.png" alt=""/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv16.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;De test is nog niet helemaal gereed om tegen alle sites in ons CSV bestand te draaien. Als je het nu draait, mislukken alle iteraties behalve de eerste. Als je naar het mislukte request kijkt, dan krijg je de melding:  &lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;Request failed: Context parameter '$HIDDEN1.__EVENTARGUMENT' not found in test context
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Dit betekent dat er schijnbaar een parameter gevuld had moeten zijn via een Hidden Field Extraction rule. Het gaat dus ergens eerder al mis, ondanks dat Visual Studio aangeeft dat de eerdere requests goed zijn afgehandeld. Als we van onder naar boven de requests aflopen komen we meteen in het vorige request de boosdoener tegen:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv17.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Schijnbaar kan Sharepoint een bepaalde List niet vinden. Als je vervolgens requests eens nader bekijkt, zie je dat er in de POST continu dezelfde List parameter wordt meegegeven. Aangezien elke list in een content database een unieke GUID heeft, zal Sharepoint de list in combinatie met een bepaalde site alleen kunnen terugvinden voor de eerste iteratie. We zullen de post parameter dus moeten parametriseren. Als we in voorgaande requests kijken is er nergens een GUID als parameter opgenomen. We kunnen hem dus niet direct uit te recording halen. Als we echter de ListID opzoeken in het ruwe Responses van de eerste iteratie, dan zien we dat in het response van het AllItems.aspx request de GUID een aantal malen voorkomt. We kunnen hem dus uit de response HTML plukken via een Extraction Rule:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv18.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Nu kan je het met een extraction rule op verschillende manieren aanvliegen, maar de makkelijkste is via een Text Extraction. Gebruik de volgende configuratie:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv19.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;&lt;em&gt;Een andere manier is om een Regular Expression te gebruiken. Ik gebruik dan als regular expression:
&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span style="font-family:Consolas"&gt;\{[A-Fa-f0-9]+\-[A-Fa-f0-9]+\-[A-Fa-f0-9]+\-[A-Fa-f0-9]+\-[A-Fa-f0-9]+\}&lt;/span&gt;
		&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;De index (welke occurance hij moet gebruiken) is voor OOTB Sharepoint teamsites 2.
&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Als we de Extraction Rule hebben aangemaakt voor het AllItems.aspx request, kunnen we hem gebruiken als QueryString parameter voor onze POST requests richting Upload.aspx. Zorg dus dat de List parameters als waarde onze GUID parameter gebruiken ( {{GUID}} ).
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv20.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Zoals je hierboven kunt zien, zijn er nog meer request parameters die aangepast kunnen worden, namelijk RootFolder en Source. Zorg ervoor dat deze ook geparametriseerd zijn. 
&lt;/p&gt;&lt;p&gt;Een andere actie is dat we moeten zorgen dat niet steeds hetzelfde bestand wordt geupload. De laatste databinding is dus voor de te uploaden file. Als we de requests eens nader bekijken zie je in de context parameters van het tweede Upload.aspx request het File Upload Parameter.&lt;br/&gt;&lt;br/&gt;Deze passen we aan met &lt;span style="font-family:Consolas"&gt;{{Files.files#csv.DocumentName}}&lt;/span&gt; is het Data Binden gereed. Het complete overzicht van mijn test ziet er als volgt uit:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv21.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Als we nu de webtest starten, gaat alles goed:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv22.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Als je de requests 1 voor 1 doorloopt, zie je in de context parameters dat er op elke site een ander document wordt gebruikt. Je kunt via de opties op de Data Sources nog bepalen of de files iteratief of random worden gekozen.
&lt;/p&gt;&lt;p&gt;Als laatste binden we de user accounts. Dit gaat via het menu, waar we eerder het gebruikers account wijzigde:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv23.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Nu het Data Binden klaar is, zijn we nog niet klaar. We gaan nu onze webtest opschonen.
&lt;/p&gt;&lt;h3&gt;Opschonen
&lt;/h3&gt;&lt;p&gt;De bedoeling is het uploaden van het bestand te meten. Ik wil alles wat daar niet mee te maken heeft, uit de test hebben. Dit betekent dat alle resources (gif, css en scriptbestanden) niet meegenomen worden, en dat alle voorlooprequests (voor zover ze geen properties vullen) uit de recording gehaald worden. Ik doe dit om mijn meetresultaten niet te overspoelen met deze veelal lichte acties. Ieder heeft hier zo zijn eigen ideeen over, en ik zal niet pretenderen dat dit de enige manier is, maar meetresultaten zien er altijd veel mooier uit als je al die andere requests wel meeneemt, en ik heb altijd "Hope for the best, but plan for the worst". Uiteindelijk komen die requests toch bijna altijd uit clientcache of servercache.
&lt;/p&gt;&lt;p&gt;Goed… Voordat ik begin met het opschonen, sla ik de WebTest altijd even op onder een andere naam als backup. 
&lt;/p&gt;&lt;p&gt;Het opschonen vereist een beetje gezond verstand. Bekijk de requests, probeer de structuur te achterhalen, en het zin van het onzin te scheiden. Het feitelijke uploaden is een POST naar Upload.aspx. Daar ik begonnen ben met het openen van de rootsite en van daaruit gebrowsed ben naar de document library, vertelt mij dat ik die requests normaal gesproken eigenlijk al niet nodig. Je ziet eveneens dat er geen properties zijn opgeslagen aan het ontbreken van de + voor het request. Dit betekent dat er geen waardes in de web context zijn opgeslagen die gebruikt kunnen worden in het volgende request:
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv24.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Ik verwijder het eerste request dus!
&lt;/p&gt;&lt;p&gt;Wat ik vervolgens meestal doe is tijdens het opschonen elke keer de test gewoon nog een keer aftrappen, om te controleren of de test nog steeds werkt.
&lt;/p&gt;&lt;p&gt;Misschien valt het op dat de resource requests niet zichtbaar zijn in de recording. Dat klopt, maar bij uitvoering worden ze wel opgehaald. Om dit te voorkomen, dien je in de properties van de requests &lt;strong&gt;Parse dependent requests &lt;/strong&gt;op false te zetten (elk request apart):
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv25.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;De webtest is zo voldoende opgeschoond. We zijn nu bijna klaar met de webtest. Er rest nog 1 belangrijke taak, namelijk het aanmaken van validation rules.
&lt;/p&gt;&lt;h3&gt;Validation Rules
&lt;/h3&gt;&lt;p&gt;Zoals we al een aantal malen hebben gezien geeft Visual Studio soms aan dat een request goed is uitgevoerd, terwijl we niet het verwachte response hebben gekregen. Denk maar aan de AccessDenied.aspx pagina. We kregen successful request van Visual Studio terug, maar dat is niet wat we willen. We zullen hier wat validatie moeten toepassen via Validation Rules.
&lt;/p&gt;&lt;p&gt;Zo begin ik met een validation rule voor dat specifieke geval op elk request. Het makkelijkst is dat via een Text Found rule. Ik gebruik de volgende:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv26.png" alt=""/&gt;&lt;br/&gt;Hou er rekening mee dat &lt;strong&gt;Pass If Text Found&lt;/strong&gt; op False moet staan. Hij moet namelijk failen als die tekst wordt gevonden op de pagina. Een andere die ik altijd op elke request toepas is een Text Found rule die zoekt naar de tekst: &lt;strong&gt;Troubleshoot issues with Windows SharePoint Services.&lt;/strong&gt; Deze tekst staat namelijk op de Error pagina die Sharepoint gebruikt (tenzij je custom error pages gebruikt, of volledige errormeldingen toestaat in Web.config).
&lt;/p&gt;&lt;p&gt;Met deze twee validation rules vang je bijna alles af. Standaard triggert Visual Studio al een failure op http status codes als 500 en 404. 
&lt;/p&gt;&lt;p&gt;Wat ik persoonlijk in dit scenario nog toevoeg is een Text Found rule voor de filename die geupload wordt. Ik parametriseer de tekst waarop gezocht wordt met  &lt;span style="font-family:Consolas"&gt;{{Files.files#csv.DocumentName}}.&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Nu is onze webtest eindelijk klaar!!&lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;Als we nu meerdere tests gemaakt hebben kunnen we de LoadTest gaan configureren:
&lt;/p&gt;&lt;h2&gt;Load Test configuratie
&lt;/h2&gt;&lt;p&gt;Met meerdere webtests kunnen we gaan loadtesten. De configuratie is redelijk eenvoudig. In de solution explorer hebben we onze load test staan (bestand eindigt op .loadtest). Hernoem en dubbelklik deze om een tabblad te krijgen. Standaard ziet de configuratie er zo uit:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv27.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;De belangrijkste settings zijn de Test Mix, de Browser Mix, de Network Mix en het Load Pattern. De Test Mix staat er nog niet tussen, maar hierin bepaal je welke tests en met welke verdeling uitgevoerd dienen te worden. Verder kunnen we met de browser Mix bepalen welke type browsers gesimuleerd dienen te worden, en met de Network Mix welke type netwerken (Deze laatste knijpt echter alleen de bandbreedte en doet niets met latencies en is daardoor dus niet echt spannend.). De Loadpattern bepaalt welke load er op de omgeving gezet wordt. 
&lt;/p&gt;&lt;p&gt;In deze test laat ik de Browser Mix en Network Mix default en zet ik de LoadPattern op een Step Load. Een stepload stelt mij in staat over een bepaalde periode telkens een aantal gebruikers op te schalen. Dit is aan te bevelen om de de te testen omgeving de Sharepoint en IIS caches te laten opbouwen. Met een constant userload, zet je meteen de maximale load op de omgeving, wat dus tot problemen zou kunnen leiden. Een typische step configuratie ziet er zo uit:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv28.png" alt=""/&gt;&lt;br/&gt;Met deze configuratie wordt er begonnen met 10 users en wordt er elke 10 seconde 10 users bijgeschakeld totdat we aan het maximum van 200 users zitten.
&lt;/p&gt;&lt;p&gt;Nu is het de bedoeling testen toe te voegen aan de loadtest. Dit gaat door het aanmaken van een testmix. Kies voor &lt;strong&gt;Edit Test Mix&lt;/strong&gt; van het context menu van de load test:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv29.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;In de Test Mix kan je voor een aantal modellen kiezen, maar de Test Mix op basis van het aantal tests is het meest voor de hand liggende. Ik heb twee tests toegevoegd, welke ik met een 90% - 10% percentage verdeel. Dit betekent dat 90% van de acties het benaderen van de homepage is:&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv30.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Nu is eigenlijk mijn load test al klaar. Ik kan via de Counter Settings nog System Counters toevoegen. Hiervoor moet het visual studio account rechten hebben op de machine (minimaal Performance Log User), en moeten de firewall rules juist zijn ingesteld. Via de Run Settings kunnen we bijvoorbeeld bepalen hoe lang de loadtest moet duren (&lt;strong&gt;Timing&lt;/strong&gt;), maar ook bijvoorbeeld SQL tracing configureren of de connectie pool instellingen aanpassen.
&lt;/p&gt;&lt;p&gt;De Timing instellingen zijn altijd van belang. Je bepaalt met &lt;strong&gt;Run Duration&lt;/strong&gt; de looptijd, met de &lt;strong&gt;Sample Rate&lt;/strong&gt; met welke interval performance counters worden gelogd en met &lt;strong&gt;Warm-Up Duration&lt;/strong&gt; en &lt;strong&gt;Cool-down&lt;/strong&gt;
		&lt;strong&gt;Duration&lt;/strong&gt; hoe lang het duurt voordat er begonnen wordt met het verzamelen van meetgegevens en hoe lang voor het eind er gestopt wordt. Het opwarmen van cache en het opstarten van applicatie pools vervuilen immers alleen de meetresultaten.&lt;br/&gt;&lt;img src="http://blogs.technet.com/blogfiles/mpriem/051909_1533_LoadTestenv31.png" alt=""/&gt;
	&lt;/p&gt;&lt;p&gt;Als dit alles is geconfigureerd, kan er begonnen worden met het load testen. Meer hierover in het volgende en laatste deel van deze blogserie &lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3243222" 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/Sharepoint+Portal+Server/default.aspx">Sharepoint Portal Server</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>February Uber Packages zijn uit</title><link>http://blogs.technet.com/mpriem/archive/2009/03/10/february-uber-packages-zijn-uit.aspx</link><pubDate>Tue, 10 Mar 2009 11:54:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3211140</guid><dc:creator>mpriem</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3211140.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3211140</wfw:commentRss><description>&lt;P&gt;Zoals onderhand wel bekend is, is het patchbeleid veranderd voor Sharepoint patches. Er wordt vanaf December om de 2 maanden een rollup pack uitgebracht en eventuele tussentijdse critical (security) updates. Ook zijn de localized versies van de patches er niet meer. Alle localized MSPs en global MSPs zitten nu in 1 Uber package voor WSS en 1 package voor MOSS.&lt;/P&gt;
&lt;P&gt;De februari releases zijn onlangs vrijgegeven en kunnen gevonden worden op:&lt;/P&gt;
&lt;P&gt;February Cumulative Update Uber Package for Windows SharePoint Services 3.0 (Version: 12.0.6341.5000)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961755" mce_href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961755"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961755&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;February Cumulative Update Uber Package for Microsoft Office SharePoint Server 2007 (Version: 12.0.6341.5002)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961756" mce_href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961756"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961756&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3211140" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/mpriem/archive/tags/rollup/default.aspx">rollup</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/WSS/default.aspx">WSS</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>Sharepoint updates</title><link>http://blogs.technet.com/mpriem/archive/2008/06/04/sharepoint-updates.aspx</link><pubDate>Wed, 04 Jun 2008 17:47:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3127287</guid><dc:creator>mpriem</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/mpriem/comments/3127287.aspx</comments><wfw:commentRss>http://blogs.technet.com/mpriem/commentrss.aspx?PostID=3127287</wfw:commentRss><description>&lt;P&gt;Voordat je hotfixes of service packs wilt installeren voor Sharepoint....&lt;/P&gt;
&lt;P&gt;Volg&amp;nbsp;altijd eerst de volgende artikelen:&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US&gt;Deploy software updates for Windows SharePoint Services 3.0&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;&lt;A title="Deploy software updates for Windows SharePoint Services 3.0" href="http://technet2.microsoft.com/windowsserver/WSS/en/library/91649a7e-6b5a-4e5a-9ee5-51951f4b857f1033.mspx" target=_blank mce_href="http://technet2.microsoft.com/windowsserver/WSS/en/library/91649a7e-6b5a-4e5a-9ee5-51951f4b857f1033.mspx"&gt;&lt;FONT color=#0000ff&gt;http://technet2.microsoft.com/windowsserver/WSS/en/library/91649a7e-6b5a-4e5a-9ee5-51951f4b857f1033.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=EN-US&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US&gt;Deploy software updates for Office SharePoint Server 2007&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN lang=EN-US&gt;&lt;A title="Deploy software updates for Office SharePoint Server 2007" href="http://technet2.microsoft.com/Office/en-us/library/f484f5f2-35bb-4d70-bf56-dd1c4c287c721033.mspx" target=_blank mce_href="http://technet2.microsoft.com/Office/en-us/library/f484f5f2-35bb-4d70-bf56-dd1c4c287c721033.mspx"&gt;&lt;FONT color=#0000ff&gt;http://technet2.microsoft.com/Office/en-us/library/f484f5f2-35bb-4d70-bf56-dd1c4c287c721033.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt; 
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=EN-US&gt;Succes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3127287" 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></item></channel></rss>