Я хотел бы знать, если при запуске запроса содержимое базы данных находится в ОЗУ моей системы. Набор данных составляет около 4,1 гб, моя машина имеет 8 гб оперативной памяти. Я читаю с диска каждый раз, когда запускаю запрос SELECT
или UPDATE
?Как узнать, работает ли моя база данных Postgres 9.2 в памяти?
ответ
Все системы позволяют отслеживать активность ввода-вывода. Таким образом, вы можете использовать средства мониторинга системы - например, для Linux используется iotop.
Если этот запрос является единственным активным хостом в системе, используйте системные средства (vmstat, sar), чтобы увидеть, есть ли всплеск в IO, когда он выполняется. Если будет много других вещей, может быть очень сложно понять, чего вы хотите, поскольку нет простого способа отличить данные, фактически прочитанные с диска, из данных, считываемых из кеша файловой системы ОС. Вы можете включить track_io_timing и посмотреть, согласуются ли полученные результаты с данными, поступающими из ОЗУ.
Помимо мониторинга активности IO, как другие предложили, вы также можете запустить запрос, чтобы воспользоваться отслеживанием статистики PostgreSQL.
В следующем запросе будет отображаться частота попадания в кеш. Если вы нажмете только кеш, скорость попадания должна быть где-то около 0,99 или выше, если вы делаете много дисков, это будет ниже.
SELECT
sum(heap_blks_read) as heap_read,
sum(heap_blks_hit) as heap_hit,
sum(heap_blks_hit)/(sum(heap_blks_hit) + sum(heap_blks_read)) as ratio
FROM
pg_statio_user_tables;
Этот запрос, и другие запросы производительности могут быть найдены here
Он также может посмотреть здесь официальный документ о коллекции статистики: http://www.postgresql.org/docs/9.1/static/monitoring-stats.html –
Это обеспечивает асимметричную информацию. Если скорость попадания очень высока, вы знаете, что это происходит из памяти. Но если он низкий, вы не знаете, действительно ли он идет с диска или поступает из кэша, управляемого ОС. – jjanes
- 1. Где моя база данных находится в postgres?
- 2. Как узнать, находится ли моя база данных в сериализованном режиме?
- 3. Как узнать, соответствует ли моя кодовая база?
- 4. Моя база данных не работает
- 5. Postgres 9.2 pg_largeobject tablespace
- 6. вертикальное разбиение базы данных в postgres 9.2
- 7. Postgres 9.2 забыл пароль
- 8. NHibernate - как узнать, успешно ли работает база данных?
- 9. Спящий режим в памяти данных + база данных
- 10. Как узнать, где моя ценность в памяти?
- 11. База данных Heroku Postgres
- 12. Автоанализ не работает для всех таблиц в базе Postgres 9.2
- 13. Где моя база данных sqlite?
- 14. Postgres как база данных по умолчанию в Processmaker
- 15. Как называется моя база данных разработки?
- 16. Моя база данных нормализована?
- 17. Зашифрована ли моя зашифрованная база данных AWS?
- 18. Работает ли моя Vertica в памяти?
- 19. Как узнать, изменилась ли запись в Postgres
- 20. Как узнать, поддерживает ли моя связь с базой данных/нет?
- 21. Как узнать доступность типа данных в Postgres
- 22. Как я могу узнать, находится ли моя база данных в стабильном состоянии?
- 23. База данных с именем «postgres»
- 24. Моя база данных остается пустой :(
- 25. База данных Web SQl Где моя база данных
- 26. Легкая база данных в памяти
- 27. Проверьте, работает ли база данных или нет.
- 28. Моя база данных не сэкономит
- 29. где моя база данных Android?
- 30. Почему не работает моя база данных базы данных enitity
Вы, безусловно, будете ударять диск с 'UPDATE', как база данных не будут ACID требований, если он писал только в память, как память не (D в ACID). – CadentOrange