Skip to main content

Configuration analysis for database environments in Workload Factory

Contributors netapp-rlithman

Workload Factory for Databases analyzes database configurations regularly to determine if there are any issues with Microsoft SQL Server and Oracle deployments on Amazon FSx for NetApp ONTAP storage. When issues are found, Workload Factory shows you what the issues are and explains what needs to change so that your database configurations achieve peak performance, cost efficiency, and compliance with best practices.

Workload Factory provides best practices and recommendations for well-architected database workloads. The well-architected analysis assesses Microsoft SQL Server and Oracle Database configurations and settings related to storage, compute, application, resiliency, and cloning.

How it works

Workload Factory analyzes your workloads running on Amazon FSx for NetApp ONTAP file systems deployments daily. The analysis provides well-architected status, insights, and recommendations.

After the daily analysis completes, configurations appear as "optimized" or "not optimized" in the Well-architected dashboard for the deployment. You'll find the total optimization score, configuration issues by category, and a list of configuration issues and recommendations. You can review the recommendations for configuration issues. Some issues can be fixed automatically by Workload Factory, while others require manual intervention. In this case, Workload Factory provides detailed instructions to help you implement the recommended changes.

You can dismiss the analysis of configurations that do not apply to your environments. This avoids unnecessary alerts and inaccurate optimization results.

You can also create custom rules in plain language to validate your environments against your organization's standards and NetApp best practices. Test rules with a dry run, then schedule them to run across your environments. Learn more about custom rules.

Why it matters

Workload Factory applies best practices to large storage, database, and VMware environments by combining ongoing assessment with recommendation insights and remediation. Automated fixes applied in the Workload Factory console reduce human error, ensure uniform management, and preserve performance and reliability across your workload infrastructures.

Options for analyzing your database environment

Workload Factory provides the following options for analyzing your database environment:

  • One-time assessment: Perform a one-time assessment to find out the well-architected status of your Microsoft SQL Server instances or Oracle databases without storing credentials or registering resources.

    For the one-time assessment, you only need to provide credentials once for the Microsoft SQL Server instances or Oracle databases you want to analyze.

  • Continuous assessment: Workload Factory analyzes your database environment regularly, provides ongoing recommendations for optimizing your configurations, and automatically fixes issues.

    For continuous assessment, you need to register your resources, associate a link, and grant permissions in your AWS account.

Microsoft SQL Server best practices

The following best practices and recommendations apply to Microsoft SQL Server workloads.

Storage

Storage tier

Use the primary SSD tier for performance-sensitive SQL workloads.

Details

Use the primary SSD tier for FSx for ONTAP volumes for optimal performance. The capacity pool tier might reduce performance and increase latency. The primary SSD tier is designed for high-performance workloads, while the capacity pool tier is optimized for cost efficiency and might not meet the performance requirements of SQL Server workloads.

File system headroom

Keep enough free capacity above total volume size.

Details

Maintain enough file system capacity above your total volume size. Too little free space causes performance issues; too much wastes storage and increases costs.

Log drive size

Size and monitor log drives to avoid rollbacks and outages.

Details

Size and monitor your SQL Server log drive to prevent transaction rollbacks, database unavailability, data corruption, and performance issues caused by a full log drive.

TempDB drive size

Size TempDB to avoid bottlenecks and timeouts.

Details

Size and monitor TempDB to maintain performance and stability. Too little TempDB space can cause query slowdowns, application timeouts, and system crashes.

Data and log files placement

Separate .mdf and .ldf paths.

Details

Separate data and log files onto different drives to improve parallel I/O, backup flexibility, and restore behavior. We recommend separating data and log LUN paths into different volumes for smaller databases.

TempDB placement

Use a dedicated drive.

Details

Place TempDB on a dedicated drive to avoid I/O contention and improve SQL Server performance and stability.

Thin provisioning

Allocate storage as needed.

Details

Configure thin provisioning for FSx for ONTAP volumes to make better use of storage and reduce costs. Thin provisioning lets you allocate storage as needed instead of reserving all capacity at once.

Autosize and auto-size mode

Grow volumes automatically.

Details

Turn on autosize and set the mode to grow so volumes increase automatically before they become full and read-only.

Block device space management

Configure block device space settings for LUNs used by SQL Server.

Details

Configure block device space settings for LUNs used by Microsoft SQL server instances to prevent write failures and improve space efficiency on FSx for ONTAP.

Snapshot copy reserve and autodelete

Keep space for active data.

Details

Set snapshot copy reserve to 0% and enable snapshot autodelete to protect space for active data.

Space management

Expand the volume before deleting snapshot copies.

Details

When space runs low, expand the volume before deleting snapshot copies. Expanding the volume prevents "volume full" errors, reduces write failures, and preserves snapshot recovery points.

Tiering / TCO optimization

Tier snapshot data using the snapshot-only tiering policy.

Details

Use the snapshot-only tiering policy, which moves only snapshot data to the capacity tier while keeping active data on the SSD tier. This approach preserves low-latency performance for SQL workloads while reducing storage costs. Tier snapshot data after a 7-day cooling period.

Storage efficiencies

Use deduplication, compression, and compaction.

Details

Enable deduplication, compression, and compaction to reduce storage use and cost while maintaining performance.

OS type

Match ONTAP LUN OS type to host partitioning.

Details

Match the ONTAP LUN Operating System value to the host partitioning scheme to maintain correct I/O alignment.

MPIO policy, sessions, status, and timeout settings

Configure Multipath I/O (MPIO) policy, sessions, status, and timeout settings.

Details

Configure Multipath I/O (MPIO) for resiliency and throughput. Use five MPIO sessions per target interface for SQL Server on iSCSI LUNs, monitor path status, and set host timeout to 60 seconds.

NTFS allocation unit size

Set to 64K.

Details

Set NTFS allocation unit size to 64K to improve disk efficiency and reduce fragmentation for SQL Server workloads.

Scheduled local snapshots

Disable scheduled snapshots.

Details

Disable scheduled snapshots for FSx for ONTAP volumes used by Microsoft SQL Server. Instead, manage snapshots externally using tools such as NetApp SnapCenter, which create application-consistent backups and help prevent data corruption during restore operations.

Compute

Compute rightsizing

Match EC2 instance size to workload demand.

Details

Rightsize your SQL Server EC2 instance based on workload demand. Increase size when under-provisioned and reduce size when over-provisioned to balance cost and performance.

Operating system patch

Apply current OS patches.

Details

Apply the latest operating system patches to improve security and reliability.

Network adapter settings

Configure Receive Side Scaling (RSS).

Details

Configure Receive Side Scaling (RSS) to distribute network processing across CPUs to improve network performance. Validate settings before production rollout.

MTU alignment

Align Maximum Transmission Unit (MTU) across host and storage paths.

Details

Align EC2 Maximum Transmission Unit (MTU) settings with FSx for ONTAP paths to prevent fragmentation and maintain stable throughput.

Application

License

Review license usage for paid features.

Details

Review SQL Server license usage at the host level. If paid features are not in use, the license is not optimized and may increase cost.

Microsoft SQL Server patch

Apply latest SQL Server patches.

Details

Apply the latest SQL Server patches to improve security and system reliability.

MAXDOP

Use workload-tested values.

Details

Configure MAXDOP to optimize query performance. Values of 4, 8, or 16 typically work well. Test your workload and monitor for parallelism wait types such as CXPACKET.

Resiliency

Application-consistent snapshots

Use application-consistent snapshots with NetApp SnapCenter.

Details

Use application-consistent snapshots with NetApp SnapCenter to take accurate, reliable snapshots of your volume data at a specific moment in time. SnapCenter makes backups easier and helps you restore data quickly, reducing downtime and protecting critical workloads.

Cross-region replication

Protect against regional outages.

Details

Enable cross-region replication (CRR) to improve data availability and disaster recovery in your SQL Server environment. CRR helps protect against regional outages and ensures business continuity by replicating data across different locations.

Backup configuration

Configure FSx for ONTAP backups or AWS Backup.

Details

Configure FSx for ONTAP backups or AWS Backup to meet retention and compliance requirements while avoiding duplicate backup workflows.

Cluster quorum

Configure quorum for failover cluster instances.

Details

Configure quorum correctly for SQL Server Failover Cluster Instances so the cluster can tolerate expected node failures.

Drive letter

Keep drive letters consistent across nodes.

Details

Use the same drive letters on every node in your SQL Server high availability setup. This makes management easier and helps failover work correctly.

Heartbeat settings

Tune heartbeat for stable failover behavior.

Details

Tune heartbeat settings to avoid unnecessary failovers while still detecting real failures quickly.

Shared storage

Make sure both nodes can access shared iSCSI LUNs.

Details

All shared disks (iSCSI LUNs) must be accessible from both nodes in the FCI deployment model so failover can work.

SQL Server service

Validate service account and startup dependencies.

Details

Validate service account permissions, startup type, and dependencies for reliable high availability behavior.

Cloning

Clone cleanup

Remove old clones regularly.

Details

Regularly remove outdated clones to reduce storage cost and operational clutter. Old and unused clones cause high costs.

Oracle best practices

The following best practices and recommendations apply to Oracle workloads.

Storage

File system headroom

Keep enough free capacity above total volume size.

Details

Maintain enough file system capacity above your total volume size. Too little free space causes performance issues; too much wastes storage and increases costs.

Thin provisioning

Allocate storage as needed.

Details

Configure thin provisioning for FSx for ONTAP volumes to make better use of storage and reduce costs. Thin provisioning lets you allocate storage as needed instead of reserving all capacity at once.

Autosize and auto-size mode

Grow volumes automatically.

Details

Turn on autosize and set mode to grow so volumes increase automatically before they become full and read-only.

Block device space management

Configure block device space settings for LUNs used by SQL Server.

Details

Configure block device space settings for LUNs used by Oracle databases to prevent write failures and improve space efficiency on FSx for ONTAP.

Snapshot copy reserve and autodelete

Keep space for active data.

Details

Set snapshot copy reserve to 0% and enable snapshot autodelete to protect space for active data.

Space management

Expand the volume before deleting snapshot copies.

Details

When space runs low, expand the volume before deleting snapshot copies. Expanding the volume prevents "volume full" errors, reduces write failures, and preserves snapshot recovery points.

Tiering / TCO optimization

Tier snapshot data using the snapshot-only tiering policy.

Details

Use the snapshot-only tiering policy, which moves only snapshot data to the capacity tier while keeping active data on the SSD tier. This approach preserves low-latency performance for SQL workloads while reducing storage costs. Tier snapshot data after a 7-day cooling period.

Storage efficiencies

Use deduplication, compression, and compaction.

Details

Enable deduplication, compression, and compaction to reduce storage use and cost while maintaining performance.

Swap space

Set swap based on RAM.

Details

Set swap space based on the amount of RAM so the system can handle memory pressure and avoid slowdowns or crashes.

Archive, data, control, redo, and temp placement

Use a dedicated volume for each type of Oracle file to isolate I/O patterns and improve performance.

Details

Place archive logs, data files, control files, redo logs, and temp files on separate drives to isolate I/O patterns and improve resiliency. Keep redundant copies on separate volumes where required.

Oracle binary placement

Use a dedicated volume.

Details

Place Oracle binaries on a dedicated volume to reduce I/O contention. This separation simplifies software updates and minimizes the risk of accidental modifications or corruption.

Scheduled local snapshots

Disable local scheduled snapshots.

Details

Disable scheduled snapshots for FSx for ONTAP volumes used by Oracle to save space and lower costs. Instead, manage snapshots externally using tools such as NetApp SnapCenter, which create application-consistent backups and help prevent data corruption during restore operations.

NFS rootonly

Disable for dNFS.

Details

Disable the ONTAP nfs-rootonly parameter for dNFS. nfs-rootonly restricts NFS connections to privileged ports (<1024). Because dNFS processes in NFSv4+ do not run as root and use higher ports, disabling this parameter allows necessary connections.

Binaries export policy

Include superuser and setuid permissions in the dedicated export policy for Oracle binaries.

Details

Make sure that if Oracle binaries are located on an NFS share, the export policy includes superuser and setuid permissions. Superuser (root) access allows NFS clients to map as root, needed for binary execution.

ASM setup

Set up Oracle Automatic Storage Management (ASM) for iSCSI-based storage running on FSx for ONTAP.

Details

Use Oracle Automatic Storage Management (ASM) for iSCSI-based storage running on FSx for ONTAP to optimize performance, simplify storage management, and enhance scalability for Oracle Database deployments.

ASM-only configurations
  • ASM data disk group, ASM logs disk group, ASM FRA disk group, and ASM archive disk group LUNs

    Distribute LUNs across Automatic Storage Management (ASM) disk group resources.

    Details

    Distribute LUNs across Automatic Storage Management (ASM) data, redo log, and archive log disk groups for optimal performance and redundancy.

  • ASM external redundancy

    Configure Oracle ASM disk groups with EXTERNAL redundancy.

    Details

    Configure Oracle ASM disk groups with EXTERNAL redundancy for FSx for ONTAP iSCSI LUNs to leverage FSx for ONTAP's built-in high availability, optimize storage efficiency, and reduce costs by avoiding Oracle-level data mirroring.

  • ASM filter driver and ASMLib logical block size alignment

    Configure Oracle ASM Filter Driver (AFD) and ASMLib to use the logical block size of the underlying FSx for ONTAP storage.

    Details

    Configure the Oracle ASM Filter Driver (AFD) and ASMLib in the ASMLib configuration file to use the logical block size of the underlying FSx for ONTAP storage. This ensures that AFD and ASMLib aligns I/O operations with the storage's block size, optimizing performance by minimizing latency and reducing unnecessary I/O overhead.

TCP slot table

Set to 128 for NFS-based Oracle workloads.

Details

Configure the kernel parameters for the TCP slot table to 128 for Oracle workloads running on NFS. This configuration enables more concurrent I/O operations, reducing latency in high-throughput scenarios such as Oracle data file access. Kernel parameters govern the maximum number of outstanding NFS requests over TCP, acting like queue depth in Fibre Channel setups. The default Linux values, typically set at 16, do not support optimal database performance.

NFS mount options - database files

Use NFS mount options that optimize performance for database files.

Details

Use optimized NFS mount options for database files. Key parameters include rw for read/write access, bg for background mounting, hard for indefinite retries on failures, and proto=tcp for reliable delivery. The rsize and wsize values of 262144 improve large I/O operations, enhancing throughput, while nointr doesn't interrupt long-running tasks. This configuration improves database performance and resilience, particularly in high-throughput environments.

NFS mount options for ADR home

Use NFS mount options that optimize performance for the ADR home directory.

Details

Use optimized NFS mount options for the Automatic Diagnostic Repository (ADR) home, or root directory. The ADR home stores logs and traces, which benefit from similar reliability options as core database files but don't require the nointr mount option because operations are less interrupt-sensitive.

NFSv4 domain name

Match NFSv4 domain names between the host and NFS server.

Details

Match NFSv4 domain names between the host (/etc/idmapd.conf or hostname -d) and NFS server (v4-id-domain in ONTAP).

NFS caching options

Do not disable host caching in standalone deployments.

Details

Omit NFS mount options that disable host caching—such as, actimeo=0 and noac—in standalone Oracle deployments to improve efficiency and reliability. These options apply to clustered environments to ensure cache consistency, but in single-instance environments, they unnecessarily bypass caching and can significantly reduce performance.

dNFS enablement

Enable dNFS.

Details

Enable Direct NFS (dNFS) in your Oracle environment to improve NFS storage performance and reliability.

dNFS consistent IP resolution

Avoid round-robin name resolution.

Details

Avoid the use of Direct NFS (dNFS) with any type of round-robin name resolution, including DNS, DDNS, NIS, or any other method. This includes the DNS load balancing feature available in ONTAP. Consistent IP address resolution maintains database stability and prevents potential crashes or data corruption.

dNFS configuration file

Validate oranfstab content.

Details

Check and update the oranfstab file content to ensure proper Direct NFS (dNFS) usage. The oranfstab file is essential for configuring advanced dNFS features such as multipathing and specific NFS options. Correct configuration improves the efficiency of data access and management.

dNFS no shared cache

Use nosharecache for specific multi-mount cases.

Details

Configure the nosharecache mount option for environments where Direct NFS (dNFS) is enabled, and a source volume is mounted more than once on a single server with nested NFS mounts. This configuration prevents cache sharing between mounts, ensuring data consistency and optimal performance.

Compute

Operating system patch

Apply current patches.

Details

Apply the latest operating system patches to improve security and reliability.

Transparent huge pages

Disable Transparent Huge Pages (THP).

Details

Disable Transparent Huge Pages (THP) on database hosts running Oracle databases to prevent potential performance degradation and improve memory management.

TCP advanced options

Enable Transmission Control Protocol (TCP) advanced options.

Details

Enable TCP timestamps, SACK, and window scaling for best network performance and reliability.

File system I/O options

Set filesystemio_options = setall.

Details

Set filesystemio_options = setall for optimal I/O performance. Adjust the system global area (SGA) size if needed when moving away from buffered I/O.

Multiblock read count

Remove the db_file_multiblock_read_count parameter.

Details

Remove db_file_multiblock_read_count parameter from the text-based FILE init.ora or server-managed binary SPFILE (spfile<SID>.ora) for Oracle databases to prevent performance issues and allow Oracle to manage this setting automatically.

Oracle Critical Patch Updates

Apply current CPU updates.

Details

Apply the latest Oracle Critical Patch Updates to address security vulnerabilities and maintain the integrity of your database environment. Regularly review and apply patches to protect against potential threats and ensure compliance with security best practices.

Resiliency

Application-consistent snapshots

Use application-consistent snapshots with NetApp SnapCenter.

Details

Use application-consistent snapshots with NetApp SnapCenter to take accurate, reliable snapshots of your volume data at a specific moment in time. SnapCenter makes backups easier and helps you restore data quickly, reducing downtime and protecting critical workloads.

Cross-region replication

Protect against regional outages.

Details

Enable cross-region replication (CRR) to improve data availability and disaster recovery for your Oracle databases. CRR helps protect against regional outages and ensures business continuity by replicating data across different locations.

Backup configuration

Configure FSx for ONTAP backups or AWS Backup.

Details

Configure FSx for ONTAP backups or AWS Backup to meet retention and compliance requirements while avoiding duplicate backup workflows.

Cloning

Clone cleanup

Remove old clones regularly.

Details

Regularly remove outdated clones to reduce storage cost and operational clutter. Old and unused clones cause high costs.