Python+SQLAlchemy — работа с использованием памяти для базы данных в памяти ⇐ Python

Программы на Python
Anonymous
Python+SQLAlchemy — работа с использованием памяти для базы данных в памяти

Сообщение Anonymous »

У меня есть приложение Flask с базой данных, которая выглядит так:

Код: Выделить всё

class Talk(db.Model):
__tablename__ = 'talk'

talkId = db.Column(db.String, primary_key=True)
_id = db.Column(db.String)
talkName = db.Column(db.String)
talkOrigin = db.Column(db.String)
где находится база данных

Код: Выделить всё

db = SQLAlchemy()
БД инициализируется при запуске приложения с помощью uri

Код: Выделить всё

'sqlite://'
В эту таблицу я добавляю/изменяю/записываю примерно 1500 операций в секунду в течение нескольких секунд, затем следует минута бездействия, а затем снова 1500 операций в течение нескольких секунд. Похоже, что это приложение увеличивает объем памяти до 150 МБ в стабильном состоянии, когда я совершаю транзакции, а затем стабилизируется на уровне 150 МБ и остается там, даже когда таблица пуста. Само по себе это не вызывает большого беспокойства, поскольку у меня осталось много памяти, но я пытаюсь понять, почему этот фрагмент памяти остается такого размера. Судя по тому, что я могу прочитать, эта память выделяется по мере необходимости для хранения новых записей, но не высвобождается обратно в ОС, поскольку она может понадобиться снова (если я не запускаю вакуум?)
Могу ли я ограничить объем памяти, которую может использовать база данных? Есть ли способ более активно восстановить память? Я видел 2 рекомендации.
  • запустите gc.collect()

    < li>запустите sqlite-вакуум/вакуум+анализ


Подробнее здесь: https://stackoverflow.com/questions/790 ... y-database

Вернуться в «Python»