VMware Application Volume Database Best Practices | Virtual Machine Software (2023)

For VMware application volumes when using a Microsoft SQL Server database

introduce

Often, when an application malfunctions or stops working entirely, the problem can be attributed to a database issue: type and version being used, does the host system have sufficient resources, is the database size appropriate, is the data and registration correctPhilippinesthe files are managed properly, or if a high-availability strategy is used, andffIndeed, anyway. in his caseVMware™ application volumesDatabase, although the database is relatively small, but the correct configuration and maintenance is crucial.

Each application volume operation is programmed by the database, and each operation requires multiple SQL queries.

In this guide, we have collected all relevant application volume database best practices and organized them into the following sections:

  • database size
  • database performance
  • high availability

VMware Application Volume Database Best Practices | Virtual Machine Software (1)

figure 1: Example of logical architecture deployment for application volumes

database size

The application volume database contains the following types of objects:

  • static fraudPhilippinesconfiguration information– these settings, are often misguidedPhilippinesConfigured during initial setup and rarely changed during deployment, including application volume machine management settingsPhilippinesconfiguration, Active Directory (AD) configurationPhilippinesConfigure and provision storage poolsPhilippinesMake sure these settings typically don't take up more than 5 MB.
  • environmental information– Information about environment objects, including virtual machine states and registries, VMware ESXi™ hosts, datastores, and writable ZIP volumesPhilippinesFiles, users, and groups from Active Directory and domain controllers—stored permanently in the database, even if the underlying physical objects are deleted.

    For example, when a user logs in to a virtual machine with the Application Volumes Agent, information about the user is retrieved from AD and stored in the Application Volumes database. If a user is deleted from AD, even if the user is automatically hidden from the Application Volumes Manager console, the user's information is not deleted from the Application Volumes database.

  • Information about Allocations, AppStacks/Packages and Record Volumes- scamPhilippinesConfiguration information about AppStacks/stacks, AppStacks or stack maps, applications in AppStacks/stacks, writable volumes, and VMDKs and VHDsPhilippinesFiles are stored in the application volume database until the underlying configurationPhilippinesIllustration has been removed.

    greatNote: The instructions in this document apply to Application 2.x and Application 4 volumes when using a Microsoft SQL Server database. VMDK or VHD files are listed asapplication stackIn 2.x, application volumes are now called application volumespackAppStacks 4 volumes. Therefore, in this document, "AppStack/package" is used to refer to AppStacks 2.x AppStacks or AppStacks 4 volume packages.

  • control information– Activity logs and system messages are kept independentlyPhilippinesPermanently or until manually deleted. The number of records created depends on how the environment is used and how often the contract is executed.PhilippinesThe picture has changed. Activity logs include events such as computer startup and shutdown, user logon and logoff, administrator activity, and AD synchronization.
  • dynamic data– Information about manager sessions, pending and incomplete jobs is cached in the database to coordinate work across multiple App Volumes Manager servers. To estimate the size of the transaction log, assume that dynamic data requires the same space as static data plus 20 percent.

Example of size 1

In this example, we have 1000 users who log in once a day to access one desktop, and each user is assigned a record volume and two AppStacks/packages. The virtual machines are spread across 20 ESXi hosts using the Mount Local option. We can calculate the database size using:

~5 MB static copyPhilippinesensure

farther

  • 1 KB * 1000 = 1000 KB per virtual machine
  • 1 KB ESXi dust host * 20 = 20 KB
  • 4 KB * 1000 = 4000 KB per AD user account
  • 4 KB per AD computer account * 1000 = 4000 KB 3 KB per datastore * 20 = 60 KB
  • 1 KB * 2 = 2 KB per domain controller

~9 MB of environment information

farther

  • 16 KB * 2 = 32 KB per application stack/bundle
  • 6 KB * 1000 = 6000 KB per allocation
  • 2 KB * 20 = 40 KB per app
  • 22 KB per writable volume * 1000 = 22,000 KB 5 KB per writable VMDKPhilippinesy * 1000 = 5000 KB
  • 5 KB per copied AppStack/VMDK packagePhilippinesy *21 = 105 KB

~33 MB for tasks, AppStacks/packages and write volumes

This adds up to a total of about 47MB cheatingPhilippinesensure

+20% dynamic data

For 1000 users, this gives us a size of about 56MB. In addition, audit information will require:

0.5 KB per login/logout operation * (2+2+6) * 1000 = 10,000 KB = ~5 MB/day = 1825 MB/year

use: Mount/unmount operations include 1 preboot event + 1 mount event + 1 mount event + 1 mount event + 3 volume mount events + 3 volume mount events.

0.5 KB per sync operation * (1,000 users + 1,000 machines) = 1,000 KB = ~1 MB/day = 365 MB/year

= ~2 GB per year for 1000 users

Based on these calculations, we can safely set the following sizes for the databasePhilippineshe:

  • 2 GB for main ROWS dataPhilippineshe
  • 10 MB for transaction logsPhilippinesle if using simple recovery mode

Example of size 2

In this example we have 1000 users logging in twice a day to access one desktop, each user has one write volume and four AppStacks/packages. The virtual machines are spread across 20 ESXi hosts using the Mount Local option. We can calculate the database size using:

~5 MB static copyPhilippinesensure

farther

  • 1 KB * 1000 = 1000 KB per virtual machine
  • 1 KB ESXi dust host * 20 = 20 KB
  • 4 KB * 1000 = 4000 KB per AD user account
  • 4 KB per AD computer account * 1000 = 4000 KB 3 KB per datastore * 20 = 60 KB
  • 1 KB * 2 = 2 KB per domain controller

~9 MB of environment information

farther

  • 16 KB * 4 = 64 KB per application stack/bundle
  • 6 KB * 1000 = 6000 KB per allocation
  • 2 KB * 20 = 40 KB per app
  • 22 KB per writable volume * 1000 = 22,000 KB 5 KB per writable VMDKPhilippinesy * 1000 = 5000 KB
  • 5 KB per copied AppStack/VMDK packagePhilippinesy *21 = 105 KB

~33 MB for tasks, AppStacks/packages and write volumes

This adds up to a total of about 47MB cheatingPhilippinesensure

+20% dynamic data

For 1000 users, this gives us a size of about 56MB. In addition, audit information will require:

0.5 KB per connect/disconnect operation * (2+4+20) * 1,000 = 13,000 KB = ~13 MB/day = 4,745 MB/year

use: Mount/unmount operations include 1 preboot event + 1 mount event + 2 mount events + 2 mount events + 10 volume mount events + 10 volume mount events.

0.5 KB per sync operation * (1,000 users + 1,000 machines) = 1,000 KB = ~1 MB/day = 365 MB/year

= ~5 GB per year for 1000 users

Based on these calculations, we can safely set the following sizes for the databasePhilippineshe:

  • 5.1 GB for databasePhilippineshe
  • 10 MB for transaction logsPhilippinesle if using simple recovery mode

Example of size 3

In this example, we have 5,000 users logging in twice a day to access a desktop, with a high number of signups andPhilippinesView each user's assigned AppStacks/packages. The virtual machines are spread across 100 ESXi hosts using the Mount Local option. We can calculate the database size using:

~5 MB static copyPhilippinesensure

farther

  • 1 KB * 5000 = 5000 KB per virtual machine
  • 1 KB ESXi dust host * 100 = 100 KB
  • 4 KB * 5000 = 20 000 KB per AD user account
  • 4 KB * 5000 = 20,000 KB per AD computer account 3 KB * 100 = 300 KB per datastore
  • 1 KB * 2 = 2 KB per domain controller

~46 MB of environment information

  • 16 KB * 5 = 80 KB per application stack/bundle
  • 6 KB * 5000 = 30 000 KB per allocation
  • 2 KB * 100 = 200 KB per application
  • 22 KB per writable volume * 5000 = 110,000 KB 5 KB per writable VMDKPhilippinesy * 5.000 = 25.000 KB
  • 5 KB per copied AppStack/VMDK packagePhilippinesy *101 = 505 KB

~ 166 MB for tasks, AppStacks/packages and recording volumes

Total about 217MB for cheatingPhilippinesensure

+20% dynamic data

For 1000 users, this gives us a size of about 261 MB. In addition, audit information will require:

0.5 KB per connect/disconnect operation * (2+4+24) * 5,000 = 75,000 KB = ~75 MB/day = 27,375 MB/year

use: Mount/unmount operations include 1 preboot event + 1 mount event + 2 mount events + 2 mount events + 12 volume mount events + 12 volume mount events.

0.5 KB per sync operation * (5,000 users + 5,000 machines) = 5,000 KB = ~5 MB/day

= 1,825 MB/year

= ~29 GB per year for 5000 users

Based on these calculations, we can safely set the following sizes for the databasePhilippineshe:

  • 30 GB for databasePhilippineshe
  • 10 MB for transaction logsPhilippinesle if using simple recovery mode

great: These examples provide a high-level estimate designed to give you a good idea of ​​the approximate size of your database. Actual size will vary depending on how SQL Server stores data.

The size of the transaction log with diffDifferent database recovery models, such as full or bulk, are much less precise and more environment dependent.

database performance

Microsoft SQL Server is a resource intensive application. Despite the relatively small size of the Application Volumes database and the absence of critical customer data, the availability of the database is critical to the performance of Application Volume Management. All operations are programmed using the database, and all operations require multiple SQL queries.

Use the following guidelines for best performance:

  • For application volume production environments, use the Enterprise or Standard editions of Microsoft SQL Server. Do not use SQL Server Express.
  • Be sure to follow Microsoft best practices when designing your SQL Server environment to support application volumes. SQL Server limits, not application capacity limits, apply to the number of objects per database.
  • Place SQL Server on a dedicated virtual machine with sufficient CPU, RAM, and disk space to support the SQL instance. See the VMware knowledge base articleTips for configuring Microsoft SQL Server in a virtual machine (1002951).
  • With regard to transaction logging, VMware testing shows that when configuring SQL ServerPhilippinesConfigured to autogrow the transaction log, all transactions are delayed or delayed, resulting in increased response times. VMware recommends that if you use the bare metal recovery model, set the transaction log size large enough that the autogrow option is only used as a contingency for unexpected growth, or set the transaction log toPhilippinesconstant size.

VMware Application Volume Database Best Practices | Virtual Machine Software (2)

figure 2: The transaction log is set to a fixed maximum size

In this case, you must configure SQL alerts to back up and release the transaction log when it reaches 50% capacity. This strategy keeps the transaction log at a reasonable size without affecting SQL Server performance.

use: SQL Server Agent must be enabled to send notifications.

VMware Application Volume Database Best Practices | Virtual Machine Software (3)

image 3: Enable SQL Server Agent to send notifications

  • If audit data is not required, consider truncating the VMware App Volumes SQL database. To do this, refer to the VMware knowledge base articleDelete SQL volume application VMware database (2132454).
  • use the correct cheatPhilippinesThe configuration and number of App Volumes Manager servers for the number of end users. In most environments, multiple App Volumes Manager servers are deployed.
  • In large Application Volume deployments with multiple Application Volume Managers, if you see a slow increase in the number of Application Volume background tasks in the Application Volume Manager console, you may need to adjust the interval at which these background tasks occur. You'll see this increase in the number of past quests only in rare cases when the environment has a high rate of change. Please contact VMware Technical Support for a new interval value.
  • For optimum performance and reliability, please consider size and conditionPhilippinesConfigure the App Volumes Manager server as described in the VMware Knowledge Base articleVMware Application Volume Size Limits and Recommendations (67354).

Large-Scale Application Stacks/Packages

For best performance, limit the total number of AppStacks/Bundles attached to each virtual desktop or RDSH server, as described instorage limitVMware Knowledge Base Articles SectionVMware Application Volume Size Limits and Recommendations (67354).Although an Application Volume can support multiple AppStacks or attached bundles up to the vSphere limit of the VMDK attached to the virtual machine, performance may be impacted when more AppStacks or bundles are attached. In a production environment, it is good practice to combine multiple applications into each AppStack/Package.

For additional notes on traditional storage and VMware vSAN™, seeBest Practices for Packages in Production EnvironmentsUnited inApplication Volume Architecturehis chapterVMware Workspace ONE και VMware Horizon Reference Architectureguide.

high availability

High availability solutions for Microsoft SQL Server include:

  • ready-to-use groups– VMware recommends this method because it protects against disk failures and provides consistent database availability.
  • database copy– This method is supported when configuringPhilippinesA witness server is configured. Note that Microsoft has deprecated this feature in favor of AlwaysOn Availability Groups.
  • Always on failover cluster instance– Microsoft recommends this method if you plan to use data protection over a third-party shared disk solution (SAN) instead of SQL Server.

For more information, see the Microsoft SQL Server documentation forHigh Availability Solutions (SQL Server).

Configure App Volumes Manager to use a highly available database

This document does not provide installation and configuration instructionsPhilippinesConfigure SQL Server to use SQL Server Mirroring or AlwaysOn Availability Groups. Instructions for cheating on the SQL Server sidePhilippinesdear, lookMicrosoft SQL Server Documentation.

SQL Server replication options for application volume databases and AlwaysOn Availability Groups are configurable.PhilippinesIt is only set after the SQL database is created during installationPhilippinesApp Volumes Manager debuts. Additionally, the manual isPhilippinesConfiguration is required after updating the App Volumes Manager.

cheat by following these stepsPhilippinesConfigure each App Volumes Manager server to use a highly available database:

  1. scamPhilippinesConfigure the database for high availability byMicrosoft SQL Server Documentation.
  2. On the App Volumes Manager server, install the native SQL Server client (64-bit version) that matches the version of SQL Server.
  3. Using the ODBC Control Panel, withPhilippinesConfigure a new system DSN to use the native SQL Server client and point to the primary and failover SQL servers.
  4. open it with a text editorPhilippineshe
    c:\Archivos de programa (x86)\CloudVolumes\Manager\config\database.yml>/span>
  5. new linedsn: sv administratorUse DSN namePhilippinesConfigured in step 3.
  6. Save changes todatabase.yml Philippineshe.
  7. Restart Application Volume Manager servant.
  8. Verify Registry Access in App Volumes Manager User Interface
    1. In a new browser tab, go tohttps:///log.
    2. Verify that the log entries are displayed on the page as shown belowPhilippinesus

VMware Application Volume Database Best Practices | Virtual Machine Software (4)

database maintenance

The SQL Server mirroring option and AlwaysOn Availability Groups require the database to use the bare metal recovery model. The transaction log should be backed up to avoid excessive growth and fragmentation.

VMware referral scamPhilippinesConfigure SQL Server alerts to monitor the following SQL performance counters: SQLServer:Databases - Log Percentage Used - appvolumes_database

For more information, see the Microsoft SQL Server documentationMonitor and respond to eventsyesdevelopment work.

Deploy application volumes in a multisite environment

Many organizations have operations in multiple geographic locations. In scenarios where application volumes need to be deployed in multiple locations around the world, VMware recommends that application volumes be deployed separately.

App Volumes Manager requires a stable and reliable connection to the SQL database. Any delay or loss of communication between App Volumes Manager and the SQL Database can cause performance and stability issues. These issues include but are not limited to;

  • User logins and logouts slow down
  • AppStack/Attachment Latency
  • Duplicate tasks performed by multiple administrators

VMware recommends that Application Volumes deployments not span data centers with network latencyffCommunication between App Volumes Manager and SQL Server. Also consider the reliability history of communications and past connection performance.

If the latency between Application Volume Manager and SQL Server is greater than 15ms, use a separate application volume deployment. A pod architecture where all components are local to the server cabinet/rack, including App Volumes Manager and SQL Server, provides the best results. For more information, seepods and chunksa partskyline buildingscapital investmentVMware Workspace ONE και VMware Horizon Reference Architectureguide.

Appendix A: Disk Space Requirements for Application Volume Databases

The following table summarizes the requirements for the different types of objects in the application volume database.

Table 1: Approximate size of each application volume database entry

static element

all size

Apply the configuration information of the volume storage group, AD, and machine administrator

5MB

environmental object

size per registration

Virtual machine logs and virtual machine status information

1 KB

ESXi host

1 KB

AD user, group, group or organizational unit

4 KB

VMware vSphere® Data Warehouse

3 KB

Domain Controllers (discovered)

1 KB

ZIP file update for writable volumes

ZIP file size + 30%

Jobs, application stacks/packets and writing roll

AppStack/Bundle

16 KB

AppStack/package distribution

6 KB

Apps in AppStack/package

2 KB

writing volume

22 KB

VMDK or VHD files (including AppStacks/replicated packages in storage pools)

5 KB

control information

active record event

0.5–1KB per operation

System messages such as proxy errors and communication failures

0.5–2 KB per message

Dynamic data

manage session

1 KB per session

backlog and backlog

1KB per job

Abstracts and other resources

This guide lists all relevant best practices for using VMware Application Volumes with Microsoft SQL Server databases, including database size, database performance, and high availability.

additional resources

For more information, you can browse the following resources:

  • VMware Digital Workspace Technology Zone στοTechnology Zone.vmware.com
  • VMware application volumeproduct page
  • VMware App Volumes Documentation
  • VMware Knowledge Base
  • VMware Product Reviews
  • VMware Product Guide
  • VMware Product Interoperability Matrix
  • white paper
  • VMware Self-Help Support Resources
  • VMware Consulting and Support
  • VMware Horizon Support Center
  • VMware Consulting Professional Services Organization

change log file

This guide has been updated as follows.

date

Change Description

15-01-2021

Updated to include Apps Volume 4 projects.

2019-04-15

original publication.

author

The following teams contributed to this document:

  • Jose Spencer, Marketing Technology Architect, End User Computing Marketing Technician, VMware
  • Denis Gundarev, predecessor of VMware, authored the original version of this document
  • Stéphane Asselin, formerly of VMware, wrote the original version of this document

For comments on this document, please contact VMware End User Computing Technical Marketing ateuc_tech_content_feedback@vmware.com.

filter tags

horizon Application amounthorizondocumentapplication problemMiddleoptimize it

References

Top Articles
Latest Posts
Article information

Author: Jerrold Considine

Last Updated: 03/04/2023

Views: 6026

Rating: 4.8 / 5 (78 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Jerrold Considine

Birthday: 1993-11-03

Address: Suite 447 3463 Marybelle Circles, New Marlin, AL 20765

Phone: +5816749283868

Job: Sales Executive

Hobby: Air sports, Sand art, Electronics, LARPing, Baseball, Book restoration, Puzzles

Introduction: My name is Jerrold Considine, I am a combative, cheerful, encouraging, happy, enthusiastic, funny, kind person who loves writing and wants to share my knowledge and understanding with you.