Thursday, January 9, 2025

Recap of "How To Tune A Multi-Terabyte Database For Optimum Performance"

On October 29, 2024 at the GroupBy conference, I was moderator for Jeff Taylor's session "How To Tune A Multi-Terabyte Database For Optimum Performance"

The video is available at https://www.youtube.com/watch?v=9j51bD0DPZE

 

Listed below are some take aways and Q&As from his session:

 

Ideal Latency time:

20ms for IO

10ms for TempDB

 

Crystal Disk Mark is a simple disk benchmark software: https://crystalmark.info/en/software/crystaldiskmark/

 

What is the overhead of running these diagnostics (i.e. diskspd and Crystal Disk)?

No adverse effects during mid-day testing, but don't run it during a busy time.

It's best to test it during both busy and non-busy times

 

Mutlipath: multiple network cards between host, switch and SAN appliance

 

For tempdb storage, what's preferable?

Shared space on a disk pool with a lot of drives or dedicated pool with just 2 drives (raid 1)? all drives of the same type (NVMe). 

"Shared" means with other databases

Run in memory for newer versions

Raid10 will be fastest

keep tempDB separate from other DBs

 

By in memory tempdb, does that mean memory optimized tempdb metadata option? Yes

 

Jumbo Frames are 8192 when enabled, should be used for storage network to avoid issues

to transfer more across the network

 

 

Raid 5 is best for economy/performance combination on both SSD and conventional drives

 

RAID 5 for data? What about that write penalty overhead? Why not RAID 10 ? RAID 10 is best but RAID 5 will sufficiently perform but make sure you have enough memory for operational needs

 

Use New Mbsv3 series VMs from Azure

 

Would you consider local raid0 for tempdb? Yes, you can but RAID 1 so it's redundant so it stays live.

 

nvarchar: N for "National" characters for various foreign languages, 2+ bytes per character

 

Prefer to use INT instead of BigInt

 

Datetime2 (8 bytes) is preferred over Datetime(6-8 bytes)

 

Unicode size on disk is one thing, size when in cache is a worse problem

 

What do you think about using IFI (Instant File Initialization) for log file in 2022?  Recommended

 

Avoid Heap tables.  However, Markus Winand, author or SQL Performance Explained, shows some specialized cases where Heap is better.

See https://medium.com/@nhatcuong/sql-performance-explained-by-markus-winand-some-notes-after-the-first-read-1dde208f2fd7 for more info

No comments:

Post a Comment