2012-04-11 2 views
3

Не могли бы вы рассказать, как сбросить кэш mongodb, чтобы убедиться, что результаты запроса не из кеша? Теперь я пытаюсь выполнить перезагрузку сервера: sudo reboot. Есть ли другой способ? Спасибо.Как сбросить кеш mongodb

+0

Это не должно происходить по умолчанию. Какой драйвер вы используете для подключения? У вас есть набор реплик или он автономный? –

+0

Не могли бы вы объяснить, что вы имеете в виду: «Это не должно происходить по умолчанию». – Oleg

+0

Я использую php-драйвер с mongodb, я хочу убедиться, что данные не получены из кеша или что-то вроде этого, чтобы оценить время выполнения запроса. – Oleg

ответ

3

MongoDB сам по себе не обрабатывает кеширование. Вместо этого его поддерживает менеджер виртуальной памяти ОС, поскольку MongoDB использует файлы Memory Mapped. См.: Mongodb.org

Я не гуру Linux, но для целей создания, когда я хотел обеспечить полностью чистый кеш, я перезагрузился, так как это казалось тем, что имело значение.

Я предполагаю, что вы хотите сделать это по причинам тестирования DEV/производительность, а не для производственных целей тоже ...

Update:
Проверить эту ссылку: http://www.linuxask.com/questions/how-to-clear-cache-from-memory-in-linux

+0

Я перезагружаю его сейчас, чтобы убедиться, что результаты не берутся для кеша, чтобы попытаться оценить, сколько времени требуется для запроса данных. Вы имеете в виду, что единственным способом сброса кеша является перезагрузка Linux? – Oleg

+0

Я прочитал эту ссылку раньше, но я не понял ее, если необходимо перезагрузить Linux для сброса кеша или есть другой способ. – Oleg

+0

@ user366534 - Если эта ссылка не помогает, то самое лучшее, что я могу проверить на форумах mongodb, где парни 10gen часто скрываются. Я далек от эксперта по Linux, так что это действительно из моего знания пояс :) – AdaTheDev

5

Ниже user366534 годов комментарии, сделайте следующее:

  • остановка mongod
  • ш -с «синхронизации; эхо 3>/Труды/SYS/VM/drop_caches»
  • начало mongod