performance testing in virtualized...

27
Performance Testing in Virtualized Environments Emily Apsey Product Engineer

Upload: phunghanh

Post on 18-Mar-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Performance Testing in Virtualized

Environments Emily Apsey

Product Engineer

Page 2: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Introduction

• Product Engineer on the Performance Engineering Team

• Overview of team

- Specialty in Virtualization

- Citrix, VMWare, Microsoft

• Dedicated to Product Virtualization

- Configuration

- Scalability/Density

- Provide feedback loop across all development teams

Page 3: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

• Vendors

- Active participation by vendors

- Hands on configuration and tuning

- NVIDIA

- Hardware

- SuperMicro and Dell r720

- K1 and K2 cards

- Driver (on hypervisor and VM)

• Microsoft

- Issaquah labs - Nov 13

- RemoteFX team

- EEC lab – Nov 14

• VMWare

- vSGA – Jan 14

- vGPU – Oct 14

- Future Reference Architecture Doc

• Citrix

- Majority of our Users

Collaborative Testing

Page 4: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Presentation Overview

• Why and how we tested using Nvidia GRID cards

- Test methodology for virtualized test environments

• Lesson Learned

• Future Testing

Page 5: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Virtualization – Esri

• ArcGIS in virtualized environments

- Users began virtualizing our ArcMap software

- Improve understanding of performance and scalability of ArcGIS in virtualized

environments

- Improve information, internally and externally, related to:

- Virtualization environments

- What to expect

- Performance

- Scalability

- New technologies

- NVIDIA K1 and K2 cards

Page 6: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

What and Why?

• ArcGIS Pro

- New addition to ArcGIS Desktop

suite

- Desktop- analysis, publication,

visualization

- New rendering engine

- DirectX11 and OpenGL

- Currently most heavily used app

- ArcMap, based on GDI+

- Heavily used in Citrix XenApp

- Must virtualize well

- Provide great UX

Page 7: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Testing Goals

• Show if a shareable GPU is needed (ArcMap + Pro)

- ArcMap – single threaded, GDI+ rendering

- Pro – multi threaded, DX or OpenGL rendering

• GPU needed for both 2D and 3D workflows?

- How to monitor and communicate performance/ scalability

• Optimal VM configurations

- vCPU, Memory, GPU Profile for optimal user experience

- What and how to communicate information to users, IT administrators

- How many VMs can a single GRID card accommodate?

• Administration

- Know a little before you go on-site or create a demo of ArcGIS Desktop in virtualized

environments

Page 8: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Graphics Options in Virtualization

Page 9: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

GRID vGPU Profiles

Page 10: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

GPU Profile

• Citrix and VMWare vGPU

- Amount of Frame Buffer

- Application requires at least 1 GB of FB

- Identify Optimal profile for both VMWare and Citrix Hypervisors

- Dependent on data and workflow

- Effects density

• Microsoft Hyper-V

- Does not use GPU Profiles

- Some control by screen resolution

Page 11: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Data and Workflows

• 2D Denver

- Local government – Vector data model

- Database- Points, line and polygons

• 3D Virtual City

- Philly – Raster data, Z values extruded, building textures

• Zoom/Pan to a series of standardized bookmarks within App

- Time rendering (Sum of all bookmarks)

- Frames Per Second (FPS)

- Average – Sample every 100 milliseconds

- Minimum – Indicates jitter, poor user experience

Page 12: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Testing Tools

• Visual Studio vs. Light-weight application.

- VS -performance overhead on each VM: disk, startup, GPU

- UI maps maintenance overhead

• Login VSI

- Trail period, can be scriptable

• Accurate Performance Metrics within Application

- Internally developed ArcGIS Pro Add-In

- Exposure of valuable metrics

- Propagating events into an API method.

- Very accurate performance metrics

- Used by developers

- Light weight

Page 13: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

ArcGIS Pro Add-In

• Specifically designed for performance

• Script and reproducible

• Self contained

• Packaging data and test package to business partners

• Great for Demos!

Page 14: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

ArcGIS Pro Add-In UI

Page 15: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Automate Test Execution

• Test Controller

- Tests are executed via command line

- Calls upon a python script which creates windows scheduled tasks

- Opens ArcGIS Pro application and project

- Rendering events logged

- Automatically closes ArcGIS Pro when test completes

• Scalability – across multiple VM’s

• 1, 4, 8, 12, 16 VM’s

- TestList.csv

- Test Cleanup

- Collect logs from VM’s to File Share or SAN

- Unique Names – VM Name

Page 16: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Collecting Data

• ArcGIS ProAddIn Log

- Draw Times, FPS – Avg and Min

- Named Metrics

- Licensing Time

- Open Project Time

• ArcMon (ArcGIS Pro) – Internal Use only

- Hung Threads

• Nvidia SMI

- GPU Utilization, GPU Memory Utilization

• ESXiTop (VMWare)

- CPU Utilization (Host and VM)

• Python based parsers

- Export to log which is useable for reporting purposes

- Drawback - No automated UI to show system metrics

Page 17: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

ArcGIS Pro Add-In Log

2D SumBkAvg StDev FPSAvg FPSMin

1 92.51 66.65 42.06

4 87.78 4.44 66.60 42.93

8 100.62 6.75 65.99 37.54

12 106.86 4.13 69.30 37.54

16 111.95 4.95 74.11 23.70

3D SumBkAvg StDev FPSAvg FPSMin

1 81.00 54.02 13.74

4 79.66 4.35 53.41 14.65

8 86.95 4.33 47.38 10.71

12 92.00 6.19 43.23 9.64

16 103.42 8.00 40.91 7.66

Python

based

parser

Page 18: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Additional Hands-On Testing

• Further validate automated test findings

• Usability tests were executed manually by team members

• Further qualifying the UX

- Validating rendering quality to human eye

- Overall responsiveness of the application

User Experience Ranking

1 to 5 Unacceptably jerky; Poor to annoying user experience

6 Jerky, but useable

7 Moderately smooth, moderate jerkiness

8 Smooth, minor jerkiness

9 to 10 Very smooth; little to no difference between a non-VDI solution. No apparent jerkiness, lag/tearing, or texturing delays.

Page 19: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Host CPU Utilization Scalability of 240Q Profile - 3D Data

16 VMs:Host CPU

14 VMs:Host CPU

12 VMs:Host CPU

10 VMs:Host CPU

Page 20: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

0

10

20

30

40

50

60

70

80

90

100

16

:13

:02

16

:13

:18

16

:13

:33

16

:13

:49

16

:14

:04

16

:14

:20

16

:14

:35

16

:14

:51

16

:15

:07

16

:15

:22

16

:15

:38

16

:15

:54

16

:16

:09

16

:16

:25

16

:16

:40

16

:16

:56

16

:17

:11

16

:17

:27

16

:17

:43

16

:17

:58

16

:18

:14

16

:18

:29

16

:18

:45

16

:19

:01

16

:19

:16

16

:19

:32

16

:19

:47

16

:20

:03

16

:20

:18

16

:20

:34

16

:20

:50

16

:21

:05

16

:21

:21

16

:21

:36

16

:21

:52

16

:22

:08

16

:22

:23

16

:22

:39

16

:22

:54

16

:23

:10

16

:23

:25

16

:23

:41

Host Utilization Rates 16VMs - 6vCPU: 3D data

GPU1 %Util

GPU2 %Util

GPU3 %Util

GPU4 %Util

Cpu(Total)\% Util Time

Page 21: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Answers obtained from testing

• ArcGIS Pro

- GPU is required for 3D data; K2 card preferred

- GPU aids 2D data delivery by relieving CPU; considered recommended.

GPU can be configured to be shareable (vGPU)

- Exception XenApp; requires Pass Through GPU

- Optimal VM configuration can vary by HyperVisor (encoding/decoding)

GPU Utilization

Page 22: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

ArcGIS Pro – XenApp 7.6

0

10

20

30

40

50

60

70

80

90

100

XenApp 7.6 - 4 Users 3D 16vCPU, 16 GB of Memory

XenApp76\% Processor Time XenApp76\% GPU Usage XenApp76\% GPU Memory Usage

Requires GPU Pass-Through

- K2 GPU Memory = 4GB

OS does not do well splitting

GPU resources across

different terminal sessions

XenDesktop recommended

- Dedicated resources

- vGPU profile manages FB

- Dictates VM density

Esri collaborating with Nvidia

and Citrix

Page 23: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Recommended GPU Profiles

3D Data

2D Data

2D Data

• Dependent on user data and workflows

Page 24: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Answers obtained from testing (continued)

• ArcMap

• Rendering engine does not

utilize GPU

- GPU is not heavily utilized

- Only when user explicitly

executes hardware

acceleration operations

Map docs

Rendering Sum Times (mins)

Page 25: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Lesson Learned

• Online data introducing network latency

- Eliminate ArcGIS Online data for initial benchmarks

• Licensing

- License Server vs. Application licensing

- Eliminates logins into Application

• FPS sampling – Avg and Min

• Think time (5 seconds vs 10 seconds)

- Aggressively intensive, further refine to closely model user workflows

• Nvidia Drivers – HyperVisor and VM, same release

Page 26: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Future testing

• Mixed workflows

- Initial testing focused on rendering pipeline

- Add analytical operations (CPU intensive)

- How GPU Utilization and density is affected when users are simultaneously running a CPU

intensive geoprocessing task?

• Mixed Virtualization Vendor Solutions

- VMWare ESXi XenDesktop

• Storage – SAN

- More realistic – large infrastructure don’t use SSDs

• Cloud based VDI (DaaS)

- Increasing questions and interest

- Distributors – Europe, NZ, US

- Esri Redlands – Ed Services, Customer Holistic Testing

Page 27: Performance Testing in Virtualized Environmentsimages.nvidia.com/content/events/geoint-2015/EApsey_Perf-Testing... · •ArcGIS in virtualized environments -Users began virtualizing

Questions?

• Emily Apsey

- [email protected]