์ด ๋ฌธ์์์๋ SQL Server์ฉ Cloud SQL ์ธ์คํด์ค๊ฐ ๊ณผ์ ํ๋ก๋น์ ๋๋ ์ธ์คํด์ค ์ถ์ฒ์์ ์ํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋์ ๊ฒ์ผ๋ก ์๋ณ๋ ๊ฒฝ์ฐ, ํด๋น ์ธ์คํด์ค๋ฅผ ๊ฒํ ํ์ฌ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
SQL Server ๋ฉ๋ชจ๋ฆฌ
SQL Server ๋ฉ๋ชจ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฅ๋ ์ ์์ต๋๋ค.
์บ์
์ด๊ฒ๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ด์ง ๋ฐ ์ ์ฅ ํ๋ก์์ ธ์ ๊ฐ์ด ๋ก๋ํ ์ ์๋ ๋์คํฌ์ ๊ฐ์ฒด์ ๋๋ค. ๋ฐ๋ผ์ SQL Server๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๊ธฐ์ค์ผ๋ก ์ด๋ฌํ ๊ฐ์ฒด๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์์ต๋๋ค. ์บ์์๋ ๋ฒํผ ํ๊ณผ ๊ณํ ์บ์๊ฐ ํฌํจ๋ฉ๋๋ค.
๊ณ ์ ๋ฉ๋ชจ๋ฆฌ
๊ณ ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ฆ๊ฐํ๊ฑฐ๋ ์ถ์๋ ์ ์์ต๋๋ค. ์ฌ์ฉํ์ง ์์ ๋๋ง ์ถ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฐ๊ฒฐ ์๊ฐ ๊ฐ์ํ๊ฑฐ๋ ์คํ ์ค์ธ ์ฟผ๋ฆฌ ์๊ฐ ๊ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์ฌ๊ธฐ์ ํด๋นํฉ๋๋ค. ์ด๋ ์บ์์ ๋ค๋ฆ ๋๋ค. ๊ณ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ฉด SQL Server ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง ์ ์์ต๋๋ค. ๊ณ ์ ๋ฉ๋ชจ๋ฆฌ์๋ ์ฐ๊ฒฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์ฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
SQL Server ์ค๋ฒํค๋
SQL Server ์ค๋ฒํค๋์๋ ์ค๋ ๋์ ์คํ์ด ํฌํจ๋ฉ๋๋ค.
์ธ๋ฉ๋ชจ๋ฆฌ OLTP
์ธ๋ฉ๋ชจ๋ฆฌ OLTP์๋ ์ธ๋ฉ๋ชจ๋ฆฌ ํ ์ด๋ธ๊ณผ ์ธ๋ฉ๋ชจ๋ฆฌ ํ์ผ ๊ทธ๋ฃน์ด ํฌํจ๋ฉ๋๋ค.
SQL Server ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ maximum server memory
๋ฐ memory.memory.limitmb
์ค์ ์ ํตํด ์ ์ด๋ฉ๋๋ค. Cloud SQL์ memory.memory.limitmb
๋งค๊ฐ๋ณ์๋ฅผ ์๋์ผ๋ก ์ค์ ํฉ๋๋ค.
memory.memory.limitmb
์ ๋ํ ์์ธํ ๋ด์ฉ์ Microsoft ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ์ต์
์ธ์คํด์ค์ ๋ฉ๋ชจ๋ฆฌ ์กฐ์ ์ด ํ์ํ์ง ํ์ธํ๋ ค๋ฉด ๋ค์์ ์ํํ์ธ์.
max server memory (mb)
ํ๋๊ทธ์ ๊ฐ์ ํ์ธํฉ๋๋ค.Cloud SQL์์ ์ด ํ๋๊ทธ์ ๊ฐ์ ๊ด๋ฆฌํ๋๋ก ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๊ฐ์ ์๋์ผ๋ก ๊ด๋ฆฌํด์ผ ํ๋ ๊ฒฝ์ฐ ๊ถ์ฅ์ฌํญ์ ์ค๋ช ๋
max_server_memory (mb)
์ฌ์ฉ๋ ๊ณต์์ ์ฌ์ฉํ์ฌ SQL Server๊ฐ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ก ํฉ๋๋ค.์์ธํ ๋ด์ฉ์ ํน์ ํ๋๊ทธ๋ฅผ ์ฐธ์กฐํ์ธ์.
Page life expectancy
ํ๋๊ทธ๋ฅผ ๋ชจ๋ํฐ๋งํฉ๋๋ค.Page life expectancy
๋ ๊ฐ์ฅ ์ค๋๋ ํ์ด์ง๊ฐ ๋ฒํผ ํ์ ๋จธ๋ฌด๋ ์๊ฐ(์ด)๋ก ๋ํ๋ ๋๋ค. ์ด ๊ฐ์ Microsoft์์ ๊ถ์ฅํ๋ 300๋ณด๋ค ์ปค์ผ ํฉ๋๋ค. ์ง์์ ์ผ๋ก 300 ๋ฏธ๋ง์ด๋ฉด ์ธ์คํด์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ์ด ๋์ ๊ฒ์ผ ์ ์์ต๋๋ค. ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ์ฌPage life expectancy
๋ฅผ ๋ชจ๋ํฐ๋งํ์ธ์.SELECT [object_name], [counter_name], [cntr_value] FROM sys.dm_os_performance_counters WHERE [object_name] LIKE '%Manager%' AND [counter_name] = 'Page life expectancy'
Memory Grants Pending
ํ๋๊ทธ๋ฅผ ํ์ธํฉ๋๋ค.Memory Grants Pending
์ ์์ ๊ณต๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถ์ฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ด ํ๋ก์ธ์ค ์๋ฅผ ์ง์ ํฉ๋๋ค. ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ์ฌMemory Grants Pending
์ ํ์ธํฉ๋๋ค. ์ด ์ฟผ๋ฆฌ์์ ๊ถํ ๋ถ์ฌ๊ฐ ๊ณ์ํด์ ๋๊ธฐ ์ค์ผ๋ก ํ์๋๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ์ด ๋์ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๊ธฐ๋ฅผ ์ฟผ๋ฆฌํ๊ณ ๋ฉ๋ชจ๋ฆฌ์์ ๋๊ธฐ ์ค์ธ ๋ฌธ์ ์กฐ์ ํ์ฌ ์ฌ์ฉ๋ฅ ์ ์ค์ผ ์ ์์ต๋๋ค.SELECT @@SERVERNAME AS [Server Name], RTRIM([object_name]) AS [Object Name], cntr_value AS [Memory Grants Pending] FROM sys.dm_os_performance_counters WITH(NOLOCK) WHERE [object_name] LIKE N'%Memory Manager%' -- Handles named instances AND counter_name = N'Memory Grants Pending'