Patrick
Случайный прохожий
Здравствуйте еще раз! Хочу получить максимум производительности из имеющегося железа сервера.
Что имеем по железу:
- Сервер HPe DL560 g9
- 8 штук дисков SAS 600gb 15k
- 1 штука контроллер NVMe SSD Intel на 2Tb
- 2 CPU Intel Xeon
- 256 гб ОЗУ
На сервере должны лежать базы 1С предприятия и SQL 2016.
Вопрос по настройке распределения памяти SQL сервера и кэш буфера.
Немного рассуждений по теме...
Решено разместить Buffer Pool на SSD но непонятно как определить его размер?
Я настраиваю по статье https://docs.microsoft.com/en-us/sq...ws/buffer-pool-extension?view=sql-server-2017
и https://docs.microsoft.com/en-us/sq...er-configuration-options?view=sql-server-2017
и там написано:
Если я все правильно понял то размер буфера для ssd определяется соотношением 1:16.
Так же написано что что бы определить текущее значение выделенной памяти нужно использовать T-SQL запрос
После выполнения запроса получаю такие данные:
Memory_usedby_Sqlserver_MB = 1964
Locked_pages_used_Sqlserver_MB = 0
Total_VAS_in_MB = 134217727
process_physical_memory_low = 0
process_virtual_memory_low = 0
Прочитав все это из статьи выше понял - надо настроить правильно параметр max server memory
В итоге вопросы:
1. Какой размер буфера будет в моем случае исходя из моего железа и количества памяти??
2. Нужно ли трогать и перенастраивать параметр max server memory? Какое количество ОЗУ использует SQL сервер по умолчанию?? Всю память или нет?
Подскажите плиз в целом по проблеме...
-----Подумал и добавил------
Еще вдогонку вопрос.
Имеет ли смысл переместить системную базу SQL сервера - tempdb на SSD ?
Что имеем по железу:
- Сервер HPe DL560 g9
- 8 штук дисков SAS 600gb 15k
- 1 штука контроллер NVMe SSD Intel на 2Tb
- 2 CPU Intel Xeon
- 256 гб ОЗУ
На сервере должны лежать базы 1С предприятия и SQL 2016.
Вопрос по настройке распределения памяти SQL сервера и кэш буфера.
Немного рассуждений по теме...
Решено разместить Buffer Pool на SSD но непонятно как определить его размер?
Я настраиваю по статье https://docs.microsoft.com/en-us/sq...ws/buffer-pool-extension?view=sql-server-2017
и https://docs.microsoft.com/en-us/sq...er-configuration-options?view=sql-server-2017
и там написано:
The buffer pool extension size can be up to 32 times the value of max_server_memory. We recommend a ratio between the size of the physical memory (max_server_memory) and the size of the buffer pool extension of 1:16 or less. A lower ratio in the range of 1:4 to 1:8 may be optimal. For information about setting the max_server_memory option, see Server Memory Server Configuration Options.
Если я все правильно понял то размер буфера для ssd определяется соотношением 1:16.
Так же написано что что бы определить текущее значение выделенной памяти нужно использовать T-SQL запрос
Код:
SELECT
(physical_memory_in_use_kb/1024) AS Memory_usedby_Sqlserver_MB,
(locked_page_allocations_kb/1024) AS Locked_pages_used_Sqlserver_MB,
(total_virtual_address_space_kb/1024) AS Total_VAS_in_MB,
process_physical_memory_low,
process_virtual_memory_low
FROM sys.dm_os_process_memory;
После выполнения запроса получаю такие данные:
Memory_usedby_Sqlserver_MB = 1964
Locked_pages_used_Sqlserver_MB = 0
Total_VAS_in_MB = 134217727
process_physical_memory_low = 0
process_virtual_memory_low = 0
Прочитав все это из статьи выше понял - надо настроить правильно параметр max server memory
Код:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
В итоге вопросы:
1. Какой размер буфера будет в моем случае исходя из моего железа и количества памяти??
2. Нужно ли трогать и перенастраивать параметр max server memory? Какое количество ОЗУ использует SQL сервер по умолчанию?? Всю память или нет?
Подскажите плиз в целом по проблеме...
-----Подумал и добавил------
Еще вдогонку вопрос.
Имеет ли смысл переместить системную базу SQL сервера - tempdb на SSD ?