Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Доброе утро коллеги! Скажите пожалуйста где я могу найти ответы на 2 следующих вопроса: 1. зачем mssql много оперативки? и если у него будет много оперативки, будет ли запрос выполнятся быстрее или главное быстрые диски? 2. Что такое I/O можно ли как то узнать заранее, сколько будет выполнятся запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 08:44 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Воландар, 1) Потому что он читает все данные из кеша, чем туда больше влезит тем меньше надо читать с диска. Нет и Нет. 2) Никак, пока его не выполнишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 08:50 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
2a. http://www.webopedia.com/TERM/I/I_O.html 2b. нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:00 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Воландар, первый раз данные будут читаться с диска, и чем быстрее диски, тем быстрее они прочитаются. При последующих чтениях чем больше оперативки, тем больше шансов, что данные останутся в кэше и будут читаться не с дисков, а из памяти, что сильно быстрее. для OLTP систем процент данных, читаемых из памяти, должен приближаться к 100, т.е. вся оперативная информация, используемая в запросах, должна быть в кэше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:18 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Minamoto, автордля OLTP систем процент данных, читаемых из памяти, должен приближаться к 100, т.е. вся оперативная информация, используемая в запросах, должна быть в кэше. окак, а что ж тогда эти oltp делают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:20 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
TaPaKMinamoto, автордля OLTP систем процент данных, читаемых из памяти, должен приближаться к 100, т.е. вся оперативная информация, используемая в запросах, должна быть в кэше. окак, а что ж тогда эти oltp делают?Не понял вашего вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:21 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Minamoto, Он не приближается к 100%, там и есть 100%. И она не то что должна быть в кеше, она только там и есть (чисто технически данные еще есть в СFP но эти файлы нужны только для обеспечения durability и увелечении скорости загрузки данных после старта). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:35 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
aleksrovMinamoto, Он не приближается к 100%, там и есть 100%. И она не то что должна быть в кеше, она только там и есть (чисто технически данные еще есть в СFP но эти файлы нужны только для обеспечения durability и увелечении скорости загрузки данных после старта). Ну как бы первое чтение идет с диска, поэтому наличие одного чтения с диска автоматически лишает вас 100%. Вопрос в степени приближения к этим 100%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:37 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
aleksrovMinamoto, Он не приближается к 100%, там и есть 100%. И она не то что должна быть в кеше, она только там и есть (чисто технически данные еще есть в СFP но эти файлы нужны только для обеспечения durability и увелечении скорости загрузки данных после старта).Блаженны те, у кого база в памяти помещается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:52 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Ну имелась ввиду таблица, в не вся БД :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:56 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
aleksrovГавриленко Сергей Алексеевич, Ну имелась ввиду таблица, в не вся БД :) с чего это вдруг таблица в 400Гб поместится в 56Гб памяти, например? не надо выдавать желаемое за действительное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 10:59 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
o-o, Хотел написать, что или я вас не понимаю или вы меня, но перечитал тему и понял, что надо пойти попить кофе :) Я почему то подумал про In memory OLTP, а не OLTP системе в целом, в общем мягко говоря мне привиделось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 11:47 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
aleksrovo-o, Хотел написать, что или я вас не понимаю или вы меня, но перечитал тему и понял, что надо пойти попить кофе :) Я почему то подумал про In memory OLTP, а не OLTP системе в целом, в общем мягко говоря мне привиделось. ...а я еще думаю, при чем тут CFP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 11:53 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за ответы. Если оперативка не нужна, то нужно ли процов побольше, чтобы в паралелить запросы? Или достаточно SSD дисков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 20:10 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Воландар, Вы сообщения не читаете чтоли? Оперативка нужна и чем ее больше тем лучше. Самым узким местом обычно является подсистема ввода-вывода, чем быстрее будут диски тем лучше, но это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом. Сегодня вам может хватать 10 Гб для буффер пула, завтра у вас вырастут базы и те 10 гб что были покажутся просто пшиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 23:47 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
ВоландарСпасибо большое за ответы. Если оперативка не нужна, то нужно ли процов побольше, чтобы в паралелить запросы? Или достаточно SSD дисков? Гы :) А Вы задавались вопросом какова скорость чтения с SSD и какова из RAM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 00:17 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
авторно это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом Не совсем верно: https://support.microsoft.com/en-us/help/2413549/using-large-amounts-of-memory-can-result-in-an-inefficient-plan-in-sql-server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 10:53 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовавторно это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом Не совсем верно: https://support.microsoft.com/en-us/help/2413549/using-large-amounts-of-memory-can-result-in-an-inefficient-plan-in-sql-server Это статья к описанию трейс-флага. Видимо, какие-то маргинальные запросы себя так ведут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 12:20 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, не то, чтобы маргинальные. Факт подобного поведения был при переезде на другой сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 12:32 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
И еще вопрос: Как узнать сколько всего памяти SQL Server потребляет одна конкретная сессия с учетом кэша? И возможно ли это в принципе? Ведь большинство памяти - это кэш БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 09:16 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
т.е. есть ли такой запрос, который четко покажет: spid такой-то в данный момент отъел 100 Гб памяти, а spid секой-то 1 кб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 09:19 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
Воландар, Вы можете посмотреть через sys.dm_exec_query_memory_grant сколько памяти потребовалось именно этому запросу для выполнения, так помимо прочего сколько требовалось, сколько дано, сколько использовано. Но это не имеет отношения к данным в кэше. В кэше лишь страницы с которыми работает SQL, они могут там быть или могут не быть (в последнем случае он должен будет их прочитать и туда поместить). Вот написанно что такое memory grant . Grant parameters When SQL server creates a compiled plan, it calculates two memory grant parameters called "required memory" and "additional memory". •Required memory: Minimum memory needed to run sort and hash join. It is called required because a query would not start without this memory available. SQL server uses this memory to create internal data structures to handle sort and hash join. •Additional memory: Amount needed to store all temporary rows in memory. This depends on the cardinality estimate (expected number rows and average size of row). This is called additional because a query can survive lack of such memory by storing part of temporary rows on hard disk. A query is not guaranteed to have the full amount if the total exceeds preset limit. Вы можете посмотреть сколько clean\dirty страниц в кэше в разрезе БД, но насколько я знаю, что это за страницы, какой запрос и какая сессия их туда поместила посмотреть нельзя (во всяком случае стандартными средствами) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 09:37 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
ВоландарИ еще вопрос: Как узнать сколько всего памяти SQL Server потребляет одна конкретная сессия с учетом кэша? И возможно ли это в принципе? Ведь большинство памяти - это кэш БД.Кэш данных не принадлежит какому либо пользователю/запросу/сессии и напрямую ими не особо то контролируется, это как бы общая память, поэтому невозможно получить то что вы хотите. Да и вообще, судя по вашим вопросам, если оно уже работает, то я на вашем месте лучше бы ничего не трогал. А если у вас какая то проблема, то лучше бы вы проблему описали, либо начните с прочтения хотя бы одной книги о том как работает SQL Server и зачем ему память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 00:41 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
ВоландарИ еще вопрос: Как узнать сколько всего памяти SQL Server потребляет одна конкретная сессия с учетом кэша? И возможно ли это в принципе?Такой же вопрос: Как узнать сколько всего места для данных на диске потребляет одна конкретная пользовательская сессия SQL Server? Ответ - узнать это невозможно, потому что сессия - это поток выполнения команд, команды обращаются к памяти и файлам, и разделать использование памяти и диска по сессиям невозможно, т.к. команды из разных сессий могут обращаться к одному и тому же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 10:11 |
|
||
|
2 общих вопроса
|
|||
|---|---|---|---|
|
#18+
felix_ffВоландар, Вы сообщения не читаете чтоли? Оперативка нужна и чем ее больше тем лучше. Самым узким местом обычно является подсистема ввода-вывода, чем быстрее будут диски тем лучше, но это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом. Сегодня вам может хватать 10 Гб для буффер пула, завтра у вас вырастут базы и те 10 гб что были покажутся просто пшиком. Только оно, если не энтерпрайз, больше 64 Гб (128 в случае 2016SP1) - всё равно не сожрёт. Ну под репортинг сервис там или еще что - конечно, но не под сам сервер. А так то да, конечно. Всего и побольше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39466446&tid=1690062]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 401ms |

| 0 / 0 |
