Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Использование CPU Ресурсов Sql server, память.  [new]
Алекс1990
Guest
Привет всем!

Пытаюсь понять как Sql server использует процессор. Как он грузит ядра и т.д. Буду благодарен любой информации по теме)

Конечная цель - понять, сколько мне нужно ядер и RAM памяти.

Допустим, есть 30 потенциальных ETL процессов загрузки данных в базу данных Sql server. База данных располагается на рейде с последовательной скоростью записи в 400 MD/s. Допустим процессы никак не модифицируют данные и загружают в чистом виде. Сколько нужно ядер и памяти, чтобы уперется в производительность дисков ?)

Процесс который загружает данные - кеширует их в буфферном пулле. Затем вынимает из пула и кладет на диск при checkpoin'е. Как при этом используется процессор ? Что он делает ?:) Сколько нужно ядер скажем, чтобы память в 128 Гб была оптимально загружена ? И правильно понимаю, что каждая транзакция лочит своим выполнением один поток процессора ? :)

Надеюсь тема покажется кому-нить интересной)
17 мар 14, 22:11    [15741796]     Ответить | Цитировать Сообщить модератору
 Re: Использование CPU Ресурсов Sql server, память.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32167
Алекс1990
Допустим, есть 30 потенциальных ETL процессов загрузки данных в базу данных Sql server. База данных располагается на рейде с последовательной скоростью записи в 400 MD/s. Допустим процессы никак не модифицируют данные и загружают в чистом виде. Сколько нужно ядер и памяти, чтобы уперется в производительность дисков ?)
2 ядра.
Алекс1990
Процесс который загружает данные - кеширует их в буфферном пулле. Затем вынимает из пула и кладет на диск при checkpoin'е. Как при этом используется процессор ? Что он делает ?:) Сколько нужно ядер скажем, чтобы память в 128 Гб была оптимально загружена ?
Никакой корреляции количества ядер и размера памяти нет.
Алекс1990
И правильно понимаю, что каждая транзакция лочит своим выполнением один поток процессора ? :)
Транзакции лочат ресурсы.
Ну и вобще, транзакция - логическое понятие, одна транзакция может использовать много потоков.
Алекс1990
Пытаюсь понять как Sql server использует процессор. Как он грузит ядра и т.д. Буду благодарен любой информации по теме)
MSSQL содержит некое ядро, называемое SQLOS, которое предоставляет базовые ресурсы (процессор, память, IO) остальному коду ядра сиквела, так что ищите по этому слову.

Например, почитайте блог MS SQLOS team: http://blogs.technet.com/b/sqlos/
Вот ещё примеры статей:
http://itband.ru/2010/06/sql-server-2008-r2-numa/
https://www.sql.ru/articles/mssql/2005/032403sqlossmemorymanagerandbufferpool.shtml
17 мар 14, 22:22    [15741849]     Ответить | Цитировать Сообщить модератору
 Re: Использование CPU Ресурсов Sql server, память.  [new]
Алекс1990
Guest
alexeyvgСпасибо! ссылки обязательно изучу
alexeyvg
2 ядра.

вот как вы это так легко поняли и как это можно аргументировать?
17 мар 14, 22:46    [15741987]     Ответить | Цитировать Сообщить модератору
 Re: Использование CPU Ресурсов Sql server, память.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32167
Алекс1990
alexeyvg
2 ядра.

вот как вы это так легко поняли и как это можно аргументировать?
Это рекомендация микрософтовских сотрудников из сиквельной группы - если нет сложной обработки данных (например, скан таблицы, загрузка), то одно ядро обрабатывает данные со скоростью 200 MB/сек

Наверное, можно найти в блоге SQLCAT.
Есть так называемая "архитектура FastTrack". Это методология планирования и разработки ETL/DWH на MSSQL как раз с точки зрения производительности, и с точки зрения построения сбалансированной систесмы, где никакие части не будут простаивать.

Поищите по ключевым словам SQLCAT, FastTrack.

Вот например цитата из лекции: "Сделали вывод, что SQL Sever 2008 на нынешней x64 ядерной платформе потребляет ~200 MB/Sec на ядро в среднем для такого типа загрузки"
Отсюда: http://rpp.nashaucheba.ru/docs/index-33886.html
17 мар 14, 23:20    [15742135]     Ответить | Цитировать Сообщить модератору
 Re: Использование CPU Ресурсов Sql server, память.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32167
alexeyvg
Наверное, можно найти в блоге SQLCAT.
Да, забыл ссылку: http://blogs.msdn.com/b/sqlcat/
Раньше у них был сайт SQLCAT.COM, к сожалению, он сейчас пропал вместе с контентом на русском языке :-(
Английский контент перенесён.
17 мар 14, 23:24    [15742151]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить