|
PostgreSQL - кэширование данных в памяти
|
|||
---|---|---|---|
#18+
Вычитал в статье А.Борзова (SadSpirit) В принципе раньше знал об этом, но вот понять как это происходит не могу. [quote] PostgreSQL не читает данные напрямую с диска и не пишет их сразу на диск. Данные загружаются в общий буфер сервера, находящийся в разделяемой памяти, серверные процессы читают и пишут блоки в этом буфере, а затем уже изменения сбрасываются на диск [/quote] то есть? Инфа со всех таблиц при запуске сервера читается в буфер? Сколько позволит shared_buffers столько он и прочтет в кэш? А по какому принципу он читает данные - из каких файлов таблиц? По порядку их расположения в директории? По-моему, в Developers Guide что-то было об этом, но не так подробно. Буду благодарен если своими словами воспроизведете этот процесс. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 13:22 |
|
PostgreSQL - кэширование данных в памяти
|
|||
---|---|---|---|
#18+
Ну я не думал, что это будет настолько непонятно... Естественно, при запуске сервера в буфер ничего не читается. Читаются данные тогда, когда они реально нужны (т.е. когда выполняется запрос, которому они нужны). Т.е. процессу нужны данные из таблицы foo: он их ищет в буфере. Если есть --- хорошо. Нет --- запрос к ядру ОС, оно их ищет в своём кэше --- если есть, то отдаёт, если нет --- читает с диска. В буфере PostgreSQL оседают наиболее часто используемые данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 15:20 |
|
PostgreSQL - кэширование данных в памяти
|
|||
---|---|---|---|
#18+
ну в общем - то непонятно тому, у кого опыта мало, и кто плохо разбирается пока в принципах работы ОС. Спасибо за ответ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 17:00 |
|
PostgreSQL - кэширование данных в памяти
|
|||
---|---|---|---|
#18+
а реально как-то просмотреть , что за данные хранятся в буфере? а mySQL по такому же принципу работает или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 17:03 |
|
PostgreSQL - кэширование данных в памяти
|
|||
---|---|---|---|
#18+
Zimbabwe а реально как-то просмотреть , что за данные хранятся в буфере? Средствами SQL ?! Никак. Да и зачем?? Zimbabwe а mySQL по такому же принципу работает или нет? Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 18:12 |
|
PostgreSQL - кэширование данных в памяти
|
|||
---|---|---|---|
#18+
ну как зачем. для общего развития и для понимания того как работает Postgres ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2004, 19:20 |
|
PostgreSQL - кэширование данных в памяти
|
|||
---|---|---|---|
#18+
Ну для этого вообщето есть средства отладки. возможность подсматривать в буффер наверняка приведет к куче дырок и уязвимостей "Оно вам надо?" Примерно так мне ответили когда я возжаждал получить доступ к тексту запроса вызвавшего ХП из самой ХП. Мне тутже рассказали что это антисекьюрно . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2004, 16:37 |
|
|
start [/forum/topic.php?fid=53&msg=32373465&tid=2007994]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 446ms |
0 / 0 |