Наша база даних програм постачальників дуже інтенсивна в TempDB.
Сервер є віртуальним (VMWare) з 40 ядрами та 768 ГБ оперативної пам’яті, працює під управлінням SQL 2012 Enterprise SP3.
Всі бази даних, включаючи TempDB, перебувають на SSD першого рівня в SAN. У нас є 10 файлів даних tempdb, кожен попередньо виросли до 1 Гб, і вони ніколи не розростаються автоматично. Те саме з файлом журналу 70 Гб. Прапорці слідів 1117 та 1118 вже встановлені.
sys.dm_io_virtual_file_stats показує понад 50 Терабайт, прочитаних / записаних на файлах даних tempdb & log у минулому місяці, з накопичувальним io_stall 250 годин або 10 днів.
Ми вже налаштували код постачальника та ІП протягом останніх 2 років.
Тепер ми думаємо розмістити файли tempdb на диску RAM, оскільки ми маємо багато пам'яті. Оскільки tempdb знищується / відтворюється під час перезавантаження сервера, він є ідеальним кандидатом для розміщення на енергонезалежній пам'яті, яка також вимивається при перезавантаженні сервера.
Я перевірив це на більш низькому середовищі, і це призвело до більш швидких запитів, але збільшення використання процесора, оскільки процесор робить більше роботи, а не чекати на повільному темпдб-диску.
Хто-небудь ще поставив свій tempdb на оперативну пам’ять у системах високого виробництва oltp? Чи є якийсь великий недолік? Чи є якісь постачальники, які спеціально обирають чи уникають?