En prestanda- och funktionsanalys av Hypervisors för molnbaserade datacenter

Storlek: px
Starta visningen från sidan:

Download "En prestanda- och funktionsanalys av Hypervisors för molnbaserade datacenter"

Transkript

1 En prestanda- och funktionsanalys av Hypervisors för molnbaserade datacenter Examensarbete 15hp - Högskoleingenjörsexamen i datateknik, 180hp Robin Bard Simon Banasik Malmö högskola - Teknik och samhälle Institutionen för datavetenskap Examinator, Ivan Kruzela Handledare, John Niubo Uppdragsgivare och extern handledare, Ross Tsagalidis, Försvarsmakten Malmö, Maj 2013

2 Sammanfattning I dagens informationssamhälle pågår en växande trend av molnbaserade tjänster. Vid implementering av molnbaserade tjänster används metoden Virtualisering. Denna metod minskar behovet av antal fysiska datorsystem i ett datacenter. Vilket har en positiv miljöpåverkan eftersom energikonsumtionen minskar när hårdvaruresurser kan utnyttjas till sin fulla kapacitet. Molnbaserade tjänster skapar samhällsnytta då nya aktörer utan teknisk bakgrundskunskap snabbt kan komma igång med verksamhetsberoende tjänster. För tillämpning av Virtualisering används en så kallad Hypervisor vars uppgift är att distribuera molnbaserade tjänster. Efter utvärdering av vetenskapliga studier har vi funnit att det finns skillnader i prestanda och funktionalitet mellan olika Hypervisors. Därför väljer vi att göra en prestanda- samt funktionsanalys av Hypervisors som kommer från de största aktörerna på marknaden. Dessa är Microsoft Hyper-V Core Server 2012, Vmware ESXi och Citrix XenServer Free edition. Vår uppdragsgivare är försvarsmakten som bekräftade en stor efterfrågan av vår undersökning. Rapporten innefattar en teoretisk grund som beskriver tekniker bakom virtualisering och applicerbara användningsområden. Genomförandet består av två huvudsakliga metoder, en kvalitativ- respektive kvantitativ del. Grunden till den kvantitativa delen utgörs av ett standardsystem som fastställdes utifrån varje Hypervisors begränsningar. På detta standardsystem utfördes prestandatester i form av dataöverföringar med en serie automatiserade testverktyg. Syftet med testverktygen var att simulera datalaster som avsiktligt påverkade CPU och I/O för att avgöra vilka prestandaskillnader som förekommer mellan Hypervisors. Den kvalitativa undersökningen omfattade en utredning av funktionaliteter och begränsningar som varje Hypervisor tillämpar. Med tillämpning av empirisk analys av de kvantitativa mätresultaten kunde vi fastställa orsaken bakom varje Hypervisors prestanda. Resultaten visade att det fanns en korrelation mellan hur väl en Hypervisor presterat och vilken typ av dataöverföring som den utsätts för. Den Hypervisor som uppvisade goda prestandaresultat i samtliga dataöverföringar är ESXi. Resultaten av den kvalitativa undersökningen visade att den Hypervisor som offererade mest funktionalitet och minst begränsningar är Hyper-V. Slutsatsen blev att ett mindre datacenter som inte planerar en expansion bör lämpligtvis välja ESXi. Ett större datacenter som både har behov av funktioner som gynnar molnbaserade tjänster och mer hårdvaruresurser bör välja Hyper-V vid implementation av molntjänster. Nyckelord: Hypervisor, ESXi, Hyper-V, XenServer, Prestanda, Jämförelse, CPU, I/O.

3 Abstract A growing trend of cloud-based services can be witnessed in todays information society. To implement cloud-based services a method called virtualization is used. This method reduces the need of physical computer systems in a datacenter and facilitates a sustainable environmental and economical development. Cloud-based services create societal benefits by allowing new operators to quickly launch business-dependent services. Virtualization is applied by a so-called Hypervisor whose task is to distribute cloud-based services. After evaluation of existing scientific studies, we have found that there exists a discernible difference in performance and functionality between different varieties of Hypervisors. We have chosen to perform a functional and performance analysis of Hypervisors from the manufacturers with the largest market share. These are Microsoft Hyper-V Core Server 2012, Vmware ESXi and Citrix XenServer Free edition. Our client, the Swedish armed forces, have expressed a great need of the research which we have conducted. The thesis consists of a theoretical base which describes techniques behind virtualization and its applicable fields. Implementation comprises of two main methods, a qualitative and a quantitative research. The basis of the quantitative investigation consists of a standard test system which has been defined by the limitations of each Hypervisor. The system was used for a series of performance tests, where data transfers were initiated and sampled by automated testing tools. The purpose of the testing tools was to simulate workloads which deliberately affected CPU and I/O to determine the performance differences between Hypervisors. The qualitative method comprised of an assessment of functionalities and limitations for each Hypervisor. By using empirical analysis of the quantitative measurements we were able to determine the cause of each Hypervisors performance. The results revealed that there was a correlation between Hypervisor performance and the specific data transfer it was exposed to. The Hypervisor which exhibited good performance results in all data transfers was ESXi. The findings in the qualitative research revealed that the Hypervisor which offered the most functionality and least amount of constraints was Hyper-V. The conclusion of the overall results uncovered that ESXi is most suitable for smaller datacenters which do not intend to expand their operations. However a larger datacenter which is in need of cloud service oriented functionalities and requires greater hardware resources should choose Hyper-V at implementation of cloud-based services. Keywords: Hypervisor, ESXi, Hyper-V, XenServer, Performance, Comparison, CPU, I/O.

4 Innehållsförteckning 1. Inledning Bakgrund och syfte Frågeställning Avgränsningar Kravspecifikation för arbetsprocess Metod Definitioner Teoretisk grund RAID Virtualisering Hypervisor Typ Typ Hypervisor-arkitektur Xen Tekniker för Virtualisering Binary Translation Para-Virtualisering Hardware-assisted Virtualization Hardware-assisted Virtualization med Para-Virtualisering Molntjänster System Under Test Hårdvara Mjukvara Kvalitativa funktioner och hårdvarukrav Funktionaliteter Hårdvarukrav Microsoft Hyper-V Core Server VMware ESXi Citrix XenServer Free Edition Kvantitativa mätningar... 29

5 6.1 Testdata Mandelbrot serien Pseudo-data Textsträng Testverktyg Testverktyg 1: FTP Testverktyg 2: HTTP Testverktyg 3: SQL Exportering av statistik från Hypervisor Export av mätattribut CPU och I/O från ESXi Export av mätattribut CPU och I/O från XenServer Export av mätattribut CPU och I/O från Hyper-V Resultat Kvalitativa resultat av funktionaliteter och begränsningar Kvantitativa mätresultat Sammanställning av mätresultat från testverktyg Sammanställning av mätresultat från Hypervisor (CPU och Disk I/O) Diskussion Kvalitativa funktionaliteter och begränsningar Användbarhet Hårdvarukrav Kvantitativa prestandaskillnader Ekonomisk hållbarhet och samhällsnytta Miljöpåverkan Slutsats Vidare forskning Referenser Bilagor... 73

6 1. Inledning 1.1 Bakgrund och syfte I dagens informationssamhälle pågår en växande trend av Software as a Service (ondemand tjänster). Software as a Service är ett lager i den servicemodell som ingår i begreppet molnbaserade tjänster. Orsaken bakom den växande trenden är att företag vill hitta effektiva lösningar och få tillgång till nya tjänster på kort tid. Cisco har gjort en prognos som visar en utveckling att företag vill flytta sin affärskritiska data till molnbaserade datacenter (Cisco 2012). Cisco hävdar även att på grund av den ökade trenden flyttas en stor mängd av den datatrafik som tidigare befann sig innanför företags nätverk, ut till externa leverantörer (Cisco 2012), vilket också bekräftar att efterfrågan av molnbaserade tjänster ökar. Vid konstruktion av infrastruktur för molnbaserade tjänster används metoden Virtualisering. Denna metod minskar behovet av antal fysiska datorsystem i ett datacenter. Detta ger en positiv miljopåverkan eftersom energikonsumtionen minskar när hårdvaruresurser kan utnyttjas till sin fulla kapacitet. Vilket i sin tur bidrar till företags ekonomiska och miljömässiga medvetenhet. För tillämpning av Virtualisering används en så kallad Hypervisor vars uppgift är att distribuera tjänster via Virtuella Maskiner (VM). Efter utvärdering av vetenskapliga studier har vi funnit att det finns skillnader i prestanda och funktionalitet mellan olika Hypervisors. Som tidigare nämnt så ökar företags intresse att flytta sin affärskritiska data till molnbaserade datacenter, därför väljer vi att göra en prestanda- samt funktionsanalys av Hypervisors som kommer från de största aktörerna på marknaden. Vår uppdragsgivare är Försvarsmakten, som efter granskning av vår förstudie, bekräftade intresset för vår undersökning. 6/95

7 1.2 Frågeställning Vårt examensarbete kommer med hjälp av laborationer och studier att redogöra för vilken Hypervisor typ-1 som är lämplig gällande prestanda och funktionalitet vid implementation av molntjänster i ett större respektive mindre datacenter. För att kunna besvara denna huvudfrågeställning bryter vi ner den i en kvalitativ och en kvantitativ underfråga, Vilka skillnader i funktionalitet finns i Hypervisor typ-1? Hur väl presterar en Hypervisor typ-1 med hänsyn till Disk I/O och CPU vid olika typer av dataöverföringar? 1.3 Avgränsningar Vi har valt ut tre Hypervisors som kommer från de största aktörerna på marknaden. Dessa är Microsoft Hyper-V Core Server 2012, Citrix XenServer Free version och VMware ESXi (techtarget.com 2011), som alla är bare-metal versioner. Arbetet är avgränsat till en kvalitativ jämförelse av funktioner samt hårdvarukrav som varje Hypervisor tillämpar. Kvantitativ mätning kommer att begränsas till en Virtuell Maskin per Hypervisor, vilket avgränsar prestandatestet med avseende på den maximala kapacitet som en Hypervisor totalt kan leverera. Antalet vcpu som allokerats till varje VM är begränsat till 1, då Citrix XenServer Free version har ett begränsat stöd för multipla vcpu. Denna begränsning har tillämpats för att samtliga Hypervisors ska testas under lika villkor. Strävan efter lika villkor ledde även till att mätning av utnyttjat internminne (RAM) uteblev, då det konstaterades att ESXi var den enda Hypervisor som kunde mäta aktivt utnyttjat internminne. 7/95

8 1.4 Kravspecifikation för arbetsprocess Följande kravspecifikation för arbetsprocessen har fastställts i förstudien. Krav-nr. K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 Kravspecifikation Skapa testdata för simulering av datalast på Hypervisor typ-1. Skapa testverktyg för att utföra kvantitativ mätning på Hypervisor typ-1. Installation av hårdvaru-raid, samt hårddiskar på en fysisk server. Installation av mjukvara, Hypervisor typ-1, Virtuell Maskin, operativsystem. Konfiguration av Hypervisor typ-1, Virtuell Maskin, operativsystem. Installation av testverktyg och servertjänst (FTP,HTTP och SQL) på Virtuell Maskin. Utföra kvantitativa mätningar på Hypervisor typ-1. Identifiera funktioner och krav som Hypervisor typ-1 tillämpar. Sammanställa resultat och utföra kvalitativ analys av Hypervisor-funktioner. Sammanställa resultat och utföra kvantitativ analys av Hypervisor-prestanda. Tabell 1.1: Kravspecifikation från förstudie. 1.5 Metod Examensarbetet omfattar en kvalitativ och en kvantitativ metoddel. Där den kvalitativa metoddelen är en studie av vetenskapliga artiklar på en Hypervisors funktioner, krav och begränsningar. I avsnittet resultat redovisas skillnader i funktionalitet och begränsningar mellan Hypervisors. Resultatet ligger till grund för en djupare analys i avsnittet diskussion där en Hypervisors lämplighetsgrad vid implementation av molnbaserade tjänster fastställs. I den kvantitativa metoddelen samlas mätbar data in genom simulering av dataöverföringar. Detta görs med testverktyg som är specifikt skapade för varje typ av dataöverföring. Datan omvandlas därpå till de enheter som är relevanta för det vetenskapliga området i datakommunikation. Därefter tillämpas statistiska metoder för att framställa tabeller och grafer. Mätningarna sammanställs sedan i avsnittet resultat 8/95

9 som ligger till grund för en empirisk analys i diskussion som redovisar orsaken till en viss Hypervisors prestanda och därmed dess lämplighetsgrad i olika typer av dataöverföringar. Figur 1.2 visar sambandet mellan frågeställningar, metoder och vilka moment som genomförs i arbetet. Figur 1.2: Samband mellan frågeställningar, metoder och genomförande. 9/95

10 2. Definitioner Följande definitioner tydliggör akronymer och begrepp som förekommer i rapporten. Bare-metal En benämning av Hypervisor som ofta förekommer i offentliga publikationer, syftar till definitionen Hypervisor Typ-1, en Hypervisor som kommunicerar direkt med hårdvara utan mellanliggande operativsystem. BBWC Battery Backup Write Cache, vilket är en modul som tillåter aktivering av write cache på ett kontrollerkort. CLI Command Line Interface är ett gränsnitt som tillåter en användare att utföra kommando i textform. CSV Comma Separated Values är en datafil med kommaseparerade värden, vilket förenklar inläsningen av värden i statistiska sammanhang. Kernel Den engelska och datavetenskapliga definitionen för ett operativsystems kärna. On-demand Korrekt översatt "på begäran", syftar till mjukvarutjänster som direkt kan allokeras för kunder i servicemodellen Software as a Service. Resource pool En samling resurser som kan delas av flera Hypervisors. RPS Request Per Second, en enhet samt ett mått på antal sidvisningar per sekund via protokollet HTTP. 10/95

11 SUT System Under Test, ett definierat testsystem som tillämpas i våra tester. Testdata En simulerad datalast för testverktyg. 11/95

12 3. Teoretisk grund I denna del av arbetet behandlas en teoretisk grund för en djupare förståelse om varje komponent, vilket är en förutsättning för att kunna förstå bakgrunden i vår kvantitativa och kvalitativa undersökning. 3.1 RAID RAID, Redundant Array of Independent Disks är en lagringsteknologi som erbjuder olika nivåer av redundans- och prestandafördelar. Teknologin ligger som en hårdvarugrund och är standard i dagens datacenter som erbjuder bland annat molntjänster. Vi har valt att utnyttja denna teknik som bas i vårt SUT 1 för att kunna dra nytta av de redundans- och prestandaegenskaper som en RAID-uppsättning erbjuder. I vårt SUT har vi valt att använda RAID 1. Denna RAID-uppsättning är redundant då data speglas över minst två fysiska hårddiskar och skapar därmed en identisk kopia av all data på varje hårddisk. Om en hårddisk i denna RAID-uppsättning skulle sluta att fungera så byts den ut och därefter synkroniseras datan på nytt från den fungerade till den senast tillagda hårddisken. (Chen, Lee, Gibson, Katz & Patterson 1994, s.152) RAID 1 erbjuder en prestandaökning i form av att läs och skrivhastighet blir kortare. Anledningen till denna prestandaökning är att vid läsprocesser så väljs alltid den disk som för tillfället har lägst seek time och rotational latency, detta gäller främst för mekaniska håddiskar. Seek time innebär tiden för den mekaniska läsarmen att röra sig till det spår där avläsning eller skrivning ska ske (Daintith & Wright 2008). Rotational latency innebär den tid det tar för den magnetiska skivan att hinna spinna till korrekt position, eller med andra ord till den position där data ska lagras eller läsas (Daintith & Wright 2008). Den totala skrivtiden blir därmed beroende av den hårddisk som tar längst tid på sig att skriva med avseende på seek time och rotational latency (Chen et al 1994, s ). 1 SUT, System Under Test 12/95

13 3.2 Virtualisering Virtualisering innebär att en virtuell efterliknelse skapas med de egenskaper som en fysisk dator innefattar. I en virtuell miljö delas de fysiska resurser som är tillgängliga vilket tillåter flera operationer att pågå samtidigt. Operationer som exekveras på virtuella maskiner är separerade från underliggande hårdvaruresurser på så sätt att de bara har tillgång till de resurser som allokerats för varje virtuell maskin. (Daintith & Wright 2008) 3.3 Hypervisor Mjukvarulagret som ligger mellan gästoperativsystem och hårdvara kallas för en Hypervisor och används för att tillämpa virtualisering. Hypervisorn tillåter parallell hantering av flera virtuella maskiner. En Hypervisor består av ett mjukvarulager som hanterar den virtuella miljön där virtuella maskiner även kallade gästmaskiner eller gäster opererar. En Hypervisor övervakar dessa virtuella maskiner och har ansvar för att dynamiskt allokera den mängd resurser som gästen behöver. Det finns två kategorier av Hypervisor; Typ1 och Typ2. (Graziano, Charles David 2011, s.6-7) Typ-1 Denna Hypervisor, även kallad Bare-metal opererar på en lägre nivå jämfört med Hypervisor typ-2, se figur 3.1, detta innebär att den exekveras direkt på hårdvara och är inte är beroende av ett mellanliggande operativsystem. Typ-1 ansvarar för allokering av alla tillgängliga resurser till sina gäster så som exempelvis disk, minne, CPU och periferienheter. En fördel med denna typ av Hypervisor är att den inte utgör någon större inverkan på hårdvaruresurser vilket är till nytta i exempelvis ett datacenter där kostnadseffektivitet spelar stor betydelse och resurserna huvudsakligen går till drift av virtuella maskiner. I vissa fall så kan drivrutinstödet vara begränsat vilket kan leda till att en Hypervisor inte kan installeras på all typ av hårdvara, detta är en följd av att de ska vara lättviktiga och inte hämma prestanda. En vanlig funktionalitet bland Typ-1 är att man beviljar särskild prioritet till en virtuell maskin, dess roll blir att ha tillgång till funktioner som tillåter den att hantera andra gäster. Denna gästhanterare kallas oftast för Domain-0 eller Dom0. Typ-1 är vanligast i datacentermiljö och alla Hypervisors som är med i vårt test är av denna typ. (Graziano, Charles David 2011, s.6-7) 13/95

14 Figur 3.1 illustrerar en Hypervisor Typ-1 och förbindelsen mellan Hypervisor, virtuella maskiner och hårdvara. Figur 3.1: Hypervisor Typ Typ-2 Denna typ av Hypervisor är beroende av en värd och dess operativsystem för att fungera. Hypervisorn ligger inte direkt över hårdvarulagret utan ett tredjepartsoperativsystem finns mellan hårdvara och Hypervisor, se figur 3.2. Med en Typ-2 kan eventuella drivrutinproblem undvikas och Hypervisorn kan därmed fungera på all typ av hårdvara. Java Virtual Machine är ett exempel på mjukvara som har en liknande funktion som en Typ-2. JVM tillåter en virtuell maskin att utföra tolkningen av den Java bytekod som skapas vid kompilering av Java-programkod, fördelen med att använda JVM är de samma som för en Typ-2, det vill säga att det underliggande operativsystemet och hårdvara inte har någon betydelse. (Java.com, 2013) Denna typ av Hypervisor kan även användas för att tillåta körning av ett operativsystem på ett annat befintligt operativsystem. En stor nackdel med Typ-2 är att de kräver väldigt mycket resurser i form av exempelvis CPU och lämpar sig inte i servermiljö som Typ-1 med avseende på kostnadseffektivitet och driftsäkerhet. (Graziano, Charles David 2011, s.6-7) 2 Baserad på figur från referens (Keller, Szefer, Rexford, Lee 2010) 14/95

15 Figur 3.2: Hypervisor Typ Hypervisor-arkitektur En Hypervisor kan delas upp i Micro- och Monolith-kernel. Micro-Kernel innebär att basfunktioner som exempelvis hantering av fysiskt minne och processor-schedulering ligger innanför Hypervisorn och komponenter som enhetsdrivrutiner ligger utanför Hypervisorn. En Monolith-baserad Hypervisor innebär att komponenter som enhetsdrivrutiner implementeras i Hypervisorns mjukvara, se figur 3.3. Koden blir mindre för Micro-Kernel varianten av Hypervisor och lämnar ett mindre så kallat foot print efter sig. Alla Hypervisors i vår undersökning är av typen Micro-kernel (Xen.org, 2013). (Hwang, Dongarra, Fox 2011) 3 Baserad på figur från referens (Keller, Szefer, Rexford, Lee 2010) 15/95

16 Figur 3.3: Monolitisk och Micro-kernel Xen Xen är inte namnet på en specifik tillverkares Hypervisor utan en modell som vissa tillverkare valt att följa, denna modell av Hypervisor-mjukvara utvecklades av Cambridge University, se figur 3.4. I våra test så representeras Xen av Citrix XenServer, och även Microsoft Hyper-V som är skapad efter Xen modellen. (Xen.org, 2013) En Xen Hypervisor separerar policys och mekanismer genom att tillåta en privilegierad gäst i form av en virtuell maskin med speciella behörigheter att hantera virtualiseringspolicys i form av exempelvis tillträdeskontrol till hårdvaruresurser mellan virtuella maskiner. Sedan implementerar Hypervisor-lagret de policys som den privilegierade gästen ställt upp. (Le Cuong 2009, s.12) Den privilegierade gästen som nämns i stycket ovan kallas för Domain-0 eller Dom0 och de andra gästerna som Hypervisorn hanterar kallas för Domain-U. Dom0 är designad för att ha direkt tillgång hårdvara och hantera hårdvaruenheter, därmed får den ansvar för att allokera och mappa hårdvaruresurser till de övriga icke-priviligierade gästerna. (Hwang et al 2011) 4 Baserad på figur från referens (Keller, Szefer, Rexford, Lee 2010) 16/95

17 Figur 3.4: Xen modell Tekniker för Virtualisering X86-operativsystem använder sig av en arkitekur som delar upp applikationer och operativsystems hårdvaruprivilegier i fyra nivåer. Dessa nivåer, ring-0, -1, -2, -3 och -4 illustreras i figur 3.5. När en applikation exekveras i Supervisor mode så har det tillgång till systemets fulla resurser, till exempel samtliga minnesadresser, Supervisor mode symboliseras i figuren av ring-0. Om en applikation exekveras i User mode så är det restrikterat, applikationen har exempelvis inte tillgång till alla minnesadresser. User mode symboliseras av ring-1-3 i figur (Niubo 2012, s.11) Figur 3.5: Hårdvaruprivelegier i Ringmodell. Ett operativsystem behöver direkttillgång till de underliggande hårdvaruresurser och kunna utföra priviligerade instruktioner i ring-0, när man virtualiserar detta 5 Baserad på figur från referens (Keller, Szefer, Rexford, Lee 2010) 17/95

18 operativsystem så uppstår en problematik i form av att virtualiseringslagret förväntas ligga i ring-0, för att kunna skapa och hantera virtuella maskiner. Ännu en svårighet som uppstår i samband med att virtualisering måste ske i den innersta ringnivån är att vissa känsliga instruktioner inte kan virtualiseras på grund av att de alltid måste utföras i Ring-0. En lösning för dessa problem är att exempelvis använda sig av Binary Translation, Para-Virtualisering eller Hardware-Assisted Virtualization. (vmware.com, 2007) Binary Translation Full virtualisering innebär att operativsystemet inte vet om att det är virtualiserat. Detta betyder att operativsystem virtualiseras utan att dess kärna på något vis behöver modifieras, detta kan uppnås med hjälp av Binary Translation (Xen.org, 2013). Binary translation innebär en process som översätter exekverbar kod från en maskin till en annan, se figur 3.6. Detta sker samtidigt som koden exekveras på destinationsmaskinen (Ung & Cifuentes 2000, s.1). Denna teknik fångar och virtualiserar exekveringen av vissa känsliga instruktioner, det vill säga instruktioner som måste utföras i Supervisor mode (Hwang et al 2011). En Hypervisor tillåts att exekveras i ring-0 tack vare Binary Translation samtidigt som det virtualiserade operativsystemet exekveras i en user mode (ring-1-3). Det virtualiserade operativsystemet har dock högre privilegier än de applikationer som i sin tur exekveras på det virtualiserade operativsystemet. (vmware.com, 2007) Binary translation kan innebära förluster i prestanda på grund av att det tar tid att utföra, därför kan full virtualisering av I/O intensiva- applikationer anses en utmaning. För att effektivisera Binary translation används en kod-cache för att lagra ofta använda instruktioner, detta leder dock till att mer internminne används. (Hwang et al 2011) 18/95

19 Figur 3.6: Binary Translation Para-Virtualisering För att en Hypervisor ska kunna använda sig av para-virtualisering så krävs det att operativsystemets kärna eller kernel modifieras. Modifikationerna består av att ickevirtualiserbara instruktioner ersätts i ett operativsystem med så kallade Hypercalls som kommunicerar direkt med virtualiseringslagret. Hypervisorn ger tillgång till ett Hypercall gränssnitt för andra kritiska kerneloperationer som minneshantering, avbrottshantering och tidshantering. (vmware.com, 2007). Illustration i figur 3.7. Eftersom para-virtualisering kräver modifikation av operativsystemet så innebär detta att operativsystem som till exempel Windows inte kan virtualiseras med denna metoden. Däremot finns det modifierade versioner av Linux som tillåter att virtualiseras med para-virtualisering. Para-virtualisering kräver mindre resurser men introducerar andra problem i form av kompabilitetsproblem. (Hwang et al 2011) 6 Baserad på figur från referens (vmware.com, 2007) 19/95

20 Figur 3.7: Para-Virtualisering Hardware-assisted Virtualization Hardware Assisted Virtualization är en teknik för att uppnå full virtualisering och innebär att man tar hjälp av Intels Virtualization Technology VT-x eller AMD-V för att ge hårdvarustöd vid processornivå för virtualisering. Detta hårdvarustöd tillåter Hypervisorn att ligga under Ring0 och på så sätt fånga privilegierade och känsliga instruktioner. De två teknikerna tillåter därmed att ickevirtualiserbara instruktioner kan fångas och hanteras av en Hypervisor utan att Binary translation och para-virtualisering måste användas. (vmware.com, 2007) Hardware-assisted Virtualization med Para-Virtualisering I vissa typer av Hypervisors så utnyttjas en kombination av Hardware Assisted Virtualization med element från para-virtualisering. För att öka prestandan så kan fullt virtualiserade gäster använda speciella para-virtualiserade drivrutiner. Dessa drivrutiner är optimerade för full virtualisering och kringår disk och nätverks emulationer som utförs vid en full virtualisering och tillåter prestanda som är jämförbar eller i vissa fall bättre än vad para-virtualisering kan erbjuda. Samtidigt kan operativsystem vars kernel inte blivit modifierad ändå virtualiseras, exempelvis Windows. (Xen.org, 2013) 3.5 Molntjänster Begreppet molntjänst är fortfarande i ett utvecklingsstadie och eftersom det finns delade meningar om vad en molntjänst definieras som, väljer vi att beskriva den senaste 7 Baserad på figur från referens (vmware.com, 2007) 20/95

21 definitionen som gjordes av NIST, National Institute of Standards and Technology Definitionen innebär att en molntjänst är en modell som via nätverk tillåter på användares begäran tillgång till en samlad pool av dator-resurser. Med dator-resurser menas exempelvis; nätverk, servrar, lagring, applikationer och andra tjänster. Dessa dator-resurser kan snabbt distribueras till en kund utan omfattande interaktion med leverantör (NIST, Mell & Grance 2011). IaaS som relaterar till Virtualisering, definieras som Infrastructure as a Service och är en av de tre servicemodeller som tillhör begreppet molntjänster, se figur 3.8. De servicemodeller som associeras med molntjänster är följande: SaaS: Software as a Service. PaaS: Platform as a Service. IaaS: Infrastructure as a Service. (NIST, Mell & Grance 2011) Figur 3.8: Servicemodeller för molntjänster 8 8 Baserad på definitionen av NIST, Mell & Grance /95

22 Den servicemodell som vårt SUT främst relateras till är IaaS samt en simulering av PaaS där vi implementerar FTP-, SQL- och HTTP-servertjänster på en VM. Våra testverktyg simulerar SaaS genom att kommunicera med dessa servertjänster. En vanligt förekommande tjänst bland dagens IT företag är att hyra eller hyra ut datorresurser i form av virtualiserade tjänster. Denna företeelse har fått namnet Infrastructure as a Service. Mer specifikt så kan IaaS innebära att datacenter tillhandahåller virtuella maskiner för uthyrning, detta innebär att kunder som betalar för IaaS tjänster undkommer utgifter som berör exempelvis drift och underhållskostnader. (Graziano, Charles David 2011, s.8). IaaS brukar inte medföra långsiktiga åtagande mellan kund och leverantör vilket är ett attraktivt alternativ gentemot drift av en egen infrastruktur. Datorkraft hyrs ut enligt kundens specifika behov och de får själva stå för administration av uthyrda Virtuella Maskiner. (Bhardwaj et al 2010, s.68). Kunden har inte tillgång till att hantera eller styra den underliggande moln-infrastruktur som ett datacenter använder, exempelvis en Hypervisor, kunden har endast möjlighet att administrera den Virtuella Maskin samt datalagring, distribuerade applikationer och i vissa fall begränsad kontroll över ett fåtal nätverkskomponenter som tillhör den virtuella maskinen. (NIST, Mell & Grance 2011). IaaS nackdelar befinns främst i frågan om integritet och säkerhet. För att kunna bruka denna servicemodell är kravet att kundens data ligger distribuerad på en extern leverantör. Detta leder ofta in i en subjektiv diskussion om hur säkert det är att lagra data i molntjänster. (Graziano, Charles David 2011, s.8). Avgränsningen som gjorts i vår frågeställning omfattar prestanda och behandlar således inte området säkerhet och integritet. 22/95

23 4. System Under Test SUT, System Under Test definierar en fastställd standard i form av hårdvara och mjukvara som appliceras på varje enskild installation av Hypervisor. 4.1 Hårdvara Som tidigare nämt i avsnitt har Hypervisor typ-1 ett begränsat stöd för hårdvara. En del i vårt arbete gick därför ut på att samla de hårdvarukrav som varje Hypervisor ställer, se avsnitt 5.1. De hårdvarukomponenter som uppfyller kraven beskrivs i tabell 4.1. Servermodell Moderkort HP Proliant ML330 G6 Intel 5500 Chipset Processor E5506 (4 kärnor, 2.13 Ghz, 4MB L3, 80W) Minne Kontrollerkort Lagringsenheter Nätverksadapter 6 GB PC R Smart Array P MB med BBWC 2 x 160GB SATA 1Gb NC326i Ethernet Adapter Tabell 4.1: Hårdvarukomponenter i System Under Test (SUT). För att utesluta broadcast paket och andra störningar över Ethernet, placeras en Gigabit Ethernet switch mellan den externa klient som initierar testverktyg och SUT, isolerad från högskolans nätverk. Observera att testverktygen exekveras på SUT, se figur 4.2. Figur 4.2: Exekvering av Testverktyg. 23/95

24 Samtliga hårdvarukomponenter finansieras av Malmö högskola. 4.2 Mjukvara En Hypervisor tilldelas konfiguration enligt tabell 4.3. Lagringsutrymme 9 Minne 160 GB 6 GB CPU Kärnor 4 Antal VM 1 Samplerate för mätverktyg 20 sekunder Tabell 4.3: Standardkonfiguration för Hypervisor. En Virtuell Maskin tilldelas konfiguration enligt tabell 4.4. Lagringsutrymme Minne 60 GB 2048 MB vcpu 1 Operativsystem Servertjänster 10 Hypervisor drivrutiner 11 Fast storlek på vhd Windows 7 64-bit Professional Apache (HTTP), Filezilla (FTP) och mysql (SQL) Ja Ja Tabell 4.4: Standardkonfiguration för Virtuell Maskin. 9 Från logisk RAID enhet 10 Xampp för Windows 11 VMware tools, XenServer tools, Hyper-V integration components 24/95

25 5. Kvalitativa funktioner och hårdvarukrav Denna del av arbetet berör den kvalitativa studie av egenskaper som berör prestanda och funktionalitet. 5.1 Funktionaliteter Nedan kan man läsa korta beskrivningar om de egenskaper som kommer att jämföras i resultatavsnitt 7.1. Logisk processor En logisk processor är ett begrepp som förekommer inom hyperthreading. Hyperthreading innebär att en fysisk processor använder sig av multipla trådar för att kunna utföra flera operationer samtidigt, varje tråd får en egen så kallad logisk processor eller även kallad virtuell processor (Kim, 2004, s.10). Detta innebär att en fysisk processor med en fysisk kärna får en logisk processor med två virtuella kärnor. Processorn som används i vårt SUT är en Intel Xeon E5506 och har stöd för Hyperthreading. E5506 har fyra kärnor och fyra trådar vilket ger åtta logiska processorer. RAM Den maximala/begränsade mängd internminne som en Hypervisor tillåts utnyttja. Vårt SUT har 6 GB DDR3 RAM. RAM per VM Den maximala/begränsande mängd fysiskt minne som en Virtuell Maskin tillåts använda. vcpu per host vcpu står för virtuell cpu och betecknar hur många virtuella cpu enheter som en host maximalt stödjer. vcpu per VM Betecknar hur många virtuella CPU enheter som varje enskild virtuell maskin stödjer. 25/95

26 VM per host Antal maximalt tillåtna Virtuella Maskiner per host. Live Migration Detta är en funktionalitet som tillåter migrering av Virtuella Maskiner samtidigt som de är aktiva. Denna funktion tillåter virtuella maskiner att flyttas inom samma resource pool utan att användare behöver uppleva någon form av driftstopp. (citrix.com, 2013) Live Storage Denna funktionalitet tillåter migrering av Virtuella maskiner utanför den lokala resource poolen eller att migrera de hårddiskar som tillhör en VM från en förvaringsplats till en annan. (Xen.org, 2013) Snapshot Denna funktionalitet tillåter att ta en stillbild av systemets momentantillstånd. Detta används för att kunna återgå till ett tidigare läge. (vmware.com, 2013) VLAN support VLAN skapar en logisk gruppering av switchportar, vilket tillåter att multipla segment kan kommunicera över samma fysiska LAN port. (vmware.com, 2013) 26/95

27 5.2 Hårdvarukrav Nedan följer tabeller med minimikrav för att kunna installera de Hypervisor som ingår i våra tester Microsoft Hyper-V Core Server 2012 Systemresurs CPU Minimum 64-bit x86 CPU Kärnor 1 RAM 512MB Gigabit Ethernet Nätverkskort 1 SCSI/SAS Kontrollerkort RAID Funktionalitet Local Storage Diskutrymme HAV*, Intel VT, AMD-v Nej Nej Ja 8GB Ja * Hardware Assisted Virtualization (microsoft.com, 2013) VMware ESXi Systemresurs CPU Minimum 64-bit x86 CPU Kärnor 2 RAM 2GB/8GB* Gigabit Ethernet Nätverkskort 1 SCSI/SAS Kontrollerkort RAID Funktionalitet Local Storage Diskutrymme HAV, Intel VT, AMD-v Ja Nej Ja 1GB Ja * Rekommenderat (vmware.com, 2013) 27/95

28 5.2.3 Citrix XenServer Free Edition Systemresurs CPU Minimum 64-bit x86 CPU Kärnor 2* RAM 2 GB Gigabit Ethernet Nätverkskort 1 SCSI/SAS Kontrollerkort RAID Funktionalitet Local Storage Diskutrymme HAV, Intel VT, AMD-v Ja Nej Ja 16 GB Ja * Rekommenderat (citrix.com, 2013) 28/95

29 6. Kvantitativa mätningar Denna del av arbetet behandlar valet av testdata och konstruktion av testverktyg för kvantitativ mätning på varje Hypervisor. 6.1 Testdata För att kunna utföra våra tester måste först typen av testdata fastställas. Det är av stor vikt att testdatan har relevans till vår prestandaanalys och påverkar komponenterna CPU och Disk I/O. För att kunna besvara vår frågeställning om hur väl en Hypervisor presterar med hänsyn till CPU och Disk I/O vid dataöverföringar, har vi genom noggrann granskning av vetenskapliga artiklar i vår förstudie hittat relevanta servertjänster att applicera vår testdata på. Dessa servertjänster använder protokollen HTTP, FTP och databasspråket SQL och simulerar det lager som i servicemodellen kallas för PaaS, Platform as a Service Mandelbrot serien Vid mätning av dataöverföring via HTTP protokollet har vi beslutat att använda testdata som medvetet belastar CPU med komplexa matematiska beräkningar. Denna testdata utnyttjar mandelbrot serien som är uppkallad efter den franske matematikern Benoît B. Mandelbrot. Serien används för att iterativt transformera reella och imaginära tal för att bygga upp en fraktal. Noggrannheten på denna fraktal kan likställas med antal iterationer n, vilket också bestämmer den totala tid som förflutit för konstruktion av fraktalen. Vår fraktal är skapad av Ken Lo som har en akademisk bakgrund i rymdfysik och är ett exempel på hur mandelbrot serien kan skapas med programmeringsspråket PHP (Lo, 2007). Efter laboration av mandelbrotfraktalen har vi beslutat att begränsa antalet iterationer n till 40, och fraktalens storlek till 80x80 pixlar, vilket ger ett tidsintervall som är tillräckligt för att mäta prestanda. Se källkod i bilaga 1. Figur 6.1: Genererad 80x80 mandelbrotfraktal med 40 iterationer. 29/95

30 6.1.2 Pseudo-data Vid mätning av dataöverföring via FTP protokollet har vi beslutat att använda testdata som medvetet belastar Disk I/O med stor mängd data. Denna testdata är till skillnad från HTTP mätningen inte CPU-intensiv, då dess beräkningar överlåtes till processorn på kontrollerkortet i den fysiska servern (Hsieh, Stanton, Ali 2002, s.2). För att skapa testdatan använder vi funktionen FSEEK som ingår i grundpaketet för programmeringsspråket PHP. Syntax enligt PHP.NET visas i figur 6.2. int fseek ( resource $handle, int $offset [, int $whence = SEEK_SET ] ) handle offset whence A file system pointer resource that is typically created using fopen(). The offset. To move to a position before the end-of-file, you need to pass a negative value in offset and set whence to SEEK_END. whence values are: SEEK_SET - Set position equal to offset bytes. SEEK_CUR - Set position to current location plus offset. SEEK_END - Set position to end-of-file plus offset. Figur 6.2: Syntax för fseek. I denna mätning är filstorleken på testdata avgörande för att bestämma en Hypervisors kvantitativa prestanda. Efter laboration med filstorlek, beslutade vi att begränsa storleken till 500,000,000 bytes megabytes vilket ger ett tidsintervall som är tillräckligt för att kvantitativt mäta prestanda. Inparametrar till funktionen FSEEK, samt filskrivning presenteras i figur /95

31 $f = fopen('500.mb', 'wb'); fseek($f, 0.5 * 1000 * 1000 * 1000, SEEK_SET); fwrite($f, 'after 500 MB'); fclose($f); Figur 6.3: Tillämpade kommandon i php för 500,000,000 bytes testdata Textsträng Vid mätning av dataöverföring via SQL protokollet har vi beslutat att använda testdata som medvetet belastar både disk I/O och CPU men som även begränsas av den mängd RAM som är allokerat för en VM och hur effektivt en Hypervisor hanterar minnesresurser (Yao 2010). För att simulera ett verkligt scenario har vi valt testdata som består av en textsträng och en primärnyckel n med autoindex, se tabell 6.4. ID n Text thequickbrownfoxjumpsoverthelazydog Tabell 6.4: Tesdata för SQL-INSERT. Antalet rader som skrivs och läses till och från en databas är avgörande för att kvantitativt mäta prestanda. Efter laboration med antalet rader, har vi beslutat att använda rader, vilket ger ett tidsintervall som är tillräckligt för att mäta prestanda. 6.2 Testverktyg I förstudien gjordes en utvärdering av vetenskapliga artiklar för att bedöma om det fanns testverktyg som kunde mäta dataöverföringar kvantitativt. Organisationen SPEC - Standard Performance Evaluation Corporation, har tillverkat ett produktpaket som kallas SPECvirt_sc2010 (spec.org, 2013). Detta produktpaket är sammanställt för att utföra en prestandaanalys av Hypervisors vid olika typer av dataöverföringar. Hårdvarukraven för detta produktpaket visade sig ligga långt över det SUT som vi har tillgång till. Det fanns heller inte några övriga verktyg som kvantitativt kunde mäta dataöverföringar och presentera dessa vetenskapligt med tabeller och grafritning. Genom att analysera testprocessen som SPECvirt_sc2010 använder kunde vi skapa egna 31/95

32 testverktyg som visar likartade resultat. Den faktor som med noggrannhet krävs för att vetenskapligt mäta dataöverföringar är tiden t. PHP är det programmeringsspråk som vi valt att skapa våra testverktyg i. Med motivering att det finns ett utvecklat klassbibliotek för grafritning kallad jpgraph, och stöd för de protokoll som ingår i våra mätningar. Det finns även en funktion för att noggrant mäta tiden i mikrosekunder kallad microtime (PHP.NET, 2013). Eftersom vi valt att skapa våra egna testverktyg kan vi med fördel matematiskt fastställa rätt typ av enheter Testverktyg 1: FTP Testverktyget utvecklas i syfte att vetenskapligt mäta kvantitativ prestanda på dataöverföringar via FTP protokollet. De komponenter som implementeras och anses vara relevanta för vår mätning är; Identifiering av Hypervisor Start-funktion Starttid FTP-funktion Räknare Sluttid Tabeller Grafritning För att kunna hantera den stora mängd data som mäts upp vid en dataöverföring används datastrukturen array. Testverktyget tillämpar en inbyggd FTP-funktion i PHP för att sända och kontrollera mängden överförd data. Insamlingen sker genom iteration, som vid villkoret per sekund lagrar tidpunkten t och storleken på aktuell överförd data kb. Samtidigt beräknas enheten kbps, genom att beräkna skillnaden av totalt överförd data mellan två tidpunkter. När testet når sitt slut beräknas den genomsnittliga hastigheten, samt den totala förflutna tiden. Därefter skapas tabeller och grafer. Se källkod i bilaga 5. 32/95

33 6.2.2 Testverktyg 2: HTTP Testverktyget utvecklas i syfte att vetenskapligt mäta kvantitativ prestanda på dataöverföringar via HTTP protokollet. Testverktyget delas in i två delar. Den första delen består av en mjukvara som heter apache-bench, som är utvecklat av stiftelsen The Apache Software Foundation (apache.org, 2013). Apache-bench är framtaget för att prestandatesta hur många gånger per sekund (RPS) ett webbscript kan läsas. För att minimera felmarginaler i tiden t automatiseras hela testprocess del ett genom att och lagra start- och sluttiden med hjälp av ett batch-script, se bilaga 3. I apache-bench testet anger vi med parametern -n att 1000 förfrågningar skall skickas mot testdatan fractal.php. För att simulera ett verkligt scenario har vi dessutom valt att skicka multipla förfrågningar uppdelat på 10 test som tabell 6.5 visar. Observera att i verkligheten kommer inte förfrågningarna från en och samma källa. Test nr Multipla förfrågningar Tabell 6.5: Apache-bench test-table. Testprocess del 2 tillämpar PHP funktionalitet. De komponenter som implementeras i del två och anses vara relevanta för vår mätning är; 33/95

34 Identifiering av Hypervisor Start-funktion Funktion för att samla mätvärden genererade av apache-bench Räknare Tabeller Eftersom apache-bench i testprocess del ett genererar 10 olika testfall, skapade vi funktioner som samlar in mätvärden Request per second RPS och den förflutna tiden t från varje enskilt testfall. Insamlingen sker genom iteration, och löper med villkoret $count < 10, där 10 är det sista testfallet. Genom att summera alla värden i array tid, får vi ut den totala tiden för alla testfall. Eftersom vi vet att det är 10 testfall kan vi även summera array RPS och dividera med 10, så får vi ut den genomsnittliga hastigheten RPS över alla test. Därefter skapas tabeller och grafer. Se källkod i bilaga Testverktyg 3: SQL Testverktyget utvecklas i syfte att vetenskapligt mäta kvantitativ prestanda på dataöverföringar via SQL protokollet. De komponenter som implementeras och anses vara relevanta för vår mätning är; Identifiering av Hypervisor Start-funktion Starttid Skapa ny tabell i databas Insert-funktion Select-funktion Räknare Sluttid Tabeller Grafritning 34/95

35 Testverktyget skapar en ny tabell vid varje körning, detta för att säkerställa att tabellen inte redan innehåller rader. Vilket annars kan påverka prestanda negativt. Därefter skrivs testdatan in i databasen, och skapar rader. Vid detta tillfälle används en iteration som lagrar tiden t och antal skrivningar vid tidpunkten i två separata arrays. När rader är inmatade i tabellen skrivs den förflutna tiden ut för Insert. Därefter påbörjas en ny iteration som lagrar tiden t och antal utläsningar vid tidpunkten i två separata arrays. När rader är utlästa från tabellen skrivs den förflutna tiden ut för SELECT. När testet når sitt slut beräknas antal skrivningar per sekund och antal utläsningar per sekund, samt den totala förflutna tiden. Därefter skapas tabeller och grafer. Se källkod i bilaga Exportering av statistik från Hypervisor För att kunna genomföra våra tester så krävdes undersökningar för att reda ut hur relevanta mätvärden skulle extraheras. Hypervisors i vår undersökning erbjöd olika bra möjligheter för mätningsutförandet. Kravet för mätningarna var att relevanta mätvärden i form I/O read, I/O write och CPU skulle kunna insamlas och sedan extraheras i ett hanterbart format. Ett annat viktigt värde som samlades in var tidsstämplar från varje Hypervisor så att I/O och CPU kunde jämföras med de resultat from producerades av testverktygen. En begränsning som påverkade hur vi valde att samla in mätvärden var att VMware's mjukvaruklient V-Sphere endast kunde hämta mätvärde från Hypervisorn med hastigheten var tjugonde sekund. Detta visade omöjligt att modifiera (vmware.com, 2013). Efter studier av vetenskapliga artiklar visade det sig att en kort samplerate på exempelvis 1 sekund, teoretiskt skulle kunna påverka prestanda negativt (technet.com, 2009). Vi ansåg på grund av risken och begränsningen att vårt SUT skulle använda en samplerate på tjugo sekunder för mätning av CPU och I/O Export av mätattribut CPU och I/O från ESXi Via mjukvaruklienten VMware V-Sphere kunde Hypervisor ESXi administreras och en stor mängd mätattribut och mätvärden kunde observeras. V-Sphere har ett inbyggt stöd för att extrahera mätvärden till en excelfil vilket gav lättmanipulerbar data som direkt kunde formateras till våra egna graf-verktyg. 35/95

36 De mätattribut som användes för ESXi visas i tabell 6.6. Typ Mätattribut Enhet I/O Read rate, Write Rate kbps CPU CPU Usage % Tabell 6.6: Mätattribut för ESXi Export av mätattribut CPU och I/O från XenServer Citrix erbjuder en mjukvaruklient för att fjärrhantera Hypervisorn kallad XenCenter. Statistik över prestanda fanns tillgängligt men möjligheten att extrahera mätvärden till CSV eller andra filformat saknades, vilket ledde till att andra alternativ utforskades. Det första verktyget som undersöktes var SFlow som samlar in mätvärden och sedan skickar vidare dessa till en utomstående klient kallad collector. SFlow hade möjligheten att begränsa samplerate och gav en bättre upplösning på mätvärden än vad som kunde observeras i XenCenter tack vare dess breda konfigurationsmöjligheter. SFlow saknade exporteringsmöjligheter i form av export till excel- eller CSV. Verktyget är en tredjeparts applikation som kräver installation av mjukvara på både Hypervisor och en separat fristående maskin. Detta verktyg framkallar en osäkerhet då mätvärden överförs via TCP/IP och inte lagras lokalt, samt att Hypervisor prestanda kan påverkas negativt då SFlow installeras på Dom-0 gästen (citrix.com, 2012). DSTAT, som är ett väl utbrett verktyg för Linux distributioner var det andra verktyget som undersöktes. DSTAT erbjuder extrahering av mätvärden via Linux kommandon. Men även denna är en tredje-parts applikation. Efter laboration med verktyget valdes även denna insamlingsmetod bort eftersom prestanda kunde påverkas negativt då samplerate var låst till en sekund. Efter kontakt med företaget Citrix blev vi hänvisade till en uppdatering för XenServer som kallas Performance Monitoring Enhancements Pack for XenServer 6.1 (Citrix.com, 36/95

37 2012). Denna uppdatering inkluderade ett nytt verktyg, RRD2CSV, som innehåller en utökning med fler mätattribut, inställning av samplerate samt export till CSV. Verktyget är utvecklat av Citrix och således ingen tredje-parts produkt. Dokumentationen till RRD2CSV beskriver alla tillgängliga mätattribut. De mätattribut som användes för XenServer visas i tabell 6.7. Typ Mätattribut Enhet I/O io_throughput_read_4e467cec, io_throughput_write_4e467cec MBps CPU cpu_avg % Tabell 6.7: Mätattribut för XenServer. För att starta insamlingen med en samplerate på 20 sekunder exekverades följande kommando i XenServer CLI: RRD2CSV -n -s 20 io_throughput_read_4e467cec io_throughput_write_4e467cec cpu_avg > test.csv Export av mätattribut CPU och I/O från Hyper-V För att tillåta fjärrhantering av Hyper-V så installeras följande mjukvara på klientdatorn; Remote Server Administration Tools for Windows 7 with Service Pack 1 (SP1). I detta utgångsläge hade vi utan svårigheter kunnat fjärrhantera Hypervisorn om den hade varit medlem i en Windows domän, där rättigheter styrs centralt. Men eftersom vi valt att installera Hyper-V i en isolerad miljö utan domän, kunde vi initialt inte fjärrhantera Hypervisorn. Utöver Remote Server Administration Tools krävdes dessutom HVRemote.wsf som är ett cscript för att lägga till behörighet och aktivera fjärrhantering på en Hyper-V Core Server. Eftersom Hyper-V Core Server är en Hypervisor av typen 1, saknas mätverktyget Performance Monitor som är ett standardiserat verktyg i Microsoft Windows för att mäta prestanda. 37/95

38 Istället används Hyper-V s CLI och typeperf för att identifiera vilka mätattribut som går att använda. Dessa kan skrivas till en textfil för att vidare bestämma vilka som skall användas. Detta gjordes med hjälp av kommandot: typeperf /q find "Hyper-V" > countershyperv.txt Relevanta mätattribut identifierades och textfilen redigerades för att endast innehålla insamling av CPU och I/O. För att konfigurera en mätning på Hyper-V används raden: logman.exe create counter HyperVCounters -f bin -cf countershyperv.txt -max 200 -si 20 -si 20 gav en sampelrate på 20 sekunder. För att starta mätningen skrevs följande rad: logman start HyperVCounters För att upphöra mätningen skrevs följande: logman stop HyperVCounters De mätattribut som användes för Hyper-V Core Server 2012 visas i tabell 6.8. Typ Mätattribut Enhet I/O CPU PhysicalDisk(_total)Disk Read, PhysicalDisk(_total)Disk Write Hyper-V Hypervisor Logical Processor(_Total)\% Total Run Time Bps % Tabell 6.8: Mätattribut för Hyper-V. 38/95

39 7. Resultat Detta avsnitt behandlar kvalitativa och kvantitativa resultat av de studier och mätningar som genomförts i arbetet. 7.1 Kvalitativa resultat av funktionaliteter och begränsningar I denna del av rapporten sammanställs de kvalitativa funktioner och begränsningar som varje Hypervisor tillämpar. Tabell 7.1 redovisar ett sammanställt resultat av funktionaliteter och egenskaper som behandlas i avsnitt 5.1 respektive avsnitt 3. Diskussion kring resultatet kommer att utvecklas vidare i avsnitt 8.1. Funktioner/ begränsningar Microsoft Hyper-V Core Server 2012 VMware ESXi 5.1 Citrix XenServer 6.1 Free edition Logiska processorer RAM 4 TB 32 GB 1 TB vram 1 TB Obegränsad 128 GB vcpu/host vcpu/vm VM/Host Required disk space 8 GB 1 GB 16 GB Custom kernel Nej Ja Nej Export av statistik Ja Ja Ja 12 Stöd för tredje-parts tillägg Ja Nej Ja Live Migration Ja Nej Ja Live Storage Ja Nej Nej Snapshot Ja Ja Ja VLAN Ja Ja Ja Micro-kernel Ja Ja Ja Binary translation Nej Ja Nej HAV Ja Ja Ja PV on HAV Ja Ja Ja Tabell 7.1: Jämförelse av funktioner och begränsningar. 12 Kräver tilläggskomponent Performance Monitoring Enhancements Pack. 39/95

40 7.2 Kvantitativa mätresultat Presentation av de kvantitativa mätresultaten och en kort beskrivning om varje testfall Sammanställning av mätresultat från testverktyg Dessa mätresultat är en sammanställning av tidigare utförda mätresultat från testverktygen, se bilaga /95

41 Figur 7.2 visar den jämförbara genomsnittliga dataöverföringshastigheten (kb/s) med testverktyg 1: FTP. Grön färg symboliserar en positiv ökning av dataöverföringshastighet i förhållande till föregående Hypervisor. Tabell 7.3 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med högsta genomsnittliga dataöverföringshastighet. Figur 7.2: Jämförbar genomsnittlig dataöverföringshastighet med testverktyg 1: FTP. Hypervisor Genomsnittlig överföringshastighet (kb/s) Ökning (kb/s) Hyper-V Core Server VMware ESXi XenServer Free Edition Tabell 7.3: Jämförbar genomsnittlig dataöverföringshastighet med testverktyg 1: FTP. 41/95

42 Figur 7.4 visar den totala tid som förflutit (s) vid dataöverföringen med testverktyg 1: FTP. Röd färg symboliserar en negativ ökning av tiden i förhållande till föregående Hypervisor. Tabell 7.5 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med kortast tid vid dataöverföringen. Figur 7.4: Den totala tid som förflutit (s) vid dataöverföringen med testverktyg 1: FTP. Hypervisor Förfluten tid (s) Ökning (s) Hyper-V Core Server VMware ESXi XenServer Free Edition Tabell 7.5: Den totala tid som förflutit (s) vid dataöverföringen med testverktyg 1: FTP. 42/95

43 Figur 7.6 visar den jämförbara genomsnittliga dataöverföringen "förfrågningar per sekund" (RPS) med testverktyg 2: HTTP. Grön färg symboliserar en positiv ökning av RPS i förhållande till föregående Hypervisor. Tabell 7.7 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med högsta RPS vid dataöverföringen. Figur 7.6: Jämförbar genomsnittlig RPS med testverktyg 2: HTTP. Hypervisor RPS Ökning VMware ESXi Hyper-V Core Server XenServer Free Edition Tabell 7.7: Jämförbar genomsnittlig RPS med testverktyg 2: HTTP. 43/95

44 Figur 7.8 visar den totala tid som förflutit (s) vid dataöverföringen "förfrågningar per sekund" (RPS) med testverktyg 2: HTTP. Röd färg symboliserar en negativ ökning av tiden i förhållande till föregående Hypervisor. Tabell 7.9 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med kortast tid vid dataöverföringen. Figur 7.8: Den totala tid som förflutit (s) vid dataöverföringen med testverktyg 2: HTTP. Hypervisor Förfluten tid (s) Ökning (s) VMware ESXi Hyper-V Core Server XenServer Free Edition Tabell 7.9: Den totala tid som förflutit (s) vid dataöverföringen med testverktyg 2: HTTP. 44/95

45 Figur 7.10 visar den jämförbara genomsnittliga dataöverföringen vid "antal rader som läses från databasen per sekund" (SELECT/s) med testverktyg 3: SQL. Grön färg symboliserar en positiv ökning av antalet rader som läses från databasen per sekund i förhållande till föregående Hypervisor. Tabell 7.11 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med högst antal rader vid utläsning från databasen per sekund vid dataöverföringen. Figur 7.10: Jämförbar genomsnittlig SELECT/s med testverktyg 3: SQL. Hypervisor SELECT/s Ökning (rader) Hyper-V Core Server VMware ESXi XenServer Free Edition Tabell 7.11: Jämförbar genomsnittlig SELECT/s med testverktyg 3: SQL. 45/95

46 Figur 7.12 visar den totala tid som förflutit (s) vid dataöverföringen "antalet rader som läses från databasen per sekund" (SELECT/s) med testverktyg 3: SQL. Röd färg symboliserar en negativ ökning av tiden i förhållande till föregående Hypervisor. Tabell 7.13 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med kortast tid vid dataöverföringen. Figur 7.12: Den totala tid som förflutit (s) vid dataöverföringen SELECT/s med testverktyg 3: SQL. Hypervisor Förfluten tid (s) Ökning (s) VMware ESXi Hyper-V Core Server XenServer Free Edition Tabell 7.13: Den totala tid som förflutit (s) vid dataöverföringen SELECT/s med testverktyg 3: SQL. 46/95

47 Figur 7.14 visar den jämförbara genomsnittliga dataöverföringen vid "antalet rader som skrivs till databasen per sekund" (INSERT/s) med testverktyg 3: SQL. Grön färg symboliserar en positiv ökning av antalet rader som skrivs till databasen per sekund i förhållande till föregående Hypervisor. Tabell 7.15 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med högst antal rader vid skrivning till databasen per sekund vid dataöverföringen. Figur 7.14: Jämförbar genomsnittlig INSERT/s med testverktyg 3: SQL. Hypervisor INSERT/s Ökning (rader) XenServer Free Edition 37 5 VMware ESXi Hyper-V Core Server Tabell 7.15: Jämförbar genomsnittlig INSERT/s med testverktyg 3: SQL. 47/95

48 Figur 7.16 visar den totala tid som förflutit (s) vid dataöverföringen "antalet rader som skrivs till databasen per sekund" (INSERT/s) med testverktyg 3: SQL. Röd färg symboliserar en negativ ökning av tiden i förhållande till föregående Hypervisor. Tabell 7.17 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med kortast tid vid dataöverföringen. Figur 7.16: Den totala tid som förflutit (s) vid dataöverföringen INSERT/s med testverktyg 3: SQL. Hypervisor Förfluten tid (s) Ökning (s) XenServer Free Edition VMware ESXi Hyper-V Core Server Tabell 7.17: Den totala tid som förflutit (s) vid dataöverföringen INSERT/s med testverktyg 3: SQL. 48/95

49 Figur 7.18 visar den totala tid som förflutit (s) vid dataöverföringarna INSERT och SELECT med testverktyg 3: SQL. Röd färg symboliserar en negativ ökning av tiden i förhållande till föregående Hypervisor. Tabell 7.19 redovisar resultatet i tabellform. Fetstilt symboliserar den Hypervisor med kortast tid vid dataöverföringen. Figur 7.18: Den totala tid som förlutit (s) vid dataöverföringarna INSERT och SELECT med testverktyg 3: SQL. Hypervisor Förfluten tid (s) Ökning (s) XenServer Free Edition VMware ESXi Hyper-V Core Server Tabell 7.19: Den totala tid som förlutit (s) vid dataöverföringarna INSERT och SELECT med testverktyg 3: SQL. 49/95

50 7.2.2 Sammanställning av mätresultat från Hypervisor (CPU och Disk I/O) Dessa mätresultat är sammanställda från mätningar som är utförda lokalt på varje Hypervisor, och exekverades parallellt vid körning av testverktyg. Den förflutna tiden stämmer överrens med överföringarna från testverktygen i avsnitt Denna sammanställning används i syfte att påvisa en Hypervisors prestandaresultat. Figur 7.20 visar CPU-utnyttjande i procent över tiden på en Hypervisor vid dataöverföringen med testverktyg 1: FTP. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer % motsvarar 100% utnyttjande av 1 vcpu. Figur 7.20: CPU-utnyttjande i procent över tiden vid dataöverföringen med testverktyg 1: FTP. 50/95

51 Figur 7.21 visar I/O läs-utnyttjande i kbps över tiden på en Hypervisor vid dataöverföringen med testverktyg 1: FTP. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer Mätvärdena hämtas från kontrollerkortets mätattribut. Figur 7.21: I/O läs-utnyttjande över tiden vid dataöverföringen med testverktyg 1: FTP. 51/95

52 Figur 7.22 visar I/O skriv-utnyttjande i kbps över tiden på en Hypervisor vid dataöverföringen med testverktyg 1: FTP. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer Mätvärdena hämtas från kontrollerkortets mätattribut. Figur 7.22: I/O skriv-utnyttjande över tiden vid dataöverföringen med testverktyg 1: FTP. 52/95

53 Figur 7.23 visar CPU-utnyttjande i procent över tiden på en Hypervisor vid dataöverföringen med testverktyg 2: HTTP. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer % motsvarar 100% utnyttjande av 1 vcpu. Figur 7.23: CPU-utnyttjande i procent över tiden vid dataöverföringen med testverktyg 2: HTTP. 53/95

54 Figur 7.24 visar I/O läs-utnyttjande i kbps över tiden på en Hypervisor vid dataöverföringen med testverktyg 2: HTTP. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer Mätvärdena hämtas från kontrollerkortets mätattribut. Figur 7.24: I/O läs-utnyttjande över tiden vid dataöverföringen med testverktyg 2: HTTP. 54/95

55 Figur 7.25 visar I/O skriv-utnyttjande i kbps över tiden på en Hypervisor vid dataöverföringen med testverktyg 2: HTTP. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer Mätvärdena hämtas från kontrollerkortets mätattribut. Figur 7.25: I/O skriv-utnyttjande över tiden vid dataöverföringen med testverktyg 2: HTTP. 55/95

56 Figur 7.26 visar CPU-utnyttjande i procent över tiden på en Hypervisor vid dataöverföringen med testverktyg 3: SQL. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer % motsvarar 100% utnyttjande av 1 vcpu. Figur 7.26: CPU-utnyttjande i procent över tiden vid dataöverföringen med testverktyg 3: SQL.. 56/95

57 Figur 7.27 visar I/O läs-utnyttjande i kbps över tiden på en Hypervisor vid dataöverföringen med testverktyg 3: SQL. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer Mätvärdena hämtas från kontrollerkortets mätattribut. Figur 7.27: I/O läs-utnyttjande över tiden vid dataöverföringen med testverktyg 3: SQL. 57/95

58 Figur 7.28 visar I/O skriv-utnyttjande i kbps över tiden på en Hypervisor vid dataöverföringen med testverktyg 3: SQL. Blå färg symboliserar Hyper-V Core Server 2012, röd färg symboliserar VMware ESXi och grön färg symboliserar XenServer Mätvärdena hämtas från kontrollerkortets mätattribut. Figur 7.28: I/O skriv-utnyttjande över tiden vid dataöverföringen med testverktyg 3: SQL. 58/95

59 8. Diskussion Detta avsnitt består av en kvalitativ och en kvantitativ diskussion som behandlar resultaten av våra undersökningar. Dessa resultat diskuteras och förklaras för att ge läsaren svar på följande frågeställningar: Vilka skillnader i funktionalitet finns i Hypervisor typ-1? Hur väl presterar en Hypervisor typ-1 med hänsyn till Disk I/O och CPU vid olika typer av dataöverföringar? Utöver en kvalitativ och kvantitativ diskussion avhandlas även ekonomisk hållbarhet och samhällsnytta såväl som miljöpåverkan. De sistnämnda diskuteras för att reflektera över viktiga värderingar och frågor som återspeglar teknikens inflytande i samhället. 8.1 Kvalitativa funktionaliteter och begränsningar De resultat som den kvalitativa undersökningen påvisar i avsnitt 7.1 upplyser de funktioner och begränsningar som olika Hypervisors innehar. Resultaten visar på att den Hypervisor som ökar den administrativa underhållsförmågan för datacenter och omfattar minst antal begränsningar i resursallokering är Microsoft Hyper-V Core Server För leverantörer av molnbaserade datacenter är begränsningar i resursallokering ett problem som ökar behovet av antal fysiska datorsystem och bör därför ha en övervägande betydelse vid val av Hypervisor. En Hypervisor med låg begränsning i resursallokering ökar den långsiktiga investeringen vid uppgradering av datorkomponenter för befintliga fysiska datorsystem. Begränsningarna som finns i tabell 7.1. påvisar varje enskild aktörs licensrestriktioner. Dessa restriktioner har olika betydelser när det gäller hur resurser kan fördelas mellan de maximalt antal tillåtna VMs. En aktör begränsar resurser avsiktligt på ett vis som kan få en intressent att tro att 59/95

60 alla VMs kan konfigureras enligt de maximala gränserna (ex 4 TB 13 vram) för varje VM. Men den kostnadsfria licensen begränsar antal virtuella maskiner som maximalt kan utnyttjas vilket betyder att man inte kan allokera exempelvis 4 TB RAM till alla 1024 virtuella maskiner eftersom begränsningarna maximalt tillåter en sammanlagd användning av 4 TB fördelat över samtliga virtuella maskiner i en Hypervisor. Med hänvisning till vårt SUT, där varje VM är konfigurerad med 2048 MB 14 vram. Skulle Hyper-V med 1024 virtuella maskiner totalt kräva 2 TB internminne, vilket överstiger aktörens begränsning. ESXi med 512 virtuella maskiner till totalt 1 TB interminne, vilket överstiger aktörens begränsning. XenServer understiger aktörens begränsning då 150 virtuella maskiner används eftersom den totala allokeringen blir 300 GB 15 i internminne. Genom att välja den Hypervisor som kan hantera lägst antal virtuella maskiner, vilket är XenServer med 150 stycken, kan en jämförbar kvot beräknas. Hyper-V tillåter 6,67 GB vram per VM, ESXi 0,214 GB vram per VM och XenServer 0,854 GB vram per VM. Detta betyder att den Hypervisor som ger störst skalbarhet i jämförelse med de övriga är Hyper-V. Licensmodellen för Hyper-V skiljer sig från de övriga då Microsoft valt en kostnadsfri Hypervisor som inte har en stigande licensmodell. Microsoft har istället valt att endast ta betalt för licensen som krävs vid installation av Windows Server på en virtuell maskin. Denna möjlighet saknar konkurrenterna. När det gäller administrativ underhållsförmåga så erbjuder Hyper-V både Live Migration och Live Storage. Citrix XenServer erbjuder endast Live Migration och inte Live Storage. VMware s motsvarighet till Live migration och Live Storage kallas vmotion och är inte tillgänglig i den kostnadsfria versionen. Live Migration och Live Storage anses viktiga när man står vid valet av Hypervisor. Live Migration underlättar flytt av virtuella maskiner och Live Storage möjliggör flytt av lagringsmängd som är förknippad med en specifik virtuell maskin. Båda 13 TB, TeraByte 14 MB, MegaByte 15 GB, GigaByte 60/95

61 funktionerna kan appliceras utan yttre påverkan av en tjänst. Det innebär att kunder som använder sig av servicemodeller relaterade till molntjänster således inte upplever driftstopp, vilket stämmer överens med de krav som ställs på en molntjänst. En annan viktig administrativ egenskap som alla Hypervisors i vår undersökning uppfyller är Snapshot funktionalitet. Samtliga har stöd för snapshot med undantaget att ESXi inte tillåter en schemalagd tillämpning av snapshot-funktionalitet. VLAN funktionalitet minskar behovet av fysiska nätverksportar och därav kabeldragning i ett datacenter. Komplexiteten ökar i förhållande till datacentrets storlek, vilket medför att VLAN funktionalitet är användbart i molnbaserade datacenter. 8.2 Användbarhet Arbetet är avgränsat till en prestanda- och funktionsanalys och täcker därför inte installationsprocessen av varje individuell Hypervisor. Däremot anser vi att inlärningstiden vid hanteringen av varje Hypervisors klient är en viktig faktor att diskutera. Den klient som var mest lätthanterlig är VMware V-Sphere 5.0. Där administrativa funktioner i gränssnittet grupperades där användaren förväntade sig att de skulle ligga. V-Sphere restrikterade inte avancerade inställningsmöjligheter, som en mer erfaren användare kan förvänta sig. XenCenter är den klient som används i administrativt syfte för XenServer, saknade initialt exportmöjligheter av statistik, vilket minskar den administrativa förmågan att felsöka virtuella maskiners prestanda. Remote Server Administration Tools for Windows 7, är den klient som användes för att hantera Hyper-V. Den administrativa förmågan var begränsad i versionen för Windows 7, som saknade avancerade inställningsmöjligheter. Den administrativa förmågan var större i Windows 8 men behandlades inte i vårt arbete. Windows 7 är 2013 vanligare än Windows 8 på befintliga arbetsstationer, vilket är en anledning till att Hyper-V fått en sämre bedömning av administrativ förmåga än ESXi. 8.3 Hårdvarukrav Microsoft Hyper-V är den Hypervisor som har lägst hårdvarukrav. Microsofts Hypervisor är utvecklad för att kunna användas på så många olika hårdvaru-plattformar 61/95

62 som möjligt. De hårdvarukrav som de anser minimikrav är att processorn måste ha stöd för virtualisering vilket är antingen Intel VT eller AMD-V. Hyper-V kräver enligt Microsoft minst mängd internminne för att fungera, däremot kräver den relativt mycket lagringsmängd för att kunna installeras. Citrix XenServer kräver också en stor mängd lagringsutrymme för att kunna installeras, 16GB behövs för att hela systemet ska få plats. VMware ESXi kräver minst lagringsutrymme av de Hypervisors som undersökts. Detta kan förklaras med att både Hyper-V och XenServer i grunden består av Operativsystem som ursprungligen konstruerats för andra uppgifter än virtualisering. Därmed har man fått anpassa befintliga operativsystem, Hyper-V är baserat på Windows och XenServers är baserat på Linux. ESXi använder sig av Linux endast för att initiera sin specialutvecklade kärna som kallas vmkernel, utöver detta används inte Linux av ESXi. Eftersom samtliga Hypervisors i vår undersökning alla är av typen micro-kernel så skulle de i praktiken kunna uppta lika lite lagringsutrymme som VMware ESXi. En anpassad kärna har fördelen att den inte behöver utnyttja lika mycket hårdvaruresurser som en generell kärna. ESXi har en viss fördel över Hyper-V och XenServer då den har möjlighet att utnyttja Binary Translation i fallet då värddatorn inte skulle ha stöd för Hardware Assisted Virtualization. I dagens tekniksamhälle är det ovanligt att server-orienterade datorsystem saknar stöd för HAV. Microsoft har tydligen ett intresse att nå ut till så många slutkunder som möjligt på grund av det låga hårdvarukrav och det faktum att de erbjuder mest funktionalitet i sin Hypervisor. Microsoft vill därmed öka sin marknadsandel genom att övertala befintliga användare av konkurrerande Hypervisors om fler funktioner och färre restriktioner i sin egen kostnadsfria Hypervisor - Hyper-V. 8.4 Kvantitativa prestandaskillnader Resultaten från den kvantitativa delen av rapporten som går att ta del av i avsnitt 7.2 visar de uppmätta prestandaskillnader som testverktygen genererat för varje Hypervisor vid olika typer av dataöverföringar. Resultaten visar även att det finns ett samband mellan hur väl en Hypervisor presterat och vilken typ av dataöverföring som den utsätts för. 62/95

63 Det visade sig att Hyper-V hade en högre genomsnittlig prestanda (kb/s) jämfört med konkurrenterna vid en dataöverföring med testverktyg 1: FTP. Vårt SUT använder hårdvarubaserad RAID, med syfte att avlasta systemets CPU och överlåta beräkningar till kontrollerkortet 16. Figur 7.20 visar att Hyper-V utnyttjade procentuellt minst CPU vid dataöverföringen och figur 7.21 samt 7.22 visar att denna Hypervisor hade högst läsning och skrivning till och från I/O enheten. Detta betyder att Microsofts Hypervisor i denna dataöverföring kombinerar hårdvaruresurser mest effektivt och har därmed högst prestanda vid dataöverföringar med FTP protokollet. VMware ESXi var den Hypervisor som prestandamässigt var efterföljande Hyper-V. ESXi hade procentuellt högre CPU utnyttjande vid dataöverföringen men hade en lägre läsning och skrivning till och från I/O enheten. Citrix XenServer hade lägst genomsnittlig dataöverföring (kb/s) och procentuellt högst utnyttjande av CPU, men lägst läsning och skrivning till och från I/O enheten. ESXi hade en högre genomsnittlig prestanda (RPS) jämfört med konkurrenterna vid en dataöverföring med testverktyg 2: HTTP. Testdatan som bestod av en mandelbrotfraktal, beräknades vid varje förfrågan som ställdes till HTTP-servertjänsten. Denna användes i syfte att testa vilken Hypervisor som tillämpar CPU beräkningar mest effektivt. Figur 7.23 visar att ESXi utnyttjade procentuellt mindre CPU än XenServer som hade högst CPU utnyttjande, vilket kan förklaras genom att XenServer kräver mer resurser för att utföra samma typ av operationer som ESXi. Detta betyder att XenServer är mindre effektiv på att hantera intensiva CPU operationer än ESXi. Hyper-V som prestandamässigt var efterföljande ESXi uppvisade ett likartat utnyttjande av CPU som ESXi. XenServer var den Hypervisor som presterade lägst i detta test. Vi har lyckats hitta en källa som utövar liknande test för att validera vårt mätresultat. Detta test är framtaget av ett företag som testar lastbalansering och mäter antal anslutningar per sekund mot en HTTP-servertjänst som finns installerad på en Hypervisor. Jämförelsen är mellan de Hypervisors som ingår i vår undersökning. Mätningen påvisar liknande mätresultat som uppnåddes med testverktyg 2: HTTP. (Exceliance.fr, 2012) 16 Förtydligande, kontrollerkort är en I/O enhet 63/95

64 XenServer hade en högre genomsnittlig prestanda vid skrivning av antalet rader per sekund (INSERT/s) jämfört med konkurrenterna vid en dataöverföring med testverktyg 3: SQL. Testverktyget prestandatestade även genomsnittlig läsning av antalet rader per sekund (SELECT/s) där Hyper-V hade högst prestanda. Syftet med testdatan var att prestandatesta samtliga Hypervisors med vanligt förekommande databastransaktioner som sker i ett molnbaserat datacenter. Den Hypervisor som positonsmässigt hamnade på andra plats i båda SQL testen var ESXi. Eftersom varken Hyper-V eller XenServer presterade högst i båda testen, är ESXi den Hypervisor som prestandamässigt bör väljas vid implementering av databasserver på en virtuell maskin. Figur 7.28 visar att XenServer hade högst toppvärden vid skrivning till I/O enheten, vilket motiverar dess höga prestandaresultat vid INSERT/s. Figur 7.27 visar att Hyper-V hade högst toppvärde vid läsning från I/O enheten, vilket kan förklara dess prestandaresultat. En jämförelse av figur 7.27 och 7.28 visar även att samtliga Hypervisors utnyttjar mer disk I/O vid skrivning än för läsning. Detta är förstås beroende av hur testverktyget är uppbyggt. Men betyder att om ett datacenter ska implementera en databas-servertjänst bör ett kontrollerkort och hårddiskar som har en hög skrivhastighet prioriteras. Med en återkoppling till avsnitt 3.1, kan utnyttjandet av I/O teoretiskt förklaras genom att vi använde RAID-1 som lagringsteknologi. Vid skrivning sker dataöverföring parallellt till två hårddiskar samtidigt. Vid läsning väljer kontrollerkortet ut den hårddisk som spårmässigt har kortast väg till datan, vilket medför att mindre I/O används vid läsning. 8.5 Ekonomisk hållbarhet och samhällsnytta Med avseende på molntjänster så innebär resultaten i avsnitt 7.1 att om hårdvaran tillåter det, så ger Hyper-V möjligheten till att flest virtuella maskiner kan driftsättas samtidigt. Enligt servicemodellen IaaS så innebär detta att man kan hyra ut fler virtuella maskiner med Hyper-V än vad man kan med Citrix XenServer eller VMware ESXi. Servicemodellen IaaS skapar möjlighet för nya aktörer att ta sig in på marknaden eftersom en hyrd infrastruktur kan utökas till nästa servicemodell PaaS. PaaS kan då innehålla servertjänster som den nya aktören distribuerar i egen regi. Servicemodellen SaaS ökar samhällsnyttan då nya företag snabbt kan komma igång med nya verksamhetsberoende tjänster utan teknisk bakgrundskunskap. 64/95

65 8.6 Miljöpåverkan Eftersom efterfrågan på molnbaserade tjänster ökar, väljer företag att hyra en servicemodell framför driftsättning av eget datacenter. Virtualisering som infrastruktur har därför en fundamental betydelse då hårdvara i fysiska datorsystem kan utnyttjas mer kostnadseffektivt. Genom att välja en effektiv Hypervisor för den avsedda tjänsten, ökar prestanda och bidrar till en minskad energiförbrukning över en längre period. 8.7 Slutsats För att ge läsaren svar på vår huvudfrågeställning avslutas diskussionen med en slutsats. Resultatet av den kvalitativa undersökningen visade att den Hypervisor som offererade mest funktionalitet och minst begränsningar är Hyper-V. Ett mindre datacenter som inte planerar en expansion bör lämpligtvis välja ESXi på grund av dess höga administrativa förmåga. Ett större datacenter som planerar implementation av molnbaserade tjänster bör dra fördel av funktioner som Live Migration och Live Storage. Dessa tjänster kräver oftast mer hårdvaruresurser vilket betyder att Hyper-V är den Hypervisor som bör användas vid implementation av molntjänster. Datacenter väljer vanligtvis att implementera en aktörs Hypervisor för alla servertjänster. En förenkling av lämplighetsgraden kan därför appliceras, vilket medför att vi kan skapa en strikt poängfördelning där 3 poäng delas ut till den Hypervisor som hade högst prestanda. 1 poäng delas ut till den Hypervisor som presterat lägst i angiven dataöverföring. 2 poäng till den Hypervisor som prestandamässigt placerade sig mellan de andra. Tabell 8.1 visar en förenklad poängmodell baserat på resultatet av den kvantitativa prestandamätningen. 65/95

66 Dataöverföring Microsoft Hyper-V Core Server 2012 VMware ESXi Citrix XenServer Free version FTP (kb/s) HTTP (RPS) SQL (INSERT/s) SQL (SELECT/s) Summering Tabell 8.1: Förenklad poängmodell baserat på resultatet av den kvantitativa prestandamätningen. Summeringen av antal poäng visar att Hyper-V och ESXi är de Hypervisors som prestandamässigt lämpar sig i en datacentermiljö. Med återkoppling till mätresultatet i avsnitt 7.2 är ESXi den Hypervisor som uppvisade goda prestandaresultat i samtliga dataöverföringar, och är därför prestandamässigt den mest lämpliga i ett molnbaserat datacenter där leverantören offererar olika typer av servertjänster. 66/95

67 9. Vidare forskning Den empiriska undersökningen har identifierat nya intressanta faktorer som har inflytande på prestanda. Med återkoppling till den avgränsning som arbetet omfattar så har inte alla faktorer fullständigt behandlats. Dessa faktorer skulle kunna utgöra en grund för vidare forskning. Denna uppsats har främst fokuserat på utnyttjande av en virtuell maskin per Hypervisor, med syftet att mäta en Hypervisors totala prestanda. I distribuerade informationssystem hanterar Hypervisors flera virtuella maskiner simultant. I en vidare forskning är det därför relevant att mäta prestanda när en Hypervisor implementerar multipla virtuella maskiner, i ett så kallat distribuerat informationssystem. Live Migration och Live Storage är funktionaliteter som gynnar molnbaserade datacenter. Det skulle vara intressant att utföra en kvantitativ prestandaanalys av funktionernas effektivitet. Eftersom VMware har en begränsad licensmodell när det gäller vmotion, skulle detta innebära att man är tvungen att utföra prestandatester på en Hypervisor vars licens inte är kostnadsfri. Ett begrepp som behandlades kort i det teoretiska avsnittet är Hypervisor typ-2. En liknande prestandaanalys som detta arbete omfattar skulle kunna utföras på Hypervisor typ-2 i syfte att uppmäta hur prestanda resultaten skiljer sig från typ-1. Ett intressant fenomen som inte fullständigt behandlas av vår undersökning identifierades i figur Under detta test så nyttjade XenServer mer processorkraft än vad den ursprungligen var tilldelad. Detta skulle teoretiska kunna förklaras genom att vid tillämpning av Xen-modellen kräver Dom0-gästen mer av systemets resurser vid CPU intensiva operationer än vad andra konkurrerande modeller uppvisar. 67/95

68 10. Referenser Apache.org (2013) ab - Apache HTTP server benchmarking tool (Elektronisk) Tillgänglig: < > ( ) Bhardwaj, Sushil, Jain, Leena, Jain, Sandeep (2010) Cloud Computing: A study of Infrastructure as a service (IaaS) (Elektronisk) Tillgänglig: < OF.pdf > ( ) Chen, Peter, Lee, Edward, Gibson, Garth, Katz, Randy & Patterson, David (1994) High-Performance, Reliable Secondary Storage". ACM Computing Surveys 26 (Elektronisk) Tillgänglig: < > ( ) Cisco (2012), Global Cloud Index Forecast and Methodology (Elektronisk) Tillgänglig: < ud_index_white_paper.pdf > ( ) Citrix.com Performance Monitoring Enhancements Pack for XenServer 6.1 (2012) (Elektronisk) Tillgänglig: < > ( ) Citrix.com XenServer Performance Monitoring for Scalability Testing (2012) (Elektronisk) Tillgänglig: < Performance Monitoring for Scalability Testing.pdf > ( ) Citrix.com XenServer Tech Specs (2013) (Elektronisk) Tillgänglig: < > ( ) Citrix.com What is XenMotion? (Elektronisk) 68/95

69 Tillgänglig: < > ( ) Daintith John & Wright Edmund (2008) Seek time (senast uppdaterad 2012) (Elektronisk) Tillgänglig: < > ( ) Daintith John & Wright Edmund (2008) Latency (senast uppdaterad 2012) (Elektronisk) Tillgänglig: < > ( ) Daintith John & Wright Edmund (2008) virtual machine (senast uppdaterad 2012) (Elektronisk) Tillgänglig: < > ( ) Exceliance.fr (2012) Exceliance - Aloha Load Balancer < > ( ) Graziano, Charles David (2011) A performance analysis of Xen and KVM hypervisors for hosting the Xen Worlds Project (Elektronisk) Tillgänglig: < > ( ) Hsieh, Jenwei, Stanton, Christopher, Ali, Rizwan Performance Evaluation of Sowtware RAID vs. Hardware RAID for Parallel Virtual File System (2002) (Elektronisk) Tillgänglig: < >( ) Hwang, Kai, Dongarra, Jack, Fox, Geoffrey (2011) Cloud Computing: Virtualization Classes (Elektronisk) Tillgänglig: < > ( ) java.com (2012) Learn About Java Technology (Elektronisk) Tiilgänglig: < > ( ) 69/95

70 Keller, Erik, Szefer, Jakub, Rexford, Ruby B. Lee, Jennifer (2010) Virtualized Cloud Infrastructure without the Virtualization (Elektronisk) Tillgänglig: < > ( ) Kim Sue (2004) Characterizing Thermal Behavior of Pentium-IV with Hyperthreading (Elektronisk) Tillgänglig: < > ( ) Lo, Ken (2007) PHP Fractal generator (Elektronisk) Tillgängling : < > ( ) Le, Cuong Hoang H. (2009) Protecting Xen hypercalls (Elektronisk) Tillgänglig< > ( ) Mell Peter & Grance Timothy (2011) The NIST Definition of Cloud Computing (Elektronisk) Tillgänglig: < ( ) Microsoft.com (2013) Review Prerequisites for Installation (Elektronisk) Tillgänglig: < > ( ) Niubo, John (2012) Datorer och nätverk DA223A (Kurslitteratur) Föreläsning 3, DA223A_F3.PDF. PHP.NET microtime (2013) (Elektronisk) Tillgänglig: < > ( ) Spec.org SPECvirt_sc2010 (2013) (Elektronisk) Tillgänglig: < > ( ) 70/95

71 Technet.com (2009) Analyzing Storage Performance (Elektronisk) Tillgänglig: < > ( ) Techtarget.com Top 10 hypervisors: Choosing the best hypervisor technology (Elektronisk) Tillgänglig: < hypervisors-choosing-the-best-hypervisor-technology > ( ) Ung, David & Cifuentes, Cristina (2000) Machine-adaptable dynamic binary translation (Elektronisk) Tillgänglig: < dl.acm.org > ( ) vmware.com (2013) ESXi Hardware Require Requirements (Elektronisk) Tillgänglig: < 51/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc%2FGUID-DEB8086A-306B BF76-E FC.html > ( ) Vmware.com (2007) understanding Full Virtualization, Paravirtualization, and Hardware Assist Tillgänglig: < > ( ) Vmware.com (2012) I/O Compatibility Guide (Elektronisk) Tillgänglig: < > ( ) Vmware.com vsphere Performance Data Collection (2013) (Elektronisk) Tillgänglig < 50/index.jsp?topic=%2Fcom.vmware.wssdk.pg.doc_50%2FPG_Ch16_Performance html > ( ) Vmware.com ESXi Hardware Requirements (2013) (Elektronisk) Tillgänglig: < c%2fg > ( ) 71/95

72 Vmware.com Understanding Snapshots (2013) Tillgänglig : < > ( ) Vmware.com VMware ESX Server Q VLAN Solutions (2006) (Elektronisk) Tillgänglig: < > ( ) Yao, Leiyue (2010) "Analysis and optimization for bottlenecks of database in massive management of information system," Computer and Communication Technologies in Agriculture Engineering (CCTAE) vol.2 (Elektronisk) Tillgänglig: < 0 > ( ) Xen.org Why Xen? (2013) (Elektronisk) Tillgänglig: < > ( ) Xen.org PV on HVM (2013) (Elektronisk) Tillgänglig: < > ( ) 72/95

73 11. Bilagor Bilaga 1 fractal.php <?php /* Timing */ set_time_limit(0); function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $time_start = microtime_float(); /* Lil Mandlebrot Set Fractal Generator */ define ('IMAGE_WIDTH', 80); define ('IMAGE_HEIGHT', 80); define ('X_MIN', -1.5); define ('X_MAX', 0.5); define ('Y_MIN', -1); define ('Y_MAX', 1); define ('MAX_ITERATIONS', 40); // if you change this to a number bigger than 200, make sure you create a new palette.png header("content-type: image/png"); $image = imagecreate(image_width, IMAGE_HEIGHT); // Load the palette to find colours $colours = array(); $colours['inside'] = imagecolorallocate($image, 0, 0, 0); $palette = imagecreatefrompng("palette.png"); for ($i=0; $i<imagesx($palette); $i++) { $rgb = imagecolorat($palette, $i, 0); $colours[$i] = imagecolorallocate($image, ($rgb >> 16) & 0xFF, ($rgb >> 8) & 0xFF, $rgb & 0xFF); } for ($i=0; $i<image_width; $i++) { for ($j=0; $j<image_height; $j++) { // What values of x and y does this pixel represent? $x = X_MIN+$i*((X_MAX - X_MIN) / (IMAGE_WIDTH-1)); $y = Y_MIN+$j*((Y_MAX - Y_MIN) / (IMAGE_HEIGHT-1)); // C=x+yi $iteration = 0; $z = array(0,0); // The initial value of z is 0+0i $magnitude = 0; // Optimization: Store x^2 and y^2 so we don't have to keep calculating it $x2 = 0; $y2 = 0; // If the z > 2 ever, then the sequence will tend to infinity so we can exit the loop while ($iteration <= MAX_ITERATIONS && $x2+$y2 <= 4) { // In order to get the next term in the sequence // we need to square the previous number and then add // the original complex number // z(n+1) = z(n)^2+c $k = $z; // z is a complex number. When we square a complex number in the form x+yi: // New real component: x^2-y^2 // New imaginary component: 2*real*imaginary $z[0] = $x2 - $y2; $z[1] = 2 * $k[0] * $k[1]; 73/95

74 // Add Complex Number $z[0] = $z[0] + $x; $z[1] = $z[1] + $y; $x2 = pow($z[0], 2); $y2 = pow($z[1], 2); ++$iteration; } if ($iteration == MAX_ITERATIONS) { imagesetpixel($image, $i, $j, $colours['inside']); } else { imagesetpixel($image, $i, $j, $colours[$iteration]); } } } $time_end = microtime_float(); header ("X-Exec-Time: ".($time_end - $time_start)); imagepng($image);?> 74/95

75 Bilaga 2 sqltesttool.php <!DOCTYPE html> <html> <head> </head> <body> <div> <center> <h1>sql-benchmark</h1> <?PHP // Get Hypervisor type from virtual machine hostname. $hostname = gethostname(); $system = strstr($hostname, '7'); if ($system == "7SHV") {echo "<h2>hypervisor: Hyper-V Core 2012 Server</h2>"; } elseif ($system == "7SESX") {echo "<h2>hypervisor: VMware ESXi 5.1.0</h2>"; } elseif ($system == "7SXS") {echo "<h2>hypervisor: XenServer 6.1</h2>"; }?> <div style="font-size:10pt;font-family:arial;"> <br> <p>a test tool that evaluates SQL database performance using PHP functions. The test will insert n number of rows into a test table and then read them back.<br><br><b>not included in this test tool: </b>analysis of CPU and I/O usage on Hypervisor over all tests.<br><br><b>included in this test tool: </b> Database connect-, Table create-, SQL write-, SQL read duration. Total elapsed time, SQL write/s and SQL read/s.<br><br><b>purpose:</b> To analyze Hypervisor performance at memory intensive transfers.<br> <br> <table style="border:2px solid black;" "BORDER="1" CELLPADDING="8" CELLSPACING="0"> <tr><th style="border-right:1px solid black;border-bottom:1px solid black;">id</th><th style="border-bottom:1px solid black;">text</th></tr> <tr><td style="border-right:1px solid black;">n</td><td ">thequickbrownfoxjumpsoverthelazydog</td></tr> </table> <hr style="visibility:hidden; margin-bottom:-5px;"/>table data used in test.</br></p> <?PHP // if start button not pressed, echo start button. if (!isset($_post["submit"])) { echo "<br><form action='". $_SERVER['PHP_SELF']. "' method='post'>"; echo "<input type='submit' name='submit' value='start'>"; echo "</form>"; } // if start button pressed, start test. if (isset($_post["submit"])) { // echo start time and date echo "<br><h3> Start date: ". date("y-m-d H:i:s"). "</h3>"; echo "<br><h2>results: </h2>"; // Include graph classes require_once ('src/jpgraph.php'); require_once ('src/jpgraph_scatter.php'); require_once ('src/jpgraph_line.php'); require_once ("src/jpgraph_plotline.php"); // Increase php max-execution time and set global variables set_time_limit (5000); $time = microtime(true); $start_time=$time; $rows=25000; // Mysql database connection string $mysqli = mysqli_connect("localhost","root","sommar13", "sqltest1") or die ("could not connect to mysql"); // Drop old table in database if it already exists mysqli_query($mysqli, "DROP TABLE IF EXISTS Test_tbl" ) ; // Calculate current timestamp $connect=microtime(true)-$start_time; echo '<table style="border:1px solid black;" "BORDER="1" CELLPADDING="1" CELLSPACING="4">'; echo '<B><tr><th>Number of rows</th></b></tr>'; echo "<tr>"; printf( "<td>%0.0f</td>", $rows); echo "</tr>"; 75/95

76 echo '<table><br><br>'; echo '<table style="border:1px solid black;" "BORDER="1" CELLPADDING="1" CELLSPACING="4">'; echo '<B><tr><th>Database connect duration (s)</th><th>table create duration (s)</th><th>sql write duration (s)</th><th>sql read duration (s)</th></b></tr>'; echo "<tr>"; printf( "<td>%0.5f</td>", $connect); // Create new table structure. $tablecreate = "CREATE TABLE IF NOT EXISTS test_tbl (id int(255) NOT NULL auto_increment,text TEXT,PRIMARY KEY (id)) "; // Send table to database. $queryresult = mysqli_query($mysqli, $tablecreate); // Calculate current timestamp $table=microtime(true)-$start_time-$connect; printf( "<td>%0.5f</td>", $table); // table create duration // Initiate arrays for metrics. $datax1=array(0); $datay1=array(0); $datax2=array(0); $datay2=array(0); // If table exists, insert textstring to database, add current timestamp and number of inserts to x,y-arrays. $writecount=0; if ($queryresult === TRUE) { for ($i = 1; $i <= $rows; $i++) { mysqli_query($mysqli, "INSERT INTO Test_tbl (Text) VALUES ('thequickbrownfoxjumpsoverthelazydog')" ) ; $writecount++; $timestamp=microtime(true)-$start_time-$table-$connect; $datax1[]=$timestamp; $datay1[]=$writecount/$timestamp; } } else { print "<br /><br />Error, table does not exist."; } // Calculate current timestamp $write=microtime(true)-$start_time-$table-$connect; printf( "<td>%0.5f</td>", $write); // SQL write duration // Add number of selected rows and timestamp to x,y-arrays. $readcount=1; $timestamp=0; for ($i = 1; $i <= $rows; $i++) { mysqli_query($mysqli, "SELECT SQL_NO_CACHE (Text) from Test_tbl where id=$readcount" ) ; $readcount++; $timestamp=microtime(true)-$start_time-$write-$table-$connect; $datax2[]=$timestamp; $datay2[]=($readcount-1)/$timestamp; } // Calculate current timestamp $read=microtime(true)-$start_time-$write-$table-$connect; printf( "<td>%0.5f</td>", $read); // SQL read duration echo "</tr></table><br><br>"; // Calculate totaltime $totaltime=microtime(true)-$start_time; echo '<table style="border:2px solid black;" "BORDER="1" CELLPADDING="1" CELLSPACING="4">'; echo '<B><tr><th>Total elapsed time (s)</th><th>average SQL write/s</th><th>average SQL read/s</th></b></tr>'; echo "<tr>"; printf( "<td>%0.5f</td>", $totaltime); printf( "<td>%0.5f</td>", array_sum($datay1)/$writecount); printf( "<td>%0.5f</td>", array_sum($datay2)/($readcount-1)); echo "</tr>"; echo "</table><br><br>"; $date=date("y-m-d H:i:s"); 76/95

77 // disabled, already used, echo "Hostname: ". gethostname(). "<br> Completion date: ". $date; // GRAPH PARTS BELOW // Set default configuration to graph 1. $graph1 = new Graph(900,400); $graph1->setscale('linlin'); $graph1->setmargin(80,80,60,60); $graph1->setframe(false); $graph1->setbox(true,'black',2); $graph1->setmargincolor('white'); $graph1->setcolor('lightyellow@0.7'); $graph1->yaxis->settitlemargin(40); $graph1->setaxisstyle(axstyle_boxin); $graph1->xgrid->show(true); $graph1->setshadow(); $graph1->title->set("sql WRITE SPEED (rows/s)"); $graph1->subtitle->set('('. gethostname(). " ". $date. ')'); $graph1->title->setfont(ff_verdana,fs_bold,13); // Set default configuration to graph 2. $graph2 = new Graph(900,400); $graph2->setscale('linlin'); $graph2->setmargin(80,80,60,60); $graph2->setframe(false); $graph2->setbox(true,'black',2); $graph2->setmargincolor('white'); $graph2->setcolor('lightyellow@0.7'); $graph2->yaxis->settitlemargin(40); $graph2->setaxisstyle(axstyle_boxin); $graph2->xgrid->show(true); $graph2->setshadow(); $graph2->title->set("sql READ SPEED (rows/s)"); $graph2->subtitle->set('('. gethostname(). " ". $date. ')'); $graph2->title->setfont(ff_verdana,fs_bold,13); // Line for graph 1. $sp1 = new LinePlot($datay1,$datax1); $sp1->setfillcolor('#0066cc@0.2:1.5'); $graph1->add($sp1); // Average line. $pline = new PlotLine(HORIZONTAL,array_sum($datay1)/$writecount,'blue',1); // make generated image overwritable. $graph1->xaxis->settitle('elapsed time (s)', 'middle'); $graph1->yaxis->title->set("rows"); $graph1->yaxis->title->setfont(ff_font1,fs_bold); $graph1->xaxis->title->setfont(ff_font1,fs_bold); $graph1->yaxis->setlabelmargin(5); $graph1->xaxis->setlabelmargin(5); $graph1->stroke('generated/sqlwrite.png'); // create graph image. // Line for graph 2. $sp2 = new LinePlot($datay2,$datax2); $sp2->setfillcolor('#0066cc@0.2:1.5'); $graph2->add($sp2); 77/95

78 $pline = new PlotLine(HORIZONTAL,array_sum($datay2)/($readcount-1),'blue',1); // make generated image overwritable. $graph2->xaxis->settitle('elapsed time (s)', 'middle'); $graph2->yaxis->title->set("rows"); $graph2->yaxis->title->setfont(ff_font1,fs_bold); $graph2->xaxis->title->setfont(ff_font1,fs_bold); $graph2->yaxis->setlabelmargin(5); $graph2->xaxis->setlabelmargin(5); $graph2->stroke('generated/sqlread.png'); // create graph image. echo "</div><div><br><br><br>"; echo "<img src='generated/sqlwrite.png' alt='sqlwrite'><br>"; echo "<img src='generated/sqlread.png' alt='sqlread'>"; echo "</div>"; }?> </div> </body> </html> 78/95

79 Bilaga 3 http-apache-bench-tool.cmd time /T > starttime.txt C:\xampp\apache\bin\ab -n c 10 -w > test1.html C:\xampp\apache\bin\ab -n c 20 -w > test2.html C:\xampp\apache\bin\ab -n c 30 -w > test3.html C:\xampp\apache\bin\ab -n c 40 -w > test4.html C:\xampp\apache\bin\ab -n c 50 -w > test5.html C:\xampp\apache\bin\ab -n c 60 -w > test6.html C:\xampp\apache\bin\ab -n c 70 -w > test7.html C:\xampp\apache\bin\ab -n c 80 -w > test8.html C:\xampp\apache\bin\ab -n c 90 -w > test9.html C:\xampp\apache\bin\ab -n c 100 -w > test10.html time /T > endtime.txt pause 79/95

80 Bilaga 4 httptesttool.php <!DOCTYPE html> <html> <head> </head> <body> <div> <center> <h1>http-benchmark</h1> <?PHP //Get Hypervisor type from virtual machine hostname. $hostname = gethostname(); $system = strstr($hostname, '7'); if ($system == "7SHV") {echo "<h2>hypervisor: Hyper-V Core 2012 Server</h2>"; } elseif ($system == "7SESX") {echo "<h2>hypervisor: VMware ESXi 5.1.0</h2>"; } elseif ($system == "7SXS") {echo "<h2>hypervisor: XenServer 6.1</h2>"; }?> <div style="font-size:10pt;font-family:arial;"> <br> <p>a complete test tool using official Apache-Bench software and intensive mathematical operations using fractal.php. Testdata is extracted and presented using PHP functions.<br><br><b>not included in this test tool: </b>analysis of CPU and I/O usage on Hypervisor over all tests.<br><br><b>included in this test tool :</b> Requests per second (RPS), Simultaneous requests, Number of requests and Elapsed time on each test. Total elapsed time and Average RPS over all tests.<br><br><b>purpose:</b> To analyze Hypervisor performance at cpu intensive fractal calculations.<br><br><img src="fractal.php"><br>fractal used in tests.<br></p> <?PHP // if start button not pressed, echo start button. if (!isset($_post["submit"])) { echo "<br><form action='". $_SERVER['PHP_SELF']. "' method='post'>"; echo "<input type='submit' name='submit' value='start'>"; echo "</form>"; } // disabled, test already started in batch files, echo "<br><h3> Start date: ". date("y-m-d H:i:s"). "</h3>"; // if start button pressed, start test. if (isset($_post["submit"])) { echo "<br><h2>results: </h2>"; // Include graph classes require_once ('src/jpgraph.php'); require_once ('src/jpgraph_scatter.php'); require_once ('src/jpgraph_line.php'); require_once ("src/jpgraph_plotline.php"); // Initiate arrays for metrics. $array_rps=array(); $array_time=array(); $array_test=array(); // Set date $date=date("y-m-d H:i:s"); // Function to find match in string function getvalue($parameter,$content){ preg_match($parameter, $content, $match); return $match[1]; }; echo '<table style="border:1px solid black;" "BORDER="1" CELLPADDING="1" CELLSPACING="4">'; echo "<B><tr><th>Test</th><th>Simultaneous requests</th><th>number of requests</th><th>rps</th><th>duration (s)</th></b></tr>"; // Function to find values in apache-bench html files function setvariables($content, $count){ $hostname = getvalue('#<th colspan=2 bgcolor=white>server Hostname:</th><td colspan=2 bgcolor=white>(.*)</td></tr>#',$content); $nor = getvalue('#<th colspan=2 bgcolor=white>complete requests:</th><td colspan=2 bgcolor=white>(.*)</td></tr>#',$content); $elapsed_time = getvalue('#<th colspan=2 bgcolor=white>time taken for tests:</th><td colspan=2 bgcolor=white>(.*) seconds</td></tr>#',$content); $rps = getvalue('#<th colspan=2 bgcolor=white>requests per second:</th><td colspan=2 bgcolor=white>(.*)</td></tr>#',$content); $sim = getvalue('#<th colspan=2 bgcolor=white>concurrency Level:</th><td colspan=2 bgcolor=white>(.*)</td></tr>#',$content); 80/95

81 // Print table 1 values echo "<tr>"; echo "<td>". $count. "</td>"; echo "<td>". $sim. "</td>"; echo "<td>". $nor. "</td>"; echo "<td>". $rps. "</td>"; echo "<td>". $elapsed_time. "</td>"; echo "</tr>"; return array($rps, $elapsed_time); }; // Gather data from apache-bench tests and create x,y arrays, for graph. $count=1; while ($count < 11 ) { list($a, $b) = setvariables(file_get_contents(' $count. '.html'), $count); $array_rps[] = $a; $array_time[] = $b; $count++; $array_test[] = $count-1; } echo '</table><br><br>'; //Sum arrays to calculate total elapsed time and average rps in table 2. $sum_rps=array_sum($array_rps); $sum_elapsed_time=array_sum($array_time); //Print table 2 values echo '<table style="border:2px solid black;" "BORDER="1" CELLPADDING="1" CELLSPACING="4">'; echo '<B><tr><th>Total elapsed time (s) </th><th>average RPS</th></B></tr>'; printf( "<td>%0.2f </td>", $sum_elapsed_time); printf( "<td>%0.2f </td>", $sum_rps/($count-1)); echo "</tr>"; echo '</table>'; $graph1 = new Graph(900,400); $graph1->setscale('intlin'); $graph1->setmargin(80,80,60,60); $graph1->setframe(false); $graph1->setbox(true,'black',2); $graph1->setmargincolor('white'); $graph1->setcolor('lightyellow@0.7'); $graph1->yaxis->settitlemargin(40); $graph1->setaxisstyle(axstyle_boxin); $graph1->xgrid->show(true); $graph1->setshadow(); $graph1->title->set("http RPS (per test)"); $graph1->subtitle->set('('. gethostname(). " ". $date. ')'); $graph1->title->setfont(ff_verdana,fs_bold,13); // Line for graph 1. $sp1 = new LinePlot($array_rps,$array_test); $sp1->mark->settype(mark_cross); // make generated image overwritable. 81/95

82 $graph1->xaxis->settitle('test', 'middle'); $graph1->yaxis->title->set("rps"); $graph1->yaxis->title->setfont(ff_font1,fs_bold); $graph1->xaxis->title->setfont(ff_font1,fs_bold); $graph1->yaxis->setlabelmargin(5); $graph1->xaxis->setlabelmargin(5); $graph1->stroke('generated/httprps.png'); // create graph image. $graph2 = new Graph(900,400); $graph2->setscale('intlin'); $graph2->setmargin(80,80,60,60); $graph2->setframe(false); $graph2->setbox(true,'black',2); $graph2->setmargincolor('white'); $graph2->setcolor('lightyellow@0.7'); $graph2->yaxis->settitlemargin(40); $graph2->setaxisstyle(axstyle_boxin); $graph2->xgrid->show(true); $graph2->setshadow(); $graph2->title->set("http Elapsed time (per test)"); $graph2->subtitle->set('('. gethostname(). " ". $date. ')'); $graph2->title->setfont(ff_verdana,fs_bold,13); // Line for graph 2. $sp2 = new LinePlot($array_time,$array_test); $sp2->mark->settype(mark_cross); // make generated image overwritable. $graph2->xaxis->settitle('test', 'middle'); $graph2->yaxis->title->set("elapsed time"); $graph2->yaxis->title->setfont(ff_font1,fs_bold); $graph2->xaxis->title->setfont(ff_font1,fs_bold); $graph2->yaxis->setlabelmargin(5); $graph2->xaxis->setlabelmargin(5); $graph2->stroke('generated/httptime.png'); // create graph image. // View generated images with html tages echo "</div><div><br><br><br>"; echo "<img src='generated/httprps.png' alt='httprps'><br>"; echo "<img src='generated/httptime.png' alt='httptime'>"; echo "</div>"; }?> </div> </body> </html> 82/95

83 Bilaga 5 ftptesttool.php <!DOCTYPE html> <html> <head> </head> <body> <div> <center> <h1>ftp-transfer BENCHMARK</h1> <?PHP //Get Hypervisor type from virtual machine hostname. $hostname = gethostname(); $system = strstr($hostname, '7'); if ($system == "7SHV") {echo "<h2>hypervisor: Hyper-V Core 2012 Server</h2>"; } elseif ($system == "7SESX") {echo "<h2>hypervisor: VMware ESXi 5.1.0</h2>"; } elseif ($system == "7SXS") {echo "<h2>hypervisor: XenServer 6.1</h2>"; }?> <div style="font-size:10pt;font-family:arial;"> <br> <p>sending data from local storage on HTTP server to local storage on FTP server using PHP FTP functions.<br><br><b>not included in this test tool: </b>analysis of CPU and I/O usage on Hypervisor on current transfer.<br><br><b>included in this test tool :</b> Current Speed, Average Speed, Filesize Growth, Elapsed time on current transfer.<br><br><b>purpose:</b> To analyze Hypervisor performance at disk i/o intensive transfers.<br></p> <?PHP // if start button not pressed, echo start button. if (!isset($_post["submit"])) { echo "<br><form action='". $_SERVER['PHP_SELF']. "' method='post'>"; echo "<input type='submit' name='submit' value='start'>"; echo "</form>"; } // if start button pressed, start test. if (isset($_post["submit"])) { // echo start time and date echo "<br><h3> Start date: ". date("y-m-d H:i:s"). "</h3>"; echo "<br><h2>results: </h2>"; // Include graph classes require_once ('src/jpgraph.php'); require_once ('src/jpgraph_scatter.php'); require_once ('src/jpgraph_line.php'); require_once ("src/jpgraph_plotline.php"); // Increase php max-execution time set_time_limit (5000); // Prepare testdata on httpserver storage, 500,000,000 bytes $f = fopen('500.mb', 'wb'); fseek($f, 0.5 * 1000 * 1000 * 1000, SEEK_SET); fwrite($f, 'after 500 MB'); fclose($f); // Set global variables $server="localhost"; $ftp_username="test"; $ftp_userpass="test"; $destination_file="500.mb"; $source_file="500.mb"; $elapsed_time=0; $sizenowkb=0; $sizenowkb_old=0; $count=0; $date=date("y-m-d H:i:s"); // 2 FTP connections, for transfer and measuring filesize growth. $primary_connection = ftp_connect($server); $secondary_connection = ftp_connect($server); $mode = FTP_BINARY; $login = ftp_login($primary_connection, $ftp_username, $ftp_userpass); 83/95

84 $login2 = ftp_login($secondary_connection, $ftp_username, $ftp_userpass); if (!$primary_connection!$login) { die('connection attempt failed!'); } ftp_pasv($primary_connection,true); ftp_pasv($secondary_connection,true); $upload_status=ftp_nb_put($primary_connection, $destination_file, $source_file, $mode); $filesize=filesize($source_file); $transferred = 0; $time = microtime(true); $start_time=$time; // Initiate arrays with startvalue 0 on metrics $datax1=array(0); $datay1=array(0); $datax2=array(0); $datay2=array(0); // Build a table with metrics echo '<table style="border:1px solid black;" "BORDER="1" CELLPADDING="1" CELLSPACING="4">'; $runonce=false; // Start gathering filesize and timestamp. while($upload_status == FTP_MOREDATA){ $upload_status = ftp_nb_continue($primary_connection); //Save last metrics $sizenowkb_old = $sizenowkb; $elapsed_time_old=$elapsed_time; //New metrics $sizenow=ftp_size($secondary_connection,$destination_file); $sizenowkb=$sizenow/1024; $timenow = microtime(true); $time = $timenow; $transferred = $sizenow; $elapsed_time=$timenow - $start_time; //Save metrics (timestamp, speed, filesizegrowth) once per second to x,y-arrays and print results in table. if (round($elapsed_time+0.5) > round($elapsed_time_old+0.5)) { $datax1[]=$elapsed_time; $datay1[]=$sizenowkb-$sizenowkb_old; $datax2[]=$elapsed_time; $datay2[]=$sizenowkb; (kb)</th></b></tr>"; $runonce=true;} if ($runonce==false) {echo "<B><tr><th>Timestamp (s)</th><th>speed (kb/s)</th><th>transferred echo "<tr>"; printf( "<td>%0.2f</td>", $elapsed_time); printf( "<td>%0.2f</td>", $sizenowkb-$sizenowkb_old); printf( "<td>%0.2f</td>", $sizenowkb); } $count++; echo "</tr>"; } // Echo table 2 and calculate average speed and output total elapsed time. echo '</table><br><br>'; echo '<table style="border:2px solid black;" "BORDER="1" CELLPADDING="1" CELLSPACING="4">'; echo '<B><tr><th>Elapsed time (s) </th><th>average speed (kb/s) </th></b></tr>'; printf( "<td>%0.2f </td>", $elapsed_time); printf( "<td>%0.2f </td>", array_sum($datay1)/($count)); 84/95

85 echo "</tr>"; echo '</table>'; // GRAPH PART BELOW // Set default configuration to graph 1. $graph1 = new Graph(900,400); $graph1->setscale('intint'); $graph1->setmargin(80,80,60,60); $graph1->setframe(false); $graph1->setbox(true,'black',2); $graph1->setmargincolor('white'); $graph1->setcolor('lightyellow@0.7'); $graph1->yaxis->settitlemargin(40); $graph1->setaxisstyle(axstyle_boxin); $graph1->xgrid->show(true); $graph1->setshadow(); $graph1->title->set("ftp TRANSFER SPEED (kb/s)"); $graph1->subtitle->set('('. gethostname(). " ". $date. ')'); $graph1->title->setfont(ff_verdana,fs_bold,13); // Set default configuration to graph 2. $graph2 = new Graph(900,400); $graph2->setscale('intint'); $graph2->setmargin(80,80,60,60); $graph2->setframe(false); $graph2->setbox(true,'black',2); $graph2->setmargincolor('white'); $graph2->setcolor('lightyellow@0.7'); $graph2->yaxis->settitlemargin(40); $graph2->setaxisstyle(axstyle_boxin); $graph2->xgrid->show(true); $graph2->setshadow(); $graph2->title->set("ftp FILESIZE GROWTH (kb/s)"); $graph2->subtitle->set('('. gethostname(). " ". $date. ')'); $graph2->title->setfont(ff_verdana,fs_bold,13); // Line for graph 1. $sp1 = new LinePlot($datay1,$datax1); //print_r ($datay1); $sp1->mark->settype(mark_cross); $sp1->setfillcolor('#0066cc@0.2:1.5'); $graph1->add($sp1); // Average line. $pline = new PlotLine(HORIZONTAL,array_sum($datay1)/$count,'blue',1); // make generated image overwritable. $graph1->xaxis->settitle('elapsed time (s)', 'middle'); $graph1->yaxis->title->set("kb"); $graph1->yaxis->title->setfont(ff_font1,fs_bold); $graph1->xaxis->title->setfont(ff_font1,fs_bold); $graph1->yaxis->setlabelmargin(5); $graph1->xaxis->setlabelmargin(5); $graph1->stroke('generated/ftpspeed.png'); // create graph image. 85/95

86 // Line for graph 2. $sp2 = new LinePlot($datay2,$datax2); //$sp2->mark->settype(mark_cross); // does not use cross marks on second graph. $sp2->setfillcolor('#0066cc@0.2:1.5'); $graph2->add($sp2); $linex=array(0); $liney=array(0); $liney[]=end($datay2); $linex[]=end($datax2); //line for comparing filesize growth. $line = new LinePlot($liney,$linex); $graph2->add($line); // make generated image overwritable. $graph2->xaxis->settitle('elapsed time (s)', 'middle'); $graph2->yaxis->title->set("kb"); $graph2->yaxis->title->setfont(ff_font1,fs_bold); $graph2->xaxis->title->setfont(ff_font1,fs_bold); $graph2->yaxis->setlabelmargin(5); $graph2->xaxis->setlabelmargin(5); $graph2->stroke('generated/ftptrans.png'); // create graph image. echo "</div><div><br><br><br>"; echo "<img src='generated/ftpspeed.png' alt='ftpspeed'><br>"; echo "<img src='generated/ftptrans.png' alt='ftptransferred'>"; echo "</div>"; }?> </div> </body> </html> 86/95

87 Bilaga 6 FTP-Benchmark results Hypervisor: Hyper-V Core 2012 Server Elapsed time (s) Average speed (kb/s) /95

88 Hypervisor: XenServer 6.1 Free edition Elapsed time (s) Average speed (kb/s) /95

89 Hypervisor: VMware ESXi Elapsed time (s) Average speed (kb/s) /95

90 Bilaga 7 HTTP-Benchmark results Hypervisor: Hyper-V Core 2012 Server Test Simultaneous requests Number of requests RPS Duration (s) Total elapsed time (s) Average speed (RPS) /95

91 Hypervisor: XenServer 6.1 Free edition Test Simultaneous requests Number of requests RPS Duration (s) Total elapsed time (s) Average speed (RPS) /95

92 Hypervisor: VMware ESXi Test Simultaneous requests Number of requests RPS Duration (s) Total elapsed time (s) Average speed (RPS) /95

93 Bilaga 8 SQL-Benchmark results Hypervisor: Hyper-V Core 2012 Server Database connect duration (s) Table create duration (s) SQL write duration (s) SQL read duration (s) Total elapsed time (s) Average SQL write/s Average SQL read/s /95

94 Hypervisor: XenServer 6.1 Free edition Database connect duration (s) Table create duration (s) SQL write duration (s) SQL read duration (s) Total elapsed time (s) Average SQL write/s Average SQL read/s /95

95 Hypervisor: VMware ESXi Database connect duration (s) Table create duration (s) SQL write duration (s) SQL read duration (s) Total elapsed time (s) Average SQL write/s Average SQL read/s /95

Minnesisolering för virtuella maskiner en hypervisorstudie

Minnesisolering för virtuella maskiner en hypervisorstudie 1.Introduktion 1.1 Inledning Den senaste trenden inom IT-världen är cloud computing (molntjänster). Molntjänster har uppnått stor popularitet både hos IT-chefer och ekonomichefer inom stora företag. Molntjänster

Läs mer

Systemkrav WinServ II Edition Release 2 (R2)

Systemkrav WinServ II Edition Release 2 (R2) Systemkrav WinServ II Edition Release 2 (R2) Observera: Alla rekommendationer är aktuella vid den tid då dokumentet publicerades och visar den senaste informationen för nödvändig mjukvara. Systemkrav för

Läs mer

Molntjänster. Översikt. Lektion 1: Introduktion till molntjänst. Introduktion till molntjänst. Vilka tjänster finns? Säkerhet.

Molntjänster. Översikt. Lektion 1: Introduktion till molntjänst. Introduktion till molntjänst. Vilka tjänster finns? Säkerhet. Molntjänster Översikt Introduktion till molntjänst. Vilka tjänster finns? Säkerhet. Lektion 1: Introduktion till molntjänst Vad är detta? the Cloud. Definition av molntjänster. Tjänster. Skikt. Klient.

Läs mer

Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster...

Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster... 1 2 Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster... 9 Definition av molntjänster (forts.)... 11 Tjänster... 12 Skikt

Läs mer

Prestandajämförelse - Sekventiell skrivhastighet i RAID 4 och RAID 5

Prestandajämförelse - Sekventiell skrivhastighet i RAID 4 och RAID 5 Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Prestandajämförelse - Sekventiell skrivhastighet i RAID 4 och RAID 5 Mattias Nensén, Henrik Hedlund 10 januari 2014 Sammanfattning

Läs mer

Virtuell Server Tjänstebeskrivning

Virtuell Server Tjänstebeskrivning Virtuell Server Tjänstebeskrivning Inledning SoftIT tillhandahåller i samarbete med IP Only, tjänsten Virtuell Server, varigenom kunden erhåller serverkapacitet som Kunden får tillgång till genom SoftIT:s

Läs mer

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren Prestandapåverkan på databashanterare av flertrådiga processorer av Sammanfattning Behandling av information bli vanligare i dagens samhälle och för att klara denna uppgiften används ofta en databashanterare

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna.

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna. Modul 1: Molntjänst Publikt moln Privat moln Hybrid moln IaaS PaaS SaaS DaaS DaaS SLA Infrastructure as a Service, leverantör tillhandahåller infrastrukturen, jag tillhandahåller virtuella maskiner eller

Läs mer

DIG IN TO Dator och nätverksteknik

DIG IN TO Dator och nätverksteknik DIG IN TO Dator och nätverksteknik CCNA 1 Virtualisering Agenda Virtualisering Virtualiseringsprogram VirtualBox tekniska begrepp Laborationsmiljö VirtualBox - installation Virtuellhårdvara Virtuellnätverk

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Dagens Agenda. Klient- och Serveroperativsystem Installation av Windows Server Genomgång av Windows Server Roller och Funktioner Domänhantering DNS

Dagens Agenda. Klient- och Serveroperativsystem Installation av Windows Server Genomgång av Windows Server Roller och Funktioner Domänhantering DNS Dagens Agenda Klient- och Serveroperativsystem Installation av Windows Server Genomgång av Windows Server Roller och Funktioner Domänhantering DNS Observera Anteckna! Praktisk genomgång, inga direkta presentationer

Läs mer

VI SI CLOSETALK AB SYSTEMKRAV

VI SI CLOSETALK AB SYSTEMKRAV 2010-01-18 VI SI CLOSETALK AB SYSTEMKRAV 1 MJUK- OCH HÅRDVARUKRAV I detta dokument beskrivs de minimikrav och rekommendationer för mjukvara samt hårdvara som gäller för VISI System AB:s produkter. Visi

Läs mer

Hogias Ekonomisystem. Systemkrav för enanvändarinstallation fr o m version 2015.1 av GENERELLA KRAV

Hogias Ekonomisystem. Systemkrav för enanvändarinstallation fr o m version 2015.1 av GENERELLA KRAV Systemkrav för enanvändarinstallation fr o m version 2015.1 av Hogias Ekonomisystem Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och som vi rekommenderar för att

Läs mer

Systemkrav 2014 för enanvändarinstallation fr o m version 2014.2 av

Systemkrav 2014 för enanvändarinstallation fr o m version 2014.2 av Systemkrav 2014 för enanvändarinstallation fr o m version 2014.2 av Hogias ekonomisystem Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och som vi rekommenderar för

Läs mer

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7 för version 1.7 Innehållsförteckning Innehållsförteckning... 2 Krav för... 3 Systemskiss... 3 Systemkrav Server... 4 Operativsystem*... 4 Program i servern... 4 Databas... 5 SMTP inställningar för mail....

Läs mer

DIG IN TO Nätverksadministration

DIG IN TO Nätverksadministration DIG IN TO Nätverksadministration Nätverksadministration Datormolnet The Cloud Agenda IT förändras kontinuerligt IT infrastruktur behöver byggas ut Högre krav på IT infrastrukturen Vad är datormoln? Vad

Läs mer

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 . Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät

Läs mer

Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg

Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg Vad är Meridix Studio? Meridix Studio är ett verktyg som låter er analysera och följa upp er kommunikation via ett enkelt men kraftfullt

Läs mer

1. Revisionsinformation

1. Revisionsinformation 7.4.2 Systemkrav Systemkrav 2018-12-06 2 (27) Systemkrav 7.4.2 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

Hyper-Threading i Intelprocessorer

Hyper-Threading i Intelprocessorer Lunds Tekniska Högskola Campus Helsingborg DATORARKITEKTURER MED OPERATIVSYSTEM EITF60 RAPPORT Hyper-Threading i Intelprocessorer 4 december 2017 Rasmus Hanning IDA2 Sammanfattning Det har sedan den första

Läs mer

Lagringssystem. server. arbetsstationer. Katalog 2013. 08-584 006 41 Öppettider: 09:00-17:00 alla vardagar. www.nextron.se E-mail: sales@nextron.

Lagringssystem. server. arbetsstationer. Katalog 2013. 08-584 006 41 Öppettider: 09:00-17:00 alla vardagar. www.nextron.se E-mail: sales@nextron. Katalog 2013 Lagringssystem Upp till 288TB i ett kabinett SAN, NAS och DAS lösningar Automatisk failover mellan redundanta system server 1U till 5U 1 till 8 processorer Single, Microcloud, Twin eller Blade

Läs mer

Introduktion till migrering till molnet. PART 5: Infrastruktur för molntjänster

Introduktion till migrering till molnet. PART 5: Infrastruktur för molntjänster Introduktion till migrering till molnet PART 5: Infrastruktur för molntjänster PART 5 ÖVERSIKT 1.IaaS modellen 2.Kännedom om grön databehandling och energieffektivitet 3.Arkitekt- och programvara för delar

Läs mer

Diskprestanda Tester

Diskprestanda Tester Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Diskprestanda Tester Matteus Gilis, Linus Fogelström 9 januari 2014 Sammanfattning Vi ville utföra läs och skrivhastighets tester mellan

Läs mer

I. Krav på terminaler för telefonistprodukter 1. II. Krav på server och klient till Telefonistöd och Kalenderkoppling 4

I. Krav på terminaler för telefonistprodukter 1. II. Krav på server och klient till Telefonistöd och Kalenderkoppling 4 TELIA CENTREX KRAV PÅ TERMINALER / SERVRAR Innehållsförteckning I. Krav på terminaler för telefonistprodukter 1 II. Krav på server och klient till Telefonistöd och Kalenderkoppling 4 III. Krav på server

Läs mer

Sokigo AB OVK 2.0. Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

Sokigo AB OVK 2.0. Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande. OVK 2 Systemkrav Dokument Datum / Date Signatur Sida / Page Systemkrav 2016-06-22 2 (6) OVK 2.0 Systemkrav för OVK2 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de

Läs mer

Operativsystem - input/output, skydd, virtualisering

Operativsystem - input/output, skydd, virtualisering Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,

Läs mer

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1 för version 1.3.1 Copyright information 2011 Tidomat AB. Med ensamrätt. Ingen del av detta dokument får återges, lagras i dokumentsökningssystem eller vidaresändas i någon form utan ett skriftligt godkännande

Läs mer

F1 SBS 2008. 2013-01-16 EC Utbildning AB 2013-01-16

F1 SBS 2008. 2013-01-16 EC Utbildning AB 2013-01-16 F1 SBS 2008 EC Utbildning AB 1 F1 SBS 2008 Dagens föreläsning Den mjuka sidan: Vad är Microsoft Small Business Server 2008? Varför SBS 2008? Den hårda sidan, teknik: Installation, systemkrav Konfiguration

Läs mer

För installationer av SQL Server som inte görs från Hogias installation måste följande inställningar göras:

För installationer av SQL Server som inte görs från Hogias installation måste följande inställningar göras: Systemkrav 2009 Gäller från och med programversion 2009.2 Avser enanvändarinstallation i Hogias ekonomisystem. Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och

Läs mer

Systemkrav Bilflytt 1.4

Systemkrav Bilflytt 1.4 Systemkrav 1.4 Systemkrav 2018-08-28 2 (9) Systemkrav 1.4 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet. Nedan

Läs mer

What Is Hyper-Threading and How Does It Improve Performance

What Is Hyper-Threading and How Does It Improve Performance What Is Hyper-Threading and How Does It Improve Performance Ali Muthanna, Lunds Universitet, IDA2, EDT621 Abstract Hyper-Threading (HT) is Intel s version of simultaneous multi-threading (SMT). Hyper-Threading

Läs mer

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2 Hyper Threading Intels implementation av SMT Datorarkitekturer med operativsystem - EITF60 Felix Danielsson IDA2 Sammanfattning Simultaneous multithreading (SMT) är en teknik som används i processorer

Läs mer

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0 för version 1.6.0 Innehållsförteckning Innehållsförteckning...2 Krav för...3 Systemskiss...3 Systemkrav Server...4 Operativsystem*...4 Program i servern...4 Databas...5 Backup...5 Systemrekommendation

Läs mer

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie 2017-03-09 Justering för krav på Windows Server 2012 1.2 Micke 2017-04-07 Vitec Ekonomi från x.60 kräver IIS 8 och websocket.

Läs mer

Datacentertjänster IaaS

Datacentertjänster IaaS Datacentertjänster IaaS Innehåll Datacentertjänst IaaS 3 Allmänt om tjänsten 3 Fördelar med tjänsten 3 Vad ingår i tjänsten 4 Datacenter 4 Nätverk 4 Lagring 4 Servrar 4 Virtualisering 4 Vad ingår i tjänsten

Läs mer

Administratör IT-system Kursplan

Administratör IT-system Kursplan Administratör IT-system Kursplan Administratör IT-system Kursöversikt Obligatoriska kurser Kurs Poäng Advanced Enterprise System Administration 25 CCNA 45 CCNA Security 20 Drift i virtuella miljöer 20

Läs mer

Cloud Computing för arkitekter Sten Sundblad IASA och Sundblad & Sundblad

Cloud Computing för arkitekter Sten Sundblad IASA och Sundblad & Sundblad Cloud Computing för arkitekter Sten Sundblad IASA och Sundblad & Sundblad Är Cloud Computing intressant? 40 % tillväxt globalt 2009. Blir likadant i Sverige! Computer Sweden/IDC 2009-03-06 USA 2008 23

Läs mer

Utarbetat av Område Informationsklass. Teknisk standard Ånge Kommun...1. Syfte med beskriven it-miljö...3. Hårdvara...

Utarbetat av Område Informationsklass. Teknisk standard Ånge Kommun...1. Syfte med beskriven it-miljö...3. Hårdvara... 2014-04-22 Projektbeteckning Tekniskstandard Tekniskstandard David Sundelin / Pelle Nilsson IT-infrastruktur/Servermiljö Extern TEKNISK STANDARD ÅNGE KOMMUN INNEHÅLLSFÖRTECKNING Teknisk standard Ånge Kommun...1

Läs mer

Din leverantör av hissautomater, pallställ, grenställ och utdragsenheter.

Din leverantör av hissautomater, pallställ, grenställ och utdragsenheter. v.2 Compact talk Programvaran som integrerar Compact Hissautomater med överliggande system Compact Talk gör det enkelt att till låg kostnad integrera Compact Hissautomater med ett överliggande system som

Läs mer

Administration / Disk Management. EC Utbildning AB 2012-11-05 1

Administration / Disk Management. EC Utbildning AB 2012-11-05 1 Administration / Disk Management EC Utbildning AB 2012-11-05 1 Innehåll Vi går idag igenom följande: Administration, MMC Planera lagring, lagringsteknik Feltolerans, RAID Windows Disk Settings EC Utbildning

Läs mer

Teknisk spec Flex Lön och Flex API

Teknisk spec Flex Lön och Flex API Teknisk specifikation Datum 2016-09-30 Version 16.2 Sida 1(9) Teknisk spec Flex Lön och Flex API Programversion: 16.2 sep 2016 Teknisk spec Flex Lön och Flex API 1 Innehåll 1 TEKNISK SPECIFIKATION FLEX

Läs mer

Tekis-FB 7.1.0. Systemkrav

Tekis-FB 7.1.0. Systemkrav 7.1.0 Systemkrav Systemkrav 2015-09-17 MAAN 2 (2) Systemkrav 7.1.0 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

Daniel Akenine, Teknikchef, Microsoft Sverige

Daniel Akenine, Teknikchef, Microsoft Sverige Daniel Akenine, Teknikchef, Microsoft Sverige Quincy Invånare: 5,300 Arbete: 52% jordbruk 18 % byggsektor 18 % offentlig sektor Språk: Spanska 57% Företaget Inköp Företaget Inköp Installering Lång

Läs mer

Systemkrav Tekis-Bilflytt 1.3

Systemkrav Tekis-Bilflytt 1.3 Systemkrav 1. Systemkrav Systemkrav 2015-06-09 2 (8) Systemkrav 1. Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

I. Krav på terminaler för telefonistprodukter 2. II. Krav på server och klient till Telefonistöd och Kalenderkoppling 4

I. Krav på terminaler för telefonistprodukter 2. II. Krav på server och klient till Telefonistöd och Kalenderkoppling 4 TELIA CENTREX KRAV PÅ TERMINALER / SERVRAR Innehållsförteckning I. Krav på terminaler för telefonistprodukter 2 II. Krav på server och klient till Telefonistöd och Kalenderkoppling 4 III. Krav på server

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster Introduktion till migrering till molnet PART 4: Plattformar för molntjänster PART 4 ÖVERSIKT 1. PaaS 2.Migration Vad betyder PaaS? PaaS betyderplatform as a Service eller plattform för cloud computing

Läs mer

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

Cacheminne Intel Core i7

Cacheminne Intel Core i7 EDT621 Datorarkitekturer med operativsystem 7,5 hp 2015-12-07 Cacheminne i Intel Core i7 Författare: Adnan Karahmetovic Handledare: Erik Larsson Innehåll 1. Inledning... 1 1.1 Syfte... 1 1.2 Frågeställning...

Läs mer

Titel Mall för Examensarbeten (Arial 28/30 point size, bold)

Titel Mall för Examensarbeten (Arial 28/30 point size, bold) Titel Mall för Examensarbeten (Arial 28/30 point size, bold) SUBTITLE - Arial 16 / 19 pt FÖRFATTARE FÖRNAMN OCH EFTERNAMN - Arial 16 / 19 pt KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP

Läs mer

Vilket moln passar dig bäst?

Vilket moln passar dig bäst? Vilket moln passar dig bäst? Idag diskuteras ofta huruvida man ska kliva in i molnets underbara värld eller inte, men sällan om skillnaderna mellan olika moln och vilka tillämpningar som är lämpliga att

Läs mer

EXAMENSARBETE. Processbeskrivning för servermigrering. Olov Nygård 2013. Högskoleexamen Datornätverk

EXAMENSARBETE. Processbeskrivning för servermigrering. Olov Nygård 2013. Högskoleexamen Datornätverk EXAMENSARBETE Processbeskrivning för servermigrering Olov Nygård 2013 Högskoleexamen Datornätverk Luleå tekniska universitet Institutionen för system- och rymdteknik Processbeskrivning för servermigrering

Läs mer

Filöverföring i Windowsmiljö

Filöverföring i Windowsmiljö Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i

Läs mer

Systemkrav för enanvändarinstallation fr o m version av

Systemkrav för enanvändarinstallation fr o m version av Systemkrav för enanvändarinstallation fr o m version 2015.4 av Hogias Ekonomisystem Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och som vi rekommenderar för att

Läs mer

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

PRODUKTINFORMATION LOCKING SYSTEM MANAGEMENT 3.4 BASIC BASIC ONLINE BUSINESS PROFESSIONAL SENAST UPPDATERAT: JANUARI 2018

PRODUKTINFORMATION LOCKING SYSTEM MANAGEMENT 3.4 BASIC BASIC ONLINE BUSINESS PROFESSIONAL SENAST UPPDATERAT: JANUARI 2018 LOCKING SYSTEM MANAGEMENT 3.4 BASIC BASIC ONLINE BUSINESS PROFESSIONAL SENAST UPPDATERAT: JANUARI 2018 2 1.0... 3 1.1. LOCKING SYSTEM MANAGEMENT 3.4... 3 1.2. PRODUKTKURZBESCHREIBUNG... 4 2.0 PRODUKTUMFELD...

Läs mer

Systemkrav. www.hogia.se/approval. Systemkrav för Hogia Approval Manager. Gäller från och med programversion 2012.1

Systemkrav. www.hogia.se/approval. Systemkrav för Hogia Approval Manager. Gäller från och med programversion 2012.1 Systemkrav Systemkrav för Hogia Approval Manager Gäller från och med programversion 2012.1 För produkten Hogia Approval Manager gäller samma systemkrav som för ekonomisystemet, med vissa tillägg. Tilläggen

Läs mer

Systemrekommendation. Artvise Contact Center

Systemrekommendation. Artvise Contact Center Systemrekommendation Artvise Contact Center 2017-01-10 Sida 2/6 Innehållsförteckning 1 Inledning... 3 1.1 System... 3 2 Artvise Contact CenterDatabas... 4 2.1 Systemrekommendationer för databasserver...

Läs mer

MESI i Intel Core 2 Duo

MESI i Intel Core 2 Duo MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den

Läs mer

4 grundregler. Minneshantering. Problemet. Windows minkrav

4 grundregler. Minneshantering. Problemet. Windows minkrav 4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns

Läs mer

Systemkrav Bilflytt 1.3

Systemkrav Bilflytt 1.3 Systemkrav 1.3 Systemkrav Systemkrav 2016-11-22 2 (9) Systemkrav 1.3 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för

Läs mer

Generellt gäller att om man kör 64-bitars operativsystem så är det också 64-bitars variant av SQL Server som skall användas.

Generellt gäller att om man kör 64-bitars operativsystem så är det också 64-bitars variant av SQL Server som skall användas. Systemkrav 2012 Gäller från och med programversion 2012.1 Avser enanvändarinstallation i Hogias ekonomisystem. Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och

Läs mer

Wilhelm Käll. Rapport Trådlösa nätverk 2014-05-21

Wilhelm Käll. Rapport Trådlösa nätverk 2014-05-21 Rapport Trådlösa nätverk Wilhelm Käll 2014-05-21 Innehåll Introduktion... 1 Site survey... 2 Kabelhantering... 8 Säkerhet och felsökning... 9 Reflektioner... 10 Appendix... 18 Appendix A D204... Appendix

Läs mer

Prestandatest av sekventiella läs- och skrivoperationer i UNIX-liknande operativsystem 4 hp

Prestandatest av sekventiella läs- och skrivoperationer i UNIX-liknande operativsystem 4 hp Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Prestandatest av sekventiella läs- och skrivoperationer i UNIX-liknande operativsystem 4 hp Dennis Svensson, Jesper Åkerberg 8 januari

Läs mer

USB 3.0/eSATA externt RAID-kabinett för två 3,5" SATA III-hårddiskar med UASP och fläkt svart

USB 3.0/eSATA externt RAID-kabinett för två 3,5 SATA III-hårddiskar med UASP och fläkt svart USB 3.0/eSATA externt RAID-kabinett för två 3,5" SATA III-hårddiskar med UASP och fläkt svart Product ID: S3520BU33ER S3520BU33ER RAID-kabinettet med 2 fack är en högpresterande extern lagringslösning

Läs mer

Vägen till det Hybrida molnet Hur byggde vi vårt hybrida moln och vad säger kunderna som har tagit steget? Jonas Emilsson Anders Jansson

Vägen till det Hybrida molnet Hur byggde vi vårt hybrida moln och vad säger kunderna som har tagit steget? Jonas Emilsson Anders Jansson Vägen till det Hybrida molnet Hur byggde vi vårt hybrida moln och vad säger kunderna som har tagit steget? Jonas Emilsson Anders Jansson Förändringens vindar Hybrid IT Ditt moln Hybrid IT Kanske 23% Har

Läs mer

Prestandatest Förberedelser & Faktainsamling. LIGHTS IN LINE AB Tegnérgatan 37 111 61 STOCKHOLM info@lightsinline.se

Prestandatest Förberedelser & Faktainsamling. LIGHTS IN LINE AB Tegnérgatan 37 111 61 STOCKHOLM info@lightsinline.se Prestandatest Förberedelser & Faktainsamling LIGHTS IN LINE AB Tegnérgatan 37 111 61 STOCKHOLM info@lightsinline.se Sida 2 (6) Innehåll 1 Introduktion... 3 2 Sammanfattning... 3 3 Testmetoder... 3 4 Prestandamål

Läs mer

Teknisk plattform för version 3.7

Teknisk plattform för version 3.7 2016-03-01 1 (13) Teknisk plattform för version 3.7 2016-03-01 2 (13) Innehållsförteckning 1 Inledning... 4 2 Programsupport... 5 2.1 Webbläsare... 5 2.1.1 Primära webbläsare... 5 2.1.2 Sekundära webbläsare...

Läs mer

Systemkrav/Rekommendationer

Systemkrav/Rekommendationer Rubrik datum Systemkrav/Rekommendationer Pyramid Business Studio, version 4.13A 2018-09-12 Copyright Unikum datasystem ab Om Pyramid Innehåll Modulnamn Innehåll Innehåll 2 Generella systemkrav för Pyramid

Läs mer

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem? DVG A06 Operativsystem, mm Definition Den del av systemet som hanterar all hårdvara och all mjukvara. Kontrollerar: -alla filer -alla enheter -varje del av minnet -varje ögonblick av processortiden (-nätverk

Läs mer

PCI Express 10 Gigabit Ethernet-nätverkskort med 1 port - PCIe x4 10Gb-nätverkskort

PCI Express 10 Gigabit Ethernet-nätverkskort med 1 port - PCIe x4 10Gb-nätverkskort PCI Express 10 Gigabit Ethernet-nätverkskort med 1 port - PCIe x4 10Gb-nätverkskort Product ID: ST10000SPEX ST10000SPEX PCI Express-nätverkskortet på 10 Gbps låter dig lägga till en 10-Gigabit Ethernet-port

Läs mer

Vad är molnet?... 2. Vad är NAV i molnet?... 3. Vem passar NAV i molnet för?... 4. Fördelar med NAV i molnet... 5. Kom igång snabbt...

Vad är molnet?... 2. Vad är NAV i molnet?... 3. Vem passar NAV i molnet för?... 4. Fördelar med NAV i molnet... 5. Kom igång snabbt... Produktblad för NAV i molnet Innehåll Vad är molnet?... 2 Vad är NAV i molnet?... 3 Vem passar NAV i molnet för?... 4 Fördelar med NAV i molnet... 5 Kom igång snabbt... 5 Bli kostnadseffektiv... 5 Enkelt

Läs mer

Mekanismer för mediadistribution

Mekanismer för mediadistribution Mekanismer för mediadistribution Slutrapport David Erman, Revision: 1121 1 Inledning Detta dokument beskriver kort resultaten för projektet Mekanismer för mediadistribution, som finansierats

Läs mer

Prestandamätning av RAID-lösningar

Prestandamätning av RAID-lösningar Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Prestandamätning av RAID-lösningar Rasmus Kroon, Victor Hedlund, Erik Johansson 9 januari 2014 Sammanfattning Vi har utfört ett experiment

Läs mer

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1 DVG A06 Operativsystem, mm DVG A06 Johan Eklund, 1 2 DVG A06 Johan Eklund, 2 Operativsystem - Vad är ett operativsystem? - Hur fungerar det..? - Vad använder vi operativsystemet till? - Vilka olika operativsystem

Läs mer

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap Syns du, finns du? - En studie över användningen av SEO, PPC och sociala medier som strategiska kommunikationsverktyg i svenska företag

Läs mer

Upplev Symantec Backup Exec.cloudcloud

Upplev Symantec Backup Exec.cloudcloud Automatiskt, kontinuerligt och säkert skydd som gör backup av data till molnet eller via en hybridmetod som kombinerar lokal och molnbaserad backup. Datablad: Symantec.cloud Endast 21 procent av tillfrågade

Läs mer

PCI Express 2.0 SATA III 6 Gbps RAIDkontrollerkort. nivåindelad SSD-lagring Product ID: PEXSAT34RH

PCI Express 2.0 SATA III 6 Gbps RAIDkontrollerkort. nivåindelad SSD-lagring Product ID: PEXSAT34RH PCI Express 2.0 SATA III 6 Gbps RAIDkontrollerkort med 4 portar och HyperDuo nivåindelad SSD-lagring Product ID: PEXSAT34RH PEXSAT34RH SATA-kontrollerkort med 4 portar och HyperDuo för PCI express 2.0

Läs mer

Sokigo AB Ecos Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

Sokigo AB Ecos Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande. Ecos Systemkrav Systemkrav 2016-11-25 2 (6) Systemkrav för Ecos Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

Gigabit NAS RAID-kabinett med två fack för 3,5" SATA-hårddiskar med WebDAV och mediaserver

Gigabit NAS RAID-kabinett med två fack för 3,5 SATA-hårddiskar med WebDAV och mediaserver Gigabit NAS RAID-kabinett med två fack för 3,5" SATA-hårddiskar med WebDAV och mediaserver Product ID: S352BMU3N S352BMU3N NAS RAID-kabinettet med 2 fack gör det möjligt att bygga en säker extern RAID-array

Läs mer

Capitex dataservertjänst

Capitex dataservertjänst Capitex dataservertjänst Beskrivning Capitex dataservertjänst fungerar som en mellanhand för arbetet mellan klienterna och databasen. Detta reducerar frekvensen och storleken på den nätverkstrafik som

Läs mer

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman Operativsystem Lektion 1 1 Lärare jem@cs.umu.se, B449 Lektioner etc Set Norman set@cs.umu.se, NAdv105 Labbar, labhandledning 2 Schema Notera att det finns ändringar i schemat!! Under perioden 1-8 mars

Läs mer

Cacheminne i en Intel Core 2 Duo-processor

Cacheminne i en Intel Core 2 Duo-processor Peter Hesslow EDT621 Cacheminne i en Intel Core 2 Duo-processor Abstrakt Det finns många olika sätt att bygga upp ett datorminne på, och med en flerkärnig processor så blir alternativen ännu fler. Denna

Läs mer

MESI-protokollets funktion i multiprocessorer

MESI-protokollets funktion i multiprocessorer LUNDS TEKNISKA HÖGSKOLA CAMPUS HELSINGBORG MESI-protokollets funktion i multiprocessorer Jacob Petersson EDT621 Datorarkitekturer med Operativsystem 2016-HT Abstract Denna rapport syftar till att visa

Läs mer

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Gabriel Gerhardsson Cacheprobe p.1/38 Abstract Kan analytiskt ta reda på associativitet, line storlek och storlek på processorns cacheminnen

Läs mer

Linuxadministration I 1DV417 - Laboration 3 Installation av ny hårddisk, RAID och logisk volymhantering

Linuxadministration I 1DV417 - Laboration 3 Installation av ny hårddisk, RAID och logisk volymhantering Linuxadministration I 1DV417 - Laboration 3 Installation av ny hårddisk, RAID och logisk volymhantering Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 17 december 2013 Innehåll 1 Inledning och mål 3 2 Material

Läs mer

Storage. Effektivare datalagring med det intelligenta informationsnätet.

Storage. Effektivare datalagring med det intelligenta informationsnätet. Storage. Effektivare datalagring med det intelligenta informationsnätet. 2 Teknik och samverkan i en gemensam infrastruktur skapar nya möjligheter för effektivare datalagring Datalagring är en central

Läs mer

Nexsan lanserar ytterligare en ny modell i sin serie av lagringssystem på den Svenska marknaden.

Nexsan lanserar ytterligare en ny modell i sin serie av lagringssystem på den Svenska marknaden. Manufacturers rep. in Sweden for Nexsan, SANRAD and Qualstar Göteborg Februari 2008 Nexsan lanserar ytterligare en ny modell i sin serie av lagringssystem på den Svenska marknaden. Nexsan DATAbeast Nexsan

Läs mer

Kursplaner för Administartör IT-System Innehåll

Kursplaner för Administartör IT-System Innehåll Kursplaner för Administartör IT-System Innehåll Hårdvara och operativsystem (15 Yhp)... 2 Advanced Enterprise System Administration (25 yhp)... 2 Advanced Linux Security (25 yhp)... 2 CCNA (35 yhp)...

Läs mer

Economicmodelimpactand cloud management. PART 2: Business model enactment

Economicmodelimpactand cloud management. PART 2: Business model enactment Economicmodelimpactand cloud management PART 2: Business model enactment 1. BUSINESS MODEL S CHARACTERISTICS Attbyggaen affärsmodell Utvärdera värdet För kunden och för leverantör För att definiera potentiellt

Läs mer

Aktivitetsschemaläggning för flerkärninga processorer

Aktivitetsschemaläggning för flerkärninga processorer Lunds Tekniska Högskola Datorarkitekturer med Operativsystem EDT621 Aktivitetsschemaläggning för flerkärninga processorer Tobias Lilja 5 december 2016 Innehåll 1 Inledning 3 1.1 Syfte................................

Läs mer

Du kan installera Widgitprodukter på ett nätverk. Följande program och tillägg hanteras (du kanske inte har licens att installera all dessa):

Du kan installera Widgitprodukter på ett nätverk. Följande program och tillägg hanteras (du kanske inte har licens att installera all dessa): Nätverksinstallation Installera Widgitprodukter Du kan installera Widgitprodukter på ett nätverk. Följande program och tillägg hanteras (du kanske inte har licens att installera all dessa): SymWriter 2

Läs mer

RTS vtour 2014 Senaste nyheterna från VMware. Malmö 22 oktober

RTS vtour 2014 Senaste nyheterna från VMware. Malmö 22 oktober RTS vtour 2014 Senaste nyheterna från VMware Malmö 22 oktober Agenda vtour 2014 08.30 Registrering med kaffe Registrering samt kaffe med smörgås 09.00 Senaste nytt från VMworld Vi går kort igenom de viktigaste

Läs mer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska

Läs mer

Windowsadministration I

Windowsadministration I NAMN: Betygsgränser: 3: 60% 4: 75% PERSONNUMMER: 5: 90% Windowsadministration I Lämna in svar på separata papper. Allmänt Uppgifterna är inte ordnade efter svårighetsgrad. Skriv namn, personnummer samt

Läs mer

Introduktion till molntjänster Tekniken bakom molntjänster och legala utmaningar

Introduktion till molntjänster Tekniken bakom molntjänster och legala utmaningar Introduktion till molntjänster Tekniken bakom molntjänster och legala utmaningar 19 november 2012 - Erica Wiking Häger och Mikael Moreira Innehåll 1. Vad är molntjänster? 2. Legala utmaningar 3. EU:s förslag

Läs mer

10G Ethernet-nätverkskort med 1 port - PCI Express - Intel X550-AT-chip

10G Ethernet-nätverkskort med 1 port - PCI Express - Intel X550-AT-chip 10G Ethernet-nätverkskort med 1 port - PCI Express - Intel X550-AT-chip Product ID: ST10000SPEXI Här är en kraftfull och kostnadseffektiv lösning för att uppgradera din server eller arbetsstation till

Läs mer